Skip to content

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

@TimCrooker

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.

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