[BUG] Built-in task tools (TaskCreate/TaskUpdate/TaskList/TaskGet) completely absent from Opus 4.8 / Fable 5 *interactive* sessions — not deferred, not loadable via ToolSearch; server-side change ~2026-07-20, undocumented
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Since the evening of 2026-07-20, interactive TUI sessions on Opus 4.8 and Fable 5 no longer have the built-in task tools (TaskCreate/TaskUpdate/TaskList/TaskGet) at all. They are missing from both the immediately-callable toolset and the deferred-tools registry, and ToolSearch cannot load them ("select:TaskCreate,TaskUpdate" → "No matching deferred tools found"). There is no error, banner, changelog entry, or docs change — the tools are silently gone and the TUI's todo list stays permanently empty.
Every other session type on the same machine, same config, still has the tools (deferred behind ToolSearch, per the v2.1.69 behavior):
| Session type | TaskCreate/TaskUpdate |
|---|---|
| Haiku interactive TUI (remote control on or off) | ✅ present (deferred) |
| Haiku -p (headless) | ✅ present — verified fully functional end-to-end (ToolSearch loads it, TaskCreate writes ~/.claude/tasks/<session>/, hooks fire) |
| Fable 5 -p (plain, --effort max, or --dangerously-skip-permissions) | ✅ present (deferred) |
| Fable 5 interactive TUI (plain and flagged) | ❌ absent — ToolSearch finds nothing |
| Opus 4.8 interactive TUI (--effort max --dangerously-skip-permissions) | ❌ absent — ToolSearch finds nothing |
The trigger is specifically the model × interactive combination. Flags, permission mode, effort level, and remote control were each isolated and are not the variable.
What Should Happen?
Task tools available (at least deferred) in every session type, consistent with current docs — the tools reference still documents TaskCreate/TaskUpdate as the standard task system (TodoWrite was deprecated in their favor in v2.1.142), and no changelog entry announces a removal. If removal for certain models/session types is intentional, it should be documented and there should be an opt-in to restore them (or a migration path for hook-based task workflows).
Error Messages/Logs
There are none — that is part of the bug (the removal is completely silent). The only observable outputs:
ToolSearch query "select:TaskCreate,TaskUpdate" (in an affected session):
No matching deferred tools found
PostToolUse hook log: last successful TaskCreate/TaskUpdate event 2026-07-20 19:20 UTC, then nothing ever fires again in affected sessions. Models instructed via CLAUDE.md to use TaskCreate simply report the tool does not exist.
Steps to Reproduce
claude --model fable(interactive TUI). Ask: "Does TaskCreate appear in your immediately-callable or deferred tool lists?" → NO. Then: "Call ToolSearch with query select:TaskCreate,TaskUpdate" → "No matching deferred tools found".- Control: same machine,
claude -p "<same two questions>" --model fable→ tools present in the deferred list; ToolSearch loads them; TaskCreate succeeds (task JSON written, hooks fire). - Control:
claude --model haiku(interactive) → tools present (deferred). - Repeat step 1 with
--model opus→ same absence.
No special files or config needed — a default user config reproduces it.
Claude Model
Not sure / Multiple models
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.215 (worked until 2026-07-20 ~19:20 UTC). Caveat: the change is server-side — re-running the same retained 2.1.215 binary today exhibits the new behavior, so no client version "works" anymore. strings comparison across 2.1.215/2.1.216/2.1.217 shows identical task-tool identifier counts (no code removal between versions).
Claude Code Version
2.1.217 (Claude Code)
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Windows Terminal
Additional Information
Setup note: Claude Code runs on the Ubuntu 24.04 server itself; I drive it from Windows Terminal over SSH (hence OS = Ubuntu/Debian Linux, Terminal = Windows Terminal). Auth is a Claude.ai subscription (Claude Max), not an API key — Platform is set to Anthropic API as the closest available option.
Ruled out during diagnosis (to save triage time):
- Permissions/config: no
permissions.deny/disallowedToolson task tools in user/local settings; no managed settings; per-projectallowedToolsempty. - Env vars: nothing task/todo-related set in any live session env (checked /proc/<pid>/environ).
CLAUDE_CODE_ENABLE_TASKSunset — the binary's check only force-disables when explicitly false. - Flags:
--effort maxand--dangerously-skip-permissionseach tested in-pfable sessions — tools still present. - Remote control:
remoteControlAtStartuptested true and false — Haiku TUI has the tools either way. - isTTY gating (#23874): inverted here — non-TTY
-psessions HAVE the tools; TTY interactive sessions lack them. - Hooks: cannot remove tools; full task pipeline verified end-to-end healthy in a
-psession. - Resume: resuming a pre-2026-07-20 session that had used the tools rebuilds its toolset under the new behavior — it loses them on resume.
Impact: users with automation built on these tools break invisibly — PreToolUse/PostToolUse hooks matched on TaskCreate|TaskUpdate (guards, mirrors into external task stores/dashboards) never fire again. In our case ~44h of work went completely untracked before diagnosis, because nothing errors. The failure mode is indistinguishable from "the model ignoring instructions."
Questions: Is this intentional harness composition for the Claude 5-generation models in interactive mode, or a session-type gating bug? If intentional, please document it (changelog + tools reference) and provide an opt-in to restore the tools — related requests #54716 and #66073 were closed not-planned, and this removal makes that need concrete. For clarity: this is NOT about the known v2.1.69 deferral of built-in tools behind ToolSearch (#31002) — it's about the tools being entirely absent and unloadable. Happy to provide hook logs, binary strings diffs, and probe transcripts on request.
This reprot was diagnosed and set up by Claude Code CLI, Model Fable 5, Effort Max.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗