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

Claude Code 2.1.247

The new `SendFeedback` tool lets Claude draft a feedback report when something goes wrong in a session, for you to review and send from `/feedback` (turn it off with the `feedbackDrafts` setting). Bash permission prompts now carry a tip pointing to auto mode with a one-keystroke "Yes, and switch to auto mode" option, and `/claude-api cost-optimize` profiles an existing project's Claude API spend and works through cost levers (caching, token hygiene, batch, effort, model choice) one measured change at a time. Sonnet 5's default auto-compact window moves to its full 1M context, so 1M sessions now auto-compact at about 967K tokens instead of about 934K, and a hook or background agent that printed megabytes of error output can no longer wedge the session on "Prompt is too long".

Official announcement →

This article is a summary based on official documentation.

What changed

Claude Code 2.1.247 shipped on August 26, 2026. Two additions stand out: the SendFeedback tool, which turns a session that went wrong into a reviewable report, and /claude-api cost-optimize, which works through API cost levers one measured change at a time. The rest of the release clears paths that could take a whole session down — oversized error output, a first-call model 404, a container restart between turns — plus hardening around organization settings and marketplace-supplied text.

New features

  • SendFeedback tool

    When something went wrong in a session, assembling a useful report was left to you. Claude can now draft a feedback report for you to review and send from /feedback. Turn the behavior off with the feedbackDrafts setting.

  • /claude-api cost-optimize

    Reducing Claude API spend meant guessing where to start and having no way to tell whether a change helped. /claude-api cost-optimize profiles an existing project’s Claude API spend and works through cost levers — caching, token hygiene, batch, effort, model choice — one measured change at a time.

  • Auto mode tip on Bash permission prompts

    Users clearing permission prompts one by one had no reason to discover auto mode. Bash permission prompts now include a tip pointing to auto mode, with a one-keystroke “Yes, and switch to auto mode” option.

  • Extended spinnerTipsOverride

    Organizations that wanted their own tips could only replace the built-in set wholesale. spinnerTipsOverride now accepts {id, text, cooldownSessions, priority} entries plus tipsFile and label, so organizations can rotate their own tips alongside the built-in ones.

Key improvements

  • Admin API coverage in the /claude-api skill

    The bundled /claude-api skill did not cover the Admin API, so organization management meant looking the docs up separately. It now covers organization members, invites, workspaces, API keys, rate limit reports, workload identity federation, and CMEK.

  • Claude is told when an MCP server failed to connect

    On Bedrock, Vertex, and Foundry sessions — and any with telemetry disabled — a configured MCP server that failed to connect was invisible to Claude, which concluded its tools don’t exist. Claude is now told about the failure.

  • Sonnet 5 auto-compacts against the full 1M context

    Sessions on the 1M context window were auto-compacting against a narrower default window. Sonnet 5’s default auto-compact window is now its full 1M context, so those sessions auto-compact at about 967K tokens instead of about 934K.

  • Cross-session peer messages collapse by default

    A message from another session expanded into the conversation in full. Peer messages now collapse to a one-line Message from @<sender>: <first line> preview; Ctrl+O expands the full body.

  • Plugin marketplace hardening

    Marketplace-supplied names and text were rendered as-is. Names containing control or invisible characters are now rejected, and marketplace-supplied text in /plugin and claude plugin output is escape-safe.

  • Restricted terminal hyperlinks in rendered markdown

    Every markdown link became a clickable terminal hyperlink regardless of its target. Link targets that point at a network or automounter path, contain a control character, or lead with an invisible character now render as plain text.

  • Fewer PR badge re-checks

    The prompt-footer PR badge re-checked GitHub every time the terminal regained focus. It now skips the re-check when the last check is under a minute old.

  • Cleaner sign-in and analytics behavior for managed environments

    Where managed settings force gateway login or configure a custom OAuth deployment, analytics only turned off after login, and gateway sign-in requests did not identify the client. Analytics now stay off from startup, and Claude apps gateway sign-in requests identify Claude Code with a surface=claude_code device-authorization parameter and a claude-code/<version> User-Agent.

Bug fixes

Session stability

  • A hook or background agent that printed megabytes of error output being able to overflow the conversation and wedge the session on “Prompt is too long” — fixed.
  • Unbounded memory growth when a hook’s or background task’s output file could not be written — fixed; the file now notes where output was lost.
  • Sub-agents dying on a first-call model 404 — they now use the session’s fallback model chain, and the error returned to the parent includes the error type, status, request id, and model.
  • /compact and “Summarize from here” in sessions started with --agent summarizing under the default system prompt instead of the conversation’s own — fixed.
  • A background session showing “opening…” forever in claude agents after its terminal host process died — the row now fails within seconds with the reason, and Enter restarts it.
  • Shell commands carried over from the foreground logging an internal error or showing a misleading [exited with code -1] line when they finish in background sessions — fixed.

Input & terminal

  • Fast arrow-key + Enter sequences acting on the row above the one you navigated to — fixed in history search, /config, /mcp, /skills, background tasks, and /model.
  • Ctrl keyboard shortcuts not firing under non-Latin (e.g. Cyrillic) keyboard layouts in kitty-protocol terminals — fixed.
  • Text like <35;150;7M being inserted into the prompt when a mouse report arrived split across reads right after the escape prefix — fixed.

Settings & plugins

  • The Bash sandbox’s after-command cleanup deleting a dotfile-managed ~/.claude/settings.json symlink (nix/home-manager, stow) when it is repointed outside the sandbox’s writable area — fixed.
  • /terminal-setup overwriting your entire Zed keymap.json instead of merging in its keybinding — fixed.
  • /rename silently confirming when the session registry could not be updated — it now says other sessions may still show the old name.
  • A version-less marketplace plugin’s live cache directory being deleted and recreated on a second-scope install — fixed; this could disrupt a running session using it.

Remote & cloud sessions

  • /install-github-app over SSH always claiming the copy succeeded — the copy shortcut now says how the sign-in URL was copied, and the URL appears immediately when no browser can open.
  • Remote Control sessions started with /remote-control not reporting the working-tree diff to connected clients — fixed.
  • Self-hosted runner sessions reporting running before Claude Code had started — fixed; this could trigger a premature “Claude is waiting for your input” notification from the Claude desktop app.
  • First-run setup exiting with “Unable to connect to Anthropic services” when managed settings configure Claude apps gateway sign-in and Anthropic endpoints are unreachable — fixed.
  • Cloud sessions (Claude Code on the web, desktop and mobile apps) sometimes showing the previous permission mode when you switch modes right after sending a message — fixed.
  • Cloud sessions going silent when the session’s container restarts between turns while a background agent, shell, or monitor is still running — the resumed session now reports the lost work.

Notes

  • SendFeedback only drafts — Claude writes the report, but you review and send it from /feedback. Turn the behavior off with the feedbackDrafts setting.
  • Sonnet 5’s 1M auto-compact point moved later — the default auto-compact window is now the full 1M context, so sessions compact at about 967K tokens instead of about 934K.
  • Organization sign-in enforcement exits at start when managed settings cannot be read — even if host-supplied or per-user Windows registry settings exist.
  • Peer messages arrive collapsed — a message from another session shows as a one-line preview; use Ctrl+O for the full body.
  • Some markdown links stop being clickable — targets pointing at a network or automounter path, containing a control character, or leading with an invisible character render as plain text.
  • The spinnerTipsOverride additions are for organizations — they exist so an organization can rotate its own tips alongside the built-in ones, rather than as a personal preference.