claudekit / updates / claude-code-2-1-211
[ PATCH · ]

Claude Code 2.1.211

A new --forward-subagent-text flag (and CLAUDE_CODE_FORWARD_SUBAGENT_TEXT env var) includes subagent text and thinking in stream-json output. This is a stabilization-focused release: it fixes a prompt-caching regression on Bedrock, Vertex, Mantle, and Foundry that billed the trailing system context block as fresh input tokens on every request, stops auto mode from overriding a PreToolUse hook's ask decision for unsandboxed Bash, and neutralizes look-alike characters in permission previews relayed to chat channels. always allow rules now save at the repository root so approvals persist across worktrees, and a batch of background-agent reliability issues around respawning, deletion, and result reporting are cleaned up.

Official announcement →

This article is a summary based on official documentation.

What changed

Claude Code 2.1.211 shipped on July 15, 2026. The only new feature is a flag that forwards subagent output into stream-json; everything else is stabilization work. A prompt-caching billing regression on Bedrock and Vertex-family providers, conflicts between auto mode and hook permissions, and a cluster of background-agent respawn, deletion, and result-reporting issues all get cleaned up, and always allow approvals now persist across worktrees thanks to a change in where rules are saved.

New features

  • --forward-subagent-text includes subagent output in stream-json

    stream-json output did not include subagent text or thinking, so scripts and automation could not see what a subagent was doing in real time. The new --forward-subagent-text flag and CLAUDE_CODE_FORWARD_SUBAGENT_TEXT environment variable include subagent text and thinking in stream-json output.

Key improvements

  • always allow permission rules save at the repository root

    An always allow approval granted in a git worktree only applied inside that worktree, so the same tool had to be re-approved in other sessions and worktrees. Rules now save at the repository root, so approvals persist across sessions and worktrees.

  • Better background agent result reporting

    Claude sometimes fabricated results for background agents that were still running. It now reports the status of still-running agents and waits for the real completion instead.

  • Integer environment variables accept scientific notation and digit separators

    Integer environment variables (timeouts, token budgets, retry counts) only accepted plain number spellings. They now accept scientific notation and digit-separator spellings like 1e6 and 64_000.

  • Memory index over-limit warning measures only loaded content

    The memory index over-limit warning counted frontmatter and HTML comments toward the size, so it could fire on content that wasn’t actually loaded. It now measures only loaded content.

  • /usage-credits asks for confirmation — it now confirms before sending a request to organization admins.

  • Vim mode s and S work in NORMAL mode — substitute char and line now work in NORMAL mode, matching vim behavior.

  • Claude in Chrome save_to_disk on screenshotssave_to_disk on screenshot actions now writes the image to disk and returns the path; previously it did nothing.

  • Also — improved terminal layout and rendering performance, updated documentation links to the current docs sites, [VS Code] updated the Remote Control banner to describe what it does, and hardened synced skill/plugin directory naming on Windows (keeping CCR web fetch/search proxies working after /clear).

Bug fixes

Security & permissions

  • Look-alike characters in permission previews relayed to chat channels — previews did not neutralize bidirectional-override, zero-width, and look-alike quote characters, so tool inputs could visually alter the approval message. Fixed.
  • Auto mode overriding a PreToolUse hook’s ask decision for unsandboxed Bash — a hook ask now floors the decision at a prompt.
  • File upload validation — filenames ending in a DOS device suffix (.prn) or a trailing dot are now accepted, and files with multiple hard links are refused.
  • Claude in Chrome file-upload path validation hardened.

Model & caching

  • Prompt-caching regression on Bedrock, Vertex, Mantle, and Foundry — the trailing system context block was billed as fresh input tokens on every request. Fixed.
  • Claude Code on Vertex and Bedrock attempting the default Opus model at startup and printing a spurious fallback notice when a model is explicitly configured — fixed.
  • Subagents spawned with an explicit model override reverting to the parent’s model when resumed or sent a follow-up message — fixed.

Sessions & background agents

  • Parallel Claude Code sessions all logging out simultaneously after wake-from-sleep when many sessions share one credential store — fixed.
  • Plugin MCP servers not reconnecting after an idle web session woke, leaving MCP calls failing until the next message — fixed.
  • Reopening a just-stopped background session from the agents view starting a blank conversation under the same session id — fixed.
  • /loop hiding the session from /resume after a single use — fixed.
  • Background jobs on LLM gateway auth (ANTHROPIC_AUTH_TOKEN + ANTHROPIC_BASE_URL) coming back “Not logged in” after the daemon respawns them — fixed.
  • claude agents jobs becoming permanently undeletable when git no longer recognizes their worktree — the row now shows why the delete was refused instead of silently reappearing.
  • Background session titles in the agents view showing the naming model’s refusal text when the prompt contains a link — fixed.
  • Background agents killed by the user auto-respawning, and revived agents re-running stale prompts from old sessions — fixed.
  • Routines with no schedule reporting a next run time in the year 1 — fixed.

Config & memory

  • Nested .claude/rules/*.md files loading even when setting sources exclude project settings — fixed.
  • /clear not resetting the session cost counter — the statusline’s cost now starts at $0 after /clear.

Terminal & platform

  • File uploads to Claude in Chrome from remote and CLI sessions — fixed.
  • Edits that leave the input as ”?” being silently swallowed and toggling the shortcuts panel — fixed.
  • A startup hang when the Claude in Chrome extension is enabled but Chrome is not running — fixed.
  • A 300ms delay revealing async content (Settings tabs, Stats, diff views, and other loading states) — fixed.
  • Screen reader users losing the audible terminal bell after /terminal-setup or onboarding terminal setup — fixed.
  • Claude in Chrome setup pages failing to open in the browser on Windows — fixed.
  • Headless print-mode sessions on Windows crashing or silently exiting when stdin is unreadable — fixed.

Notes

  • A bug-fix-focused release — the only new feature is --forward-subagent-text; the rest is reliability and stabilization work.
  • Check billing on Bedrock and Vertex-family providers — the prompt-caching regression fix stops the trailing system context block from being billed as fresh input tokens on every request. If you run on Bedrock, Vertex, Mantle, or Foundry, it’s worth verifying token billing after upgrading.
  • always allow approvals move to the repository root — approvals now save at the repository root, so a single approval applies across worktrees. Worth knowing that rules are stored somewhere different than before.