[FEATURE] Make TodoWrite items clickable to jump to the originating message

Status Closed — not planned
Maintainer reply None cached
Activity 2 comments · opened May 22, 2026 · closed Jun 21, 2026

Summary

TodoWrite items rendered in the VSCode extension sidebar are read-only text. When a conversation produces many todos, there's no way to navigate from a todo to the place in the conversation where it was worked on — you have to scroll up and visually scan for the matching content.

Proposed change

Make each todo item clickable. Clicking a todo would scroll the conversation to the message where the todo was created or last updated (whichever anchor makes most sense).

Implementation could be an optional messageRef field on each todo item, populated by the harness when the status transitions, and rendered as an anchor by the extension UI:

{
  "content": "Run database migration",
  "activeForm": "Running database migration",
  "status": "completed",
  "messageRef": "msg_01abc..."   // set by the harness, not the model
}

Why

For any workflow that produces more than a handful of todos, scrolling back to the relevant message is currently the slowest part of reviewing work after the fact. The todo list already serves as an outline of what happened — clicking through to the detail is the obvious next step.

Non-goals

  • The model shouldn't have to author the ref — it should be stamped by the harness automatically.
  • Backward compatible: skips/no-ops if the field is absent.

Alternatives considered

  • ctrl-F on the message text (works but depends on the model picking findable strings)
  • Persistent todo sidebar panel (#59195) — orthogonal; addresses pinning, not navigation

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗