Skip to content
AI Primer
release

Claude Code releases 2.1.200/2.1.201 with Manual approval fixes

Claude Code 2.1.200 changed Manual permission defaults and fixed background-agent crash and recovery paths; 2.1.201 removed mid-conversation Sonnet 5 harness reminders. Update to reduce accidental advances and repeated reminders in stalled sessions.

5 min read
Claude Code releases 2.1.200/2.1.201 with Manual approval fixes
Claude Code releases 2.1.200/2.1.201 with Manual approval fixes

TL;DR

  • ClaudeCodeLog's 2.1.200 overview says Claude Code changed its default permission mode to Manual across the CLI, --help, VS Code, and JetBrains, with commands requiring manual approval.
  • The 2.1.200 changelog is mostly reliability plumbing: background sessions, stale daemon locks, daemon handover, plugin loading, screen readers, voice dictation, and tmux rendering all got fixes.
  • ClaudeCodeLog's 2.1.200 diff reported prompt tokens up 4,817 (+8.3%), prompt files down 3, and a Grep tool description that now explicitly says it is ripgrep-based.
  • The 2.1.201 release note followed with one CLI change for Sonnet 5: sessions no longer use the mid-conversation system role for harness reminders.
  • ClaudeCodeLog's 2.1.201 metadata put the second update 16 hours after 2.1.200 and measured another 10,607 prompt tokens (+16.8%).

Anthropic's official changelog has both entries, the permission-mode docs spell out Manual as the read-only-by-default mode, and the settings docs put askUserQuestionTimeout at "never" for 2.1.200. In a Hacker News thread, commenters separated AskUserQuestion from action authorization: the timer applied to follow-up planning choices, not command approval.

Manual permissions

The headline change was a safer default in the harness. The full 2.1.200 changelog says the old default permission mode is now Manual across CLI, --help, VS Code, and JetBrains.

The mechanics are narrow:

  • Surfaces changed: CLI, --help, VS Code, JetBrains.
  • Accepted forms: --permission-mode manual and "defaultMode": "manual".
  • Behavior: according to Anthropic's permission-mode docs, Manual reviews edits, shell commands, and network requests while reads run without asking.
  • Compatibility: Anthropic's permissions docs say default remains the standard mode, labeled Manual in 2.1.200 and later.

AskUserQuestion timeout

2.1.200 also changed unanswered AskUserQuestion dialogs so they no longer auto-continue by default. Anthropic's settings docs define the new askUserQuestionTimeout key with default "never", allowed values of "60s", "5m", "10m", and "never", and a /config label of Question auto-continue timeout.

That setting is user-scoped. The docs say it is not read from project or local settings, which keeps a repository from silently changing how long a personal prompt can wait.

Background-agent recovery

The 2.1.198 note is useful context: background agents had just gained auto-commit, push, and draft PR creation after finishing code. The 2.1.200 changelog reads like a cleanup pass for the failure cases that show up once agents run longer:

  • Background sessions silently stopping mid-turn after sleep, wake, or reopening a stalled session.
  • Cancelled turns re-running after a stall respawn.
  • Stale daemon.lock files blocking future background agents after PID reuse.
  • Older builds taking over the daemon after reinstall, now blocked by embedded build timestamp checks.
  • Roster corruption disabling orphan cleanup, newer fields being dropped by older binaries, and socket auth tokens being stripped during daemon restarts.
  • Subagents cut off by rate limits returning empty results instead of failing cleanly.
  • Control bytes from background-agent output leaking into the terminal agent view.

Grep and prompt diffs

The small release had a measurable prompt-side shift. ClaudeCodeLog's diff counted these 2.1.200 changes since 2.1.199:

  • Removed env var: CLAUDE_CODE_CLIENT_KEY_PASSPHRASE.
  • Bundle file size: +130.8 kB (+0.4%).
  • Prompt files: -3 (-7.9%).
  • Prompt tokens: +4,817 (+8.3%).
  • System-reminder token share: 48.3% to 53.9%.
  • Tool token share: 46.8% to 41.6%.
  • Grep description: now identifies Grep as ripgrep-based and explicitly recommends it for search tasks.

Christmas come early for people who diff agent harness prompts for sport.

Sonnet 5 harness reminders

2.1.201 was a one-line behavioral change for Sonnet 5. The 2.1.201 changelog item says Claude Sonnet 5 sessions no longer use the mid-conversation system role for harness reminders.

The 2.1.201 metadata diff measured the release as small in bundle bytes but large in prompt text:

  • Time since 2.1.200: 16h 10m 26s.
  • Bundle file size: -1.2 kB.
  • Prompt files: +3 (+8.6%).
  • Prompt tokens: +10,607 (+16.8%).
  • System-reminder token share: 53.9% to 54.6%.

One community read came from nummanali, who called system reminders one of the traits that made Anthropic models feel tied to Claude Code and said the change made Sonnet 5 worth trying in Pi with a modified system prompt.

Accessibility and terminal fixes

The same 2.1.200 changelog also shipped user-facing polish outside the headline safety changes:

  • /mcp server list now tracks focus for screen readers and magnifiers.
  • Decorative glyphs are hidden from screen readers.
  • Transcript symbols now read as short labels.
  • Nested tables now read as Header: value. lines.
  • tmux 3.4+ rendering flicker is fixed through synchronized terminal output.
  • Voice dictation no longer shows a misleading Voice connection failed message when a recording captures no audio.
  • The install script now explains when installation is killed because the system ran out of memory.

Further reading

Discussion across the web

Where this story is being discussed, in original context.

On X· 2 threads
TL;DR1 post
Sonnet 5 harness reminders3 posts
Share on X