[BUG] Agent-teams task tools (TaskCreate/TaskUpdate/TaskList/TaskGet) withheld from interactive sessions on Sonnet 5 / Fable 5 / Opus 4.8 since ~2026-07-13 — still present on Haiku 4.5 and in all headless sessions

Open 💬 0 comments Opened Jul 14, 2026 by Lumos221

Environment

  • Claude Code 2.1.206 / 2.1.207 / 2.1.208 / 2.1.209 (macOS, Darwin 25.6.0, arm64; Homebrew cask and native builds, binaries checksum-verified)
  • CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 set in ~/.claude/settings.json env
  • Claude Max account

Summary

Since roughly 2026-07-13, the agent-teams shared task-list tool family is absent from interactive sessions whose main model is Sonnet 5, Fable 5, or Opus 4.8. ToolSearch with select:TaskCreate,TaskUpdate,TaskList,TaskGet returns No matching deferred tools found (verbatim), and a keyword sweep surfaces only TaskOutput/TaskStop. Before that date the same sessions used these tools routinely.

The discriminator is the model, not the CLI version:

| Fresh session, same machine/account/settings/day | Haiku 4.5 | Sonnet 5 | Fable 5 | Opus 4.8 |
|---|---|---|---|---|
| Interactive (TUI) | present — TaskList executes (verified on 2.1.206 AND 2.1.208) | absent (2.1.206, 2.1.208, 2.1.209) | absent (2.1.206, 2.1.208) | absent (2.1.206) |
| Headless (claude -p) | present | present | present (incl. [1m]) | — |

Ruled out empirically (same result across all): CLI version (an interactive Sonnet/Fable session lacks the family on 2.1.206 and 2.1.209 alike), permission mode (default/auto), project directory, fresh vs resumed, teammate display backend (in-process/tmux/iterm2), env inheritance (incl. forcing CLAUDE_CODE_ENTRYPOINT=cli headless — still loads them), MCP connectors (a failing session had them unauthenticated), team liveness (spawning a named teammate first changes nothing), and account (two accounts probed per-terminal).

Debug-log evidence (--debug-file diff, same machine, same binary, same account, minutes apart)

Failing interactive Sonnet 5 session (fresh claude, empty project):

[ToolSearch:optimistic] mode=tst, ENABLE_TOOL_SEARCH=undefined, result=true   ← deferral enabled
Dynamic tool loading: 0/55 deferred tools included                            ← registry = 55 tools, task family NOT among them
ToolSearchTool: select failed — none found: TaskCreate, TaskUpdate, TaskList, TaskGet
attribution: cc_version=2.1.208.1a2; cc_entrypoint=cli

Passing headless session (claude -p, haiku):

Dynamic tool loading: 0/19 deferred tools included                            ← registry = 19 tools, task family included and callable
attribution: cc_version=2.1.208.80c; cc_entrypoint=sdk-cli

The same binary file reports two different dynamic config revisions (.1a2 vs .80c), and the failing registry simply omits the family — which reads as a server-delivered feature configuration keyed on the session's main model, i.e. a remote gate rather than a client bug. Filing anyway because (a) the withdrawal was silent and breaks documented behaviour, and (b) the boundary data below may be useful.

Additional observations

  • A haiku teammate of a gated lead gets the full widget: spawned from an interactive Fable 5 session that has no task tools, a --model haiku teammate loads all four via ToolSearch, executes TaskList, and TaskCreate writes to the shared team task list (~/.claude/tasks/session-*/). A one-shot (unnamed) haiku subagent does NOT — it shares the lead's gated registry. Consistent with per-process, model-keyed config fetch.
  • Related doc-behaviour gap: a teammate spawned from a subagent definition with a tools allowlist does NOT get the task tools (or even ToolSearch/SendMessage reliably) unless they are named in the list — the agent-teams doc states "SendMessage and the task management tools are always available to a teammate even when tools restricts other tools", which no longer holds under deferred tool loading.
  • In one long-lived interactive session the tools were present at session start (deferred) and later became unavailable, the harness reporting their internal MCP server as disconnected; after /resume they never return (matches the documented "no session resumption with in-process teammates" limitation — but the fresh-session cases above are not resumes).
  • The tool schemas still ship in the binaries (strings for all four present in 2.1.207/208; the TaskCreate count even grew between them), so this is gating, not removal.
  • Timing coincides with the 2.1.207 agent-teams rework ("removed TeamCreate/TeamDelete... every session now has one implicit team"), though the gate applies to older binaries equally.

Expected

Interactive sessions with agent teams enabled expose the shared task-list tools (directly or via ToolSearch deferral) on all supported models, per code.claude.com/docs/en/agent-teams ("the lead populates a shared task list"; task management tools are always available to teammates). If the family is deliberately paused for some models, surface that state (docs note, changelog line, or an in-session notice) rather than a silent registry omission — downstream, task-driven hooks (PreToolUse/PostToolUse on TaskCreate/TaskUpdate) silently stop firing and workflows built on the shared task list break undebuggably.

Actual

Interactive Sonnet 5 / Fable 5 / Opus 4.8 sessions have no way to load the tools; Haiku 4.5 interactive and all headless sessions do.

Repro

  1. CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 in settings env; any CLI 2.1.206–2.1.209.
  2. claude --model claude-sonnet-5 (fresh interactive session).
  3. Ask: "Call ToolSearch with query select:TaskCreate,TaskUpdate,TaskList,TaskGet, paste the raw result."
  4. Observe No matching deferred tools found.
  5. Same machine: repeat with --model claude-haiku-4-5-20251001 → all four definitions returned and callable.

---

Disclosure: this report was investigated and drafted by Claude (Fable 5) running inside Claude Code, working with the account owner — the probes, transcripts and debug logs above were collected on the owner's machine at their direction.

🤖 Co-authored by @claude (Claude Fable 5, via Claude Code)

View original on GitHub ↗