/config key=valuesets any setting from the prompt. Works in interactive,-p, and Remote Control, so you can script setting changes without editing JSON files.- Prompt caching was silently broken on custom
ANTHROPIC_BASE_URLand Foundry. A per-request attestation token changed every turn, defeating the cache entirely (more below). - Foreground subagents now cap at the same 5-level depth as background subagents. Previously unbounded, so deep foreground chains will stop at 5 (more below).
CLAUDE_CLIENT_PRESENCE_FILEsuppresses mobile push notifications while you're at the machine. Point it at a marker file your presence detector creates and deletes.
New in 2.1.181
2.1.181 (June 18, 2026)
- Added
/config key=valuesyntax to set any setting from the prompt (e.g./config thinking=false), works in interactive,-p, and Remote Control - Added
sandbox.allowAppleEventsopt-in setting that lets sandboxed commands send Apple Events on macOS - Added
CLAUDE_CLIENT_PRESENCE_FILEenvironment variable: point it at a marker file to suppress mobile push notifications while you're at the machine - Upgraded the bundled Bun runtime to 1.4
- Improved streaming of long paragraphs: text now appears line-by-line instead of waiting for the first line break
- Improved auto-retry: API connection drops mid-thinking now automatically retry instead of showing "Connection closed while thinking"
- Improved the subagent panel: idle subagents auto-hide after 30s, the list caps at 5 rows with scroll hints, and keyboard hints now show in the footer
- Improved the MCP OAuth browser page to match Claude Code's visual style and auto-close on success
- Changed fullscreen mode URL opening to require Cmd+click (macOS) / Ctrl+click, matching native terminal behavior
- Changed the
Improved N memoriesline to no longer list individual files outside verbose mode - Fixed prompt caching not reading on custom
ANTHROPIC_BASE_URLand on Foundry due to a per-request attestation token changing every turn - Fixed Write/Edit producing 0-byte or truncated files on network drives and cloud-synced folders
- Fixed
open,osascript, and browser-based auth flows failing with error -600 on macOS by adding the Apple Events entitlement - Fixed a startup regression (~120ms per launch in fresh environments, introduced in 2.1.169): the first prompt no longer waits for the managed-settings fetch when no MCP servers are configured
- Fixed startup blocking with a blank terminal for up to 15 seconds when the account settings fetch is slow on a degraded network
- Fixed startup crash (
TypeError: Cannot read properties of null) when.claude.jsoncontains corrupted null project entries - Fixed macOS TUI freezing at session start (Ctrl+C unresponsive) when Spotlight is busy reindexing
- Fixed long-running idle sessions losing their history when another Claude Code process ran the 30-day transcript cleanup
- Fixed foreground subagents spawning unbounded nested chains; they now respect the same 5-level depth limit as background subagents
- Fixed
/recapand conversation forks using the previous model immediately after a model switch - Fixed subagent "Thinking" duration showing the parent agent's elapsed time instead of the subagent's own
- Fixed subagents blocked on a nested agent showing a ticking elapsed time instead of "waiting" in the agent panel
- Fixed the API retry indicator ("Retrying in 0s, attempt N/10") staying on screen after the retry succeeded
- Fixed AWS
awsCredentialExportcredentials with a short remaining lifetime causing credential refreshes every minute, and now accepts the JSON shape fromaws configure export-credentials - Fixed
claude mcp get/listshowing✓ Connectedwhen tools/list fails; they now show! Connected, tools fetch failedwith the error detail - Fixed
/remote-controlleaving a stale "connecting..." line; it now confirms in the transcript once connected - Fixed ExitWorktree refusing to remove a clean worktree with "Could not verify worktree state" when bare
gitcannot be resolved on Windows - Fixed settings changes (such as
/effortor/model) failing with ENOENT when~/.claude/settings.jsonis a relative symlink under a symlinked~/.claude - Fixed IDE selection line numbers in context reminders being off by one (IntelliJ and VS Code)
- Fixed Ctrl+C in fullscreen after a native terminal selection (modifier+drag) overwriting the clipboard with the app's prior selection
- Fixed Ctrl+V showing "No image found in clipboard" instead of pasting when the clipboard contains text
- Fixed agent creation failing with "EEXIST: file already exists" when the agents directory already exists (Windows/OneDrive)
- Fixed AskUserQuestion preview content being cut off at the dialog edge instead of word-wrapping
- Fixed AskUserQuestion multi-select questions silently dropping a typed "Other" free-text answer when submitting
- Fixed
/stats"Most active day" and daily token chart dates showing one day early in UTC-negative timezones - Fixed
/copyand copy-on-select on Linux not detecting a clipboard utility installed after Claude Code started - Fixed tab-indented code rendering with incorrect indentation in the Write (create-file) preview
- Fixed user prompts queued mid-turn not showing a full-width background highlight in the transcript
- Fixed the activity spinner's pulse dwelling on the wrong glyph size in Ghostty
Notes
Prompt caching on gateways: a long-running gap closes
This is the biggest silent cost fix in 2.1.181 for anyone running through a custom API gateway or Foundry. The attestation token (used for per-request identity verification on these paths) was changing every turn, which meant the cache key never matched a prior turn's content. Every turn was a cold cache miss.
Anthropic has been investing steadily in prompt cache economics: the ENABLE_PROMPT_CACHING_1H env var, the /cd command (2.1.169, designed specifically to avoid breaking the prompt cache mid-session), and fixes to cache TTL enforcement. But all of that work was moot on ANTHROPIC_BASE_URL and Foundry paths because the cache key itself was unstable. If you're on a gateway and noticed higher-than-expected costs, check your cache hit rate after updating.
Foreground subagent depth limit now matches background
2.1.172 (June 11) introduced nested subagents with a stated 5-level depth limit, but the limit only applied to background subagents. Foreground subagents could spawn unbounded chains. This fix aligns both paths. If you have agent architectures that naturally go deeper than 5 levels, they will now stop. Restructure to fan out rather than chain down.