[Bug]: Plan sidebar stays empty on Claude 5 models — Claude Code no longer exposes the Task tools by default
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 86/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- backend
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.
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.
- Dominant language
- TypeScript
- Stars
- 23.3k
- Forks
- 6k
- Avg merge
- 10h 57m
- Merged PRs (30d)
- 365
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.
More from pingdotgg/t3code
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
accepted bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
accepted bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
accepted bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
All issues in pingdotgg/t3code
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
danielmiessler/LifeOS#2218 ·