diff --git a/golden/cmd/skiacorrectness/main.go b/golden/cmd/skiacorrectness/main.go
index b3e6712..a87c979 100644
--- a/golden/cmd/skiacorrectness/main.go
+++ b/golden/cmd/skiacorrectness/main.go
@@ -654,7 +654,7 @@
 }
 
 const basicCLTemplate = `Gold has detected about %d untriaged digest(s) on patchset %d.
-Please triage them at %s/search?issue=%s.`
+Please triage them at %s/cl/%s/%s`
 
 const chromeCLTemplate = basicCLTemplate + `
 
diff --git a/golden/go/code_review/commenter/commenter.go b/golden/go/code_review/commenter/commenter.go
index 47e142e..56dd9be 100644
--- a/golden/go/code_review/commenter/commenter.go
+++ b/golden/go/code_review/commenter/commenter.go
@@ -162,19 +162,20 @@
 // maybeCommentOn either comments on the given CL/PS that there are untriaged digests on it or
 // logs if this commenter is configured to not actually comment.
 func (i *Impl) maybeCommentOn(ctx context.Context, cl code_review.ChangeList, ps code_review.PatchSet, untriagedDigests int) error {
+	crs := i.crs.System()
 	if i.logCommentsOnly {
-		sklog.Infof("Should comment on CL %s with message %s", cl.SystemID, i.untriagedMessage(cl, ps, untriagedDigests))
+		sklog.Infof("Should comment on CL %s with message %s", cl.SystemID, i.untriagedMessage(crs, cl, ps, untriagedDigests))
 		return nil
 	}
-	if err := i.crs.CommentOn(ctx, cl.SystemID, i.untriagedMessage(cl, ps, untriagedDigests)); err != nil {
+	if err := i.crs.CommentOn(ctx, cl.SystemID, i.untriagedMessage(crs, cl, ps, untriagedDigests)); err != nil {
 		return skerr.Wrapf(err, "commenting on %s CL %s", i.crs.System(), cl.SystemID)
 	}
 	return nil
 }
 
 // untriagedMessage returns a message about untriaged images on the given CL/PS.
-func (i *Impl) untriagedMessage(cl code_review.ChangeList, ps code_review.PatchSet, untriagedDigests int) string {
-	return fmt.Sprintf(i.messageTemplate, untriagedDigests, ps.Order, i.instanceURL, cl.SystemID)
+func (i *Impl) untriagedMessage(crs string, cl code_review.ChangeList, ps code_review.PatchSet, untriagedDigests int) string {
+	return fmt.Sprintf(i.messageTemplate, untriagedDigests, ps.Order, i.instanceURL, crs, cl.SystemID)
 }
 
 // updateCLInStoreIfAbandoned checks with the CRS to see if the cl is still Open. If it is, it
diff --git a/golden/go/code_review/commenter/commenter_test.go b/golden/go/code_review/commenter/commenter_test.go
index 1bba1b5..889b9e9 100644
--- a/golden/go/code_review/commenter/commenter_test.go
+++ b/golden/go/code_review/commenter/commenter_test.go
@@ -228,11 +228,11 @@
 		if i == 3 {
 			// On CL 0003, the most recent patchset with untriaged digests has order 4.
 			assert.Contains(t, msg, "patchset 4")
-			assert.Contains(t, msg, "gold.skia.org/search?issue=0003")
+			assert.Contains(t, msg, "gold.skia.org/cl/github/0003")
 		} else if i == 7 {
 			// On CL 0007, the most recent patchset with untriaged digests has order 9.
 			assert.Contains(t, msg, "patchset 9")
-			assert.Contains(t, msg, "gold.skia.org/search?issue=0007")
+			assert.Contains(t, msg, "gold.skia.org/cl/github/0007")
 		} else {
 			assert.Fail(t, "unexpected call")
 		}
@@ -526,7 +526,7 @@
 const (
 	instanceURL   = "gold.skia.org"
 	basicTemplate = `Gold has detected about %d untriaged digest(s) on patchset %d.
-Please triage them at %s/search?issue=%s.`
+Please triage them at %s/cl/%s/%s.`
 )
 
 var (
diff --git a/golden/modules/changelists-page-sk/changelists-page-sk.js b/golden/modules/changelists-page-sk/changelists-page-sk.js
index 2220009..6366ef4 100644
--- a/golden/modules/changelists-page-sk/changelists-page-sk.js
+++ b/golden/modules/changelists-page-sk/changelists-page-sk.js
@@ -39,7 +39,7 @@
     ${_statusIcon(cl)}
   </td>
   <td>
-    <a href="/search?issue=${cl.id}"
+    <a href="/cl/${cl.system}/${cl.id}"
        target="_blank" rel="noopener">Triage</a>
   </td>
   <td class=owner>${cl.owner}</td>
