Claude-Code
Notes
no notes yet
Release notes
v2.1.247
· recent
What's changed
- Added the
SendFeedbacktool: when something goes wrong in a session, Claude can draft a feedback report for you to review and send from/feedback(turn off with thefeedbackDraftssetting) - Added
{id, text, cooldownSessions, priority}entries,tipsFile, andlabeltospinnerTipsOverride, so organizations can rotate their own tips alongside the built-in ones - Added a tip on Bash permission prompts pointing to auto mode, with a one-keystroke "Yes, and switch to auto mode" option
- Added
/claude-api cost-optimizeto profile an existing project's Claude API spend and work through cost levers (caching, token hygiene, batch, effort, model choice) one measured change at a time - Updated the
/claude-apiskill with Admin API coverage (organization members, invites, workspaces, API keys, rate limit reports, workload identity federation, CMEK) - Fixed fast arrow-key + Enter sequences acting on the row above the one you navigated to in history search,
/config,/mcp,/skills, background tasks, and/model - Fixed 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
- Fixed 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 Ctrl keyboard shortcuts not firing under non-Latin (e.g. Cyrillic) keyboard layouts in kitty-protocol terminals
- Fixed text like
<35;150;7Mbeing inserted into the prompt when a mouse report arrived split across reads right after the escape prefix - Fixed the Bash sandbox's after-command cleanup deleting a dotfile-managed
~/.claude/settings.jsonsymlink (nix/home-manager, stow) when it is repointed outside the sandbox's writable area - Fixed
/terminal-setupoverwriting your entire Zedkeymap.jsoninstead of merging in its keybinding - Fixed
/renamesilently confirming when the session registry could not be updated; it now says other sessions may still show the old name - Fixed
/compactand "Summarize from here" in sessions started with--agentsummarizing under the default system prompt instead of the conversation's own - Fixed a background session showing "opening…" forever in
claude agentsafter its terminal host process died; the row now fails within seconds with the reason, and Enter restarts it - Fixed unbounded memory growth when a hook's or background task's output file could not be written; the file now notes where output was lost
- Fixed
/install-github-appover SSH: the copy shortcut now says how the sign-in URL was copied instead of always claiming success, and the URL appears immediately when no browser can open - Fixed 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 a version-less marketplace plugin's live cache directory being deleted and recreated on a second-scope install, which could disrupt a running session using it
- Fixed Remote Control sessions started with
/remote-controlnot reporting the working-tree diff to connected clients - Fixed self-hosted runner sessions reporting
runningbefore Claude Code had started, which could trigger a premature "Claude is waiting for your input" notification from the Claude desktop app - Fixed 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
- Improved plugin marketplace hardening: names containing control or invisible characters are rejected, and marketplace-supplied text in
/pluginandclaude pluginoutput is escape-safe - Improved Bedrock, Vertex, and Foundry sessions (and any with telemetry disabled): Claude is now told when a configured MCP server failed to connect, instead of concluding its tools don't exist
- Changed Sonnet 5's default auto-compact window to its full 1M context, so sessions on the 1M window now auto-compact at about 967K tokens instead of about 934K
- Changed cross-session peer messages to collapse by default to a one-line
Message from @<sender>: <first line>preview; Ctrl+O expands the full body - Changed terminal hyperlinks in rendered markdown: 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
- Changed the prompt-footer PR badge to skip its GitHub re-check on terminal refocus when the last check is under a minute old
- Changed analytics to stay off from startup, not only after login, when managed settings force gateway login or a custom OAuth deployment is configured
- Changed Claude apps gateway sign-in requests to identify Claude Code (a
surface=claude_codedevice-authorization parameter and aclaude-code/<version>User-Agent) - Changed organization sign-in enforcement to exit at start when the administrator's managed settings cannot be read, even if host-supplied or per-user Windows registry settings exist