v2.1.247
Claude CodeSummary
This release introduces several new tools and commands, including a `SendFeedback` tool for easier issue reporting and `/claude-api cost-optimize` for managing API expenses. Several bugs have been fixed, improving the reliability of history search, sub-agent error handling, and terminal shortcut functionality across different keyboard layouts and terminals. Additionally, performance and user experience are enhanced with collapsed peer messages, improved hyperlink rendering, and more robust session management.
New Features
- Added the `SendFeedback` tool, allowing Claude to draft feedback reports when issues occur during a session, which can be reviewed and sent from `/feedback`.
- Enhanced `spinnerTipsOverride` by adding `{id, text, cooldownSessions, priority}` entries, `tipsFile`, and `label`, enabling organizations to use their own custom tips alongside built-in ones.
- Introduced a new tip for Bash permission prompts that suggests switching to auto mode with a one-keystroke option.
- Added the `/claude-api cost-optimize` command to profile existing project Claude API spend and guide users through cost-saving optimizations.
- Updated the `/claude-api` skill to include Admin API coverage for managing organization members, invites, workspaces, API keys, rate limit reports, workload identity federation, and CMEK.
Bug Fixes
- Fixed an issue where fast arrow-key + Enter sequences in history search and various commands (`/config`, `/mcp`, `/skills`, etc.) would incorrectly act on the row above the navigated one.
- Resolved a problem where sub-agents would die on a first-call model 404 error; they now use the session's fallback model chain and return detailed error information.
- Fixed a bug where hooks or background agents printing excessive error output could overflow the conversation and cause sessions to get stuck with a 'Prompt is too long' error.
- Corrected an issue where Ctrl keyboard shortcuts were not firing in kitty-protocol terminals with non-Latin keyboard layouts.
- Prevented text like `<35;150;7M` from being inserted into prompts when mouse reports were split across reads immediately after the escape prefix.
- Fixed the Bash sandbox's cleanup process from incorrectly deleting dotfile-managed `~/.claude/settings.json` symlinks when they were repointed outside the sandbox's writable area.
- Resolved an issue where `/terminal-setup` would overwrite the entire Zed `keymap.json` instead of merging keybindings.
- Fixed `/rename` to provide a notification when the session registry could not be updated, informing users that other sessions might still display the old name.
- Corrected `/compact` and 'Summarize from here' in `--agent` sessions to summarize using the conversation's system prompt instead of the default one.
- Fixed background sessions that were stuck showing 'opening…' after their terminal host process died; these sessions now fail with a reason and can be restarted.
- Addressed unbounded memory growth when a hook's or background task's output file could not be written; the file now indicates where output was lost.
- Fixed `/install-github-app` over SSH so the copy shortcut accurately reports success and the sign-in URL appears immediately if a browser cannot be opened.
- Resolved an issue where shell commands carried over from the foreground could log internal errors or show misleading exit codes when finishing 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 running sessions.
- Corrected Remote Control sessions started with `/remote-control` to properly report the working-tree diff to connected clients.
- Fixed self-hosted runner sessions reporting 'running' before Claude Code had started, preventing premature 'Claude is waiting for your input' notifications.
- Resolved first-run setup failures that occurred when managed settings configured gateway sign-in and Anthropic endpoints were unreachable.
- Fixed cloud sessions that sometimes showed the previous permission mode when switching modes immediately after sending a message.
- Addressed cloud sessions going silent when the session's container restarted between turns while background processes were running; resumed sessions now report lost work.
- Improved plugin marketplace security by rejecting names with control or invisible characters and ensuring marketplace text is escape-safe.
Improvements
- Changed the default auto-compact window for Sonnet 5 to its full 1M context, adjusting the auto-compact threshold to approximately 967K tokens.
- Modified cross-session peer messages to collapse by default into a one-line preview, with Ctrl+O to expand the full message body.
- Updated terminal hyperlink rendering in markdown to display targets pointing to network paths, automounter paths, or containing control/invisible characters as plain text.
- Optimized the prompt-footer PR badge to skip GitHub re-checks on terminal refocus if the last check was under a minute old.
- Ensured analytics remain disabled from startup when managed settings enforce gateway login or a custom OAuth deployment is configured.
- Updated Claude apps gateway sign-in requests to identify Claude Code using `surface=claude_code` and a `claude-code/<version>` User-Agent.
- Changed organization sign-in enforcement to exit at start if administrator's managed settings cannot be read, overriding per-user settings.
- Improved Bedrock, Vertex, and Foundry sessions (and those with telemetry disabled) by informing Claude when a configured MCP server failed to connect, rather than assuming tools don't exist.