What changed
Claude Code 2.1.196 shipped on June 29, 2026. It adds organization default models, readable default session names, and Cmd/Ctrl-clickable file attachments in chat, and improves background session and agent reliability so long-running work survives the process being stopped, restarted, or updated. The streaming idle watchdog is now on by default for all providers, and a large batch of background-job, claude agents panel, and permission regressions are cleaned up.
New features
-
Organization default models
Model defaults had to be picked per user, with no way for an organization to standardize on one. Admins can now set a default model in the org console; it shows as “Org default” (or “Role default”) in
/modelwhen you haven’t picked one yourself. -
Readable default session names
Sessions started without an identifier, making them hard to tell apart or message. Sessions now get readable default names at start, making them easier to identify and message.
-
Clickable file attachments in chat
There was no quick way to find where an attached file actually lived on disk. Cmd/Ctrl-click a file attachment in chat to reveal the file in Finder/Explorer.
Key improvements
-
Improved background session reliability
Long-running commands and workflows broke when the session’s process was stopped, restarted, or updated. They now survive those events — including on Windows, where background shells are handed off instead of being killed.
-
Background agents auto-resume after a daemon restart
Workers were killed when the daemon restarted, losing their work. Workers killed by a daemon restart are now automatically resumed from where they left off the next time the agents view opens.
-
Security: self-approved
.mcp.jsonservers no longer spawnedclaude mcp list/getwould spawn.mcp.jsonservers that a repo had self-approved via a committed.claude/settings.json, even in untrusted workspaces. They no longer spawn such servers; untrusted workspaces show⏸ Pending approval. -
Streaming idle watchdog on by default
The mechanism that detects a stalled response stream and retries was only active in some setups. The streaming idle watchdog is now on by default for all providers — it aborts and retries when a response stream produces no events for 5 minutes. Set
CLAUDE_ENABLE_STREAM_WATCHDOG=0to disable. -
/code-reviewtoken usage down ~25%/code-reviewran its cleanup checks as five separate finders, using a lot of tokens. Merging the five cleanup finders into one cuts token usage by roughly 25%. -
Less per-frame rendering work in the terminal UI
Unchanged regions of the screen were still walked on every frame during streaming. Per-frame rendering work is reduced by skipping no-op subtree walks during streaming.
Bug fixes
Background sessions and agents
- Waking a background job permanently deleting its conversation — the transcript probe misread a real transcript, deleted the conversation, and re-ran the original prompt. The file is now set aside, never deleted.
- Duplicate recap lines after a background session’s turn — a schema-rejected StructuredOutput attempt no longer renders alongside its retry.
- Multiple
claude agentsside panel issues — keyboard focus getting stuck when opening an agent, background jobs losing their subagent types on every open, and sessions showing incorrect status while actively running. claude agents --dangerously-skip-permissionssilently falling back to auto mode — it now shows the bypass disclaimer and applies bypass mode to spawned agents.- Mid-turn crash recovery for Remote sessions — sessions interrupted by a server restart now auto-resume on the next worker.
claude agentssession status — completed rows no longer flip between “Done” and “Needs your input”, stalled agents are now labeled “Needs attention”, and results that mention a PR show a clickable link.
Models and context
/contextshowing 0 tokens for all tool groups on Bedrock — fixed.- Rate-limit warning flickering off and rate-limit telemetry being over-counted when multiple parallel requests were in flight at the moment a usage limit was hit — fixed.
Shell and plugins
- PowerShell
git diff/git grep,egrep/fgrep, and quoted search patterns containing|being reported as failures when they exit 1 — now matches Bash behavior. claude plugin validateskipping local plugins whose source is ”.” and stopping after the first error class — fixed.- Plugin dependency version pins not being honored when the marketplace was added as a local folder path backed by a git repo — fixed.
Auth and miscellaneous
- MCP OAuth requesting the authorization server’s full
scopes_supportedcatalog when no scope is specified, causinginvalid_scopefailures on GitLab self-hosted and other enterprise IdPs — fixed. - Esc Esc at an idle prompt not opening the rewind menu (regression) — fixed; use Ctrl+C or Ctrl+X Ctrl+K to stop background agents.
/deep-researchmisreporting verifier failures as “all claims refuted” instead ofunverified— fixed.- Sessions moved with
/cdreappearing in the old directory’s resume list after a non-graceful exit when the old path contained special characters — fixed. - Voice dictation swallowing spaces and spuriously starting a recording during very fast typing when voice mode is enabled — fixed.
Notes
- Disabling the streaming idle watchdog — it’s now on by default for all providers and aborts/retries after 5 minutes with no stream events. Set
CLAUDE_ENABLE_STREAM_WATCHDOG=0to turn it off. - Remote Control on non-Anthropic hosts — Remote Control is now disabled when
ANTHROPIC_BASE_URLpoints at a non-Anthropic host, matching the existing behavior underCLAUDE_CODE_USE_BEDROCK/_VERTEX/_FOUNDRY. - Agents view shortcut change — opening the agents view from a foreground session now requires a single
←press instead of two, matching the behavior in background sessions. - Organization default model is admin-set — admins configure it in the org console, and it only applies as “Org default” in
/modelwhen you haven’t picked a model yourself.