---
title: "Claude Code Just Deprecated Its Own Todo Tools — On Purpose"
date: 2026-08-16
tags: ["claude-code","changelog","agentic-coding","anthropic","developer-tools"]
categories: ["AI Tools"]
summary: "Claude Code v2.1.233 (Aug 14) quietly turns off the TaskCreate/TodoWrite scaffolding for Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models by default — a signal that planning is becoming native model behavior rather than bolt-on tooling. The same release also adds GitLab merge-request support to worktrees and closes an NTLM credential-leak vector on Windows. Separately, Anthropic confirmed Sonnet 5's $2/$10 introductory pricing is now permanent."
---


![Claude Code Just Deprecated Its Own Todo Tools — On Purpose](/images/claude-code-v2-1-233-todo-tools-deprecated.png)

Buried in the middle of a routine Friday changelog entry is a line that says more about where agentic coding is headed than most product announcements do. Claude Code v2.1.233, shipped August 14, 2026, turns off its own todo-tracking tools by default for the models capable enough not to need them.

## The line that matters

Here's the exact changelog text, straight from [code.claude.com/docs/en/changelog](https://code.claude.com/docs/en/changelog):

> "Todo/task-tracking tools (TaskCreate/Get/Update/List, TodoWrite) are no longer available on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models; set `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` to bring them back."

If you've used Claude Code for agentic work over the past year, you know these tools well. TodoWrite is the mechanism behind the checklist Claude Code prints and updates as it works through a multi-step task — write a plan, mark items in progress, mark them complete, keep the user oriented on long-running sessions. TaskCreate and its siblings are the underlying primitives for tracking discrete units of work across a session. They've been core to how Claude Code communicates its own progress since early in the product's life.

As of this release, on the frontier model tier — Opus 4.8, Sonnet 5, and Anthropic's newer Fable 5 and Mythos 5 lines — those tools are gone unless you explicitly flip them back on.

Anthropic's changelog doesn't explain why, and after checking the Claude Code GitHub release notes, the Sonnet 5 and Claude 4 announcement posts, and Anthropic's own blog for a stated rationale, there isn't one on the record. That's worth being upfront about: what follows is this blog's read of the change, not an Anthropic quote.

## The likely story: planning is moving inside the model

The interesting thing about TaskCreate/TodoWrite is that they were always scaffolding — an external structure imposed on the model to compensate for a gap in what the model could reliably do on its own. Give an LLM a multi-step task with no explicit tracking mechanism, and early agentic models would lose the thread: drop a step, forget what was already done, re-do finished work, or declare victory after step three of seven. TodoWrite was the fix — force the model to externalize its plan into a structured, inspectable list, then force it to update that list as it went.

That's a classic scaffolding pattern, and scaffolding is supposed to come down once the structure underneath can stand on its own. Frontier models a year ago genuinely benefited from being made to write things down. Frontier models today — the ones this deprecation targets — plan and track long-horizon work as an emergent property of better training, not because an external tool forces them to externalize state. If that's what's happening here, deprecating TodoWrite on Opus 4.8+ isn't a feature removal. It's Anthropic's engineering team quietly certifying that their newest models don't need the crutch anymore.

This tracks with a broader pattern this blog has covered before: Anthropic pulled a standalone "planning tool" out of the model lineup once already, back when [Claude 4 shipped](https://www.anthropic.com/news/claude-4) and dropped a separate planning mechanism that Claude 3.7 Sonnet had relied on. The direction has been consistent for over a year — external tools cover a capability gap, the gap closes, the tool disappears. Todo tracking is just the latest scaffold to get pulled.

If your workflow depends on watching that visible checklist update in real time — and plenty of people use it as a proxy for "is the agent actually making progress or stuck" — the fix is trivial: set `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` and you're back to the old behavior. Nothing is deleted, it's opt-in now instead of default.

## The rest of a genuinely busy release

Todo-tool deprecation wasn't the only thing in v2.1.233, and the release sits inside an unusually dense five-day stretch (v2.1.229 through v2.1.233, August 12–14) that's worth a quick tour.

**GitLab keeps catching up to GitHub.** The same release adds GitLab merge-request support to the `--worktree` flag and to the `claude agents` view, where MRs now display with the `!N` convention GitLab users expect instead of GitHub's `#N`. It follows the previous day's release (v2.1.232), which added secret redaction for the full family of GitLab token prefixes (`glrt-`, `gloas-`, `glptt-`, and five others) and brought bare `gitlab.com` repo URLs — including nested subgroups — into plugin marketplace support alongside GitHub. Claude Code has spent 2026 steadily closing the GitHub-first gap, and this is another concrete step rather than a token gesture.

**A quiet Windows security fix.** v2.1.233 also closes a real hole: "Fixed Windows paths spelled with the NT `\??\` device prefix bypassing UNC path validation, closing an NTLM credential-leak vector." Windows has multiple ways to spell the same path — the ordinary `C:\` form, extended-length `\\?\` paths, and the low-level NT device-namespace `\??\` prefix — and path-validation logic that only checks for the common forms can miss the exotic one. An attacker who can get Claude Code to touch a `\??\`-prefixed UNC path could potentially coerce an NTLM authentication handshake against a server they control, leaking credential material in the process. There's no CVE or security advisory attached to this fix — it's not the kind of headline-grabbing disclosure this blog has covered with SymJack, TrustFall, or Ghostjacking. It's the unglamorous, proactive kind: Anthropic finding and closing its own agent's sandbox gap before anyone had to write a "still unpatched three months later" story about it.

**Subagent forking went default the day before.** v2.1.232 also flipped on subagent forking by default — a `subagent_type: "fork"` subagent now inherits the full conversation and prompt cache rather than starting cold, and non-teammate agent spawns in interactive sessions now run in the background automatically. Combined with the `@`-mention cross-session messaging also shipped that day, it's more evidence that Claude Code's multi-agent primitives are maturing past "experimental feature" into default-on infrastructure.

## The other Friday news: Sonnet 5's price hike is cancelled

Separately, but on the same day, Anthropic quietly resolved a pricing question this blog has been tracking since Sonnet 5 launched. The model's $2-per-million-input/$10-per-million-output introductory pricing was always going to expire — Anthropic's own launch materials set September 1, 2026, as the date it would revert to the standard $3/$15 rate that Sonnet 4.5 and 4.6 carry. That reversion is no longer happening. The pricing docs at [platform.claude.com](https://platform.claude.com/docs/en/about-claude/pricing) now state it plainly:

> "The $2/$10 per million input/output token pricing for Claude Sonnet 5, announced at launch as introductory pricing through August 31, 2026, is now the standard price. The previously scheduled increase to $3/$15 per million input/output tokens on September 1, 2026 will not occur."

As with the todo-tool change, Anthropic hasn't published a rationale — no blog post walks through the reasoning, and this blog isn't going to pretend otherwise by inventing one. What's fair to note without speculating about motive: this lands in a stretch where Chinese open-weight models (Qwen3.8-Max, DeepSeek V4, Kimi K3, GLM-5.1) have been undercutting frontier API pricing by wide margins, and Anthropic has been fielding "Claude is expensive" pushback in exactly the threads where those alternatives get discussed. Whatever the internal reasoning, the outcome for anyone budgeting a Claude Code deployment against Sonnet 5 is straightforwardly good: the number you planned around in June is now the permanent number, not a teaser rate with a September cliff.

## Why this matters more than a routine changelog

Individually, none of this is a blockbuster. But strung together — todo scaffolding coming off because the model doesn't need it, GitLab parity work, a proactive credential-leak fix nobody had to shame Anthropic into shipping, and a price increase getting cancelled rather than quietly enforced — it's a decent snapshot of what a maturing agentic coding platform looks like week to week. Not a single dramatic launch, but the unglamorous work of pulling scaffolding down once it's earned, closing gaps competitors still have open, and not nickel-and-diming the people who bet on the platform early. That's a less exciting story than a new model or a new benchmark record. It's also the kind of consistency that's harder for competitors still bolting agent features onto IDE plugins to match.

**Sources:** [Claude Code changelog](https://code.claude.com/docs/en/changelog) (primary), [Claude Code v2.1.233 GitHub release](https://github.com/anthropics/claude-code/releases/tag/v2.1.233) (primary), [Claude Sonnet 5 pricing, platform.claude.com](https://platform.claude.com/docs/en/about-claude/pricing) (primary), [Anthropic, Introducing Claude 4](https://www.anthropic.com/news/claude-4) (primary, for the earlier planning-tool precedent).

