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.
Activity
Deepnar commentedon Sep 1, 2026
I'd like to take this as a small server-side bug fix. I'll verify
makeClaudeEnvironmentis the single session-environment boundary, enableCLAUDE_CODE_ENABLE_TODO_TOOLS=1for Claude sessions, add focused regression coverage for the generated environment, and keep the existing plan-event mapping and UI unchanged. I'll run the focused server tests and lint before opening a small PR.Squashed '.repos/effect-smol/' changes from a43c7e244c..e17ecdbe90
Ossiam commentedon Nov 5, 2026
I don't understand, even after setting the env variables the plan sidebar doesn't show up. It regressed again?