pingdotgg / pingdotgg/t3code

[Bug]: Plan sidebar stays empty on Claude 5 models — Claude Code no longer exposes the Task tools by default

Open Beginner friendly
#9,029 1 comment 0 reactions 0 assignees View on GitHub

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
  1. 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).
  2. Ask for multi-step work and request progress tracking with tasks.
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.