[Bug]: Plan sidebar stays empty on Claude 5 models — Claude Code no longer exposes the Task tools by default
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
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
- Start a new thread on the Claude provider with a Claude 5 family model (Fable 5, Sonnet 5, Opus 5; bundled Claude Code 2.1.252).
- Ask for multi-step work and request progress tracking with tasks.
- Watch the plan sidebar.
Expected behavior
Task updates stream into the plan sidebar, as they did after #1541 and as Codex plan steps do.
Actual behavior
The sidebar never populates. The session's init event lists no TaskCreate/TaskUpdate/TaskList tools, so the server's mapping to turn.plan.updated has nothing to consume.
Per Anthropic's docs (https://code.claude.com/docs/en/agent-sdk/todo-tracking#model-availability), Agent SDK 0.3.233+ leaves the task-tracking tools out of sessions on Opus 4.8, Sonnet 5, Fable 5, and Mythos 5 unless the embedding application opts in. TodoWrite is gone in the same versions, so both branches of the #1541 mapping are dead for Claude 5 sessions. Haiku 4.5 sessions still get the tools, confirming the model gate. The docs direct applications that render these tool calls to set CLAUDE_CODE_ENABLE_TODO_TOOLS=1.
Suggested fix
Set CLAUDE_CODE_ENABLE_TODO_TOOLS=1 in the Claude session environment (makeClaudeEnvironment). Verified locally against the bundled binary: with the variable set (via env or a Claude settings.json env map), a Fable 5 session exposes TaskCreate/TaskGet/TaskList/TaskUpdate and the sidebar populates again through the existing mapping, with no client changes.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/server and locate makeClaudeEnvironment, then inspect how Claude session environment variables are assembled. Set CLAUDE_CODE_ENABLE_TODO_TOOLS=1 and reproduce a Claude 5 session with multi-step work. Done means Task tools appear in the init event and updates populate the existing plan sidebar without client changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 86/100