Skip to content

[Bug]: Claude TodoWrite updates don't flow to the plan sidebar #1539

Closed

Description

@TimCrooker

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/server

Steps to reproduce

  1. Start a new thread using the Claude provider.
  2. Ask Claude to do something complex enough that it creates a task list (triggers TodoWrite).
  3. Watch the work log and composer toolbar.

Expected behavior

Claude's task list should show up in the plan sidebar, same as Codex plan steps do. The Plan button should appear and the sidebar should open with the task items.

Actual behavior

Nothing happens. The plan sidebar never activates for Claude sessions. TodoWrite calls show up as a generic "File change - TodoWrite: {raw JSON}" line in the work log instead of populating the plan sidebar.

The root cause is that TodoWrite gets classified as file_change in classifyToolItemType because the name contains "write". No turn.plan.updated event is ever emitted, so the plan sidebar has no data to display.

Impact

The plan sidebar is completely non-functional for Claude users. Anyone using Claude as their provider has no visibility into the task list that Claude is actively working through. This is core functionality that works for Codex but is broken for Claude.

Version or commit

main @ a60daa1c

Environment

macOS 24.6.0, Electron desktop app, Bun 1.3.9, Node 24.13.1, Claude provider (claudeAgent)

Logs or stack traces

From provider event log, TodoWrite tool calls show itemType: "file_change":

{
  "type": "item.started",
  "payload": {
    "itemType": "file_change",
    "status": "inProgress",
    "title": "File change",
    "detail": "TodoWrite: {}",
    "data": {
      "toolName": "TodoWrite",
      "input": {}
    }
  }
}

Screenshots, recordings, or supporting files

No response

Workaround

None. There is no way to activate the plan sidebar when using Claude.

Activity

  1. added
    bugSomething is broken or behaving incorrectly.
    needs-triageIssue needs maintainer review and initial categorization.
    on Mar 29, 2026
  2. added a commit that references this issue on Mar 29, 2026
    84deaea
  3. TimCrooker commented on Mar 29, 2026

    @TimCrooker
    ContributorAuthor

    Fix up in #1541.

  4. TimCrooker commented on Mar 30, 2026

    @TimCrooker
    ContributorAuthor

    Been running the fix from #1541 locally as my daily driver for the past day. Prior to this I was switching to Claude Code CLI for anything complex because the lack of task visibility made it hard to follow what Claude was doing. With the fix, tasks stream into the sidebar in real-time and persist across turns -- same experience Codex users get with plan mode, just without requiring plan mode.

    The fix is minimal (8 files, purely additive) and all CI checks are passing. Ready for review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken or behaving incorrectly.needs-triageIssue needs maintainer review and initial categorization.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions