Added support for running skills and slash commands in a forked sub-agent context using context: fork in skill frontmatter
Added support for agent field in skills to specify agent type for execution
Added language setting to configure Claude's response language (e.g., language: "japanese")
Changed Shift+Enter to work out of the box in iTerm2, WezTerm, Ghostty, and Kitty without modifying terminal configs
Added respectGitignore support in settings.json for per-project control over @-mention file picker behavior
Added IS_DEMO environment variable to hide email and organization from the UI, useful for streaming or recording sessions
Fixed security issue where sensitive data (OAuth tokens, API keys, passwords) could be exposed in debug logs
Fixed files and skills not being properly discovered when resuming sessions with -c or --resume
Fixed pasted content being lost when replaying prompts from history using up arrow or Ctrl+R search
Fixed Esc key with queued prompts to only move them to input without canceling the running task
Reduced permission prompts for complex bash commands
Fixed command search to prioritize exact and prefix matches on command names over fuzzy matches in descriptions
Fixed PreToolUse hooks to allow updatedInput when returning ask permission decision, enabling hooks to act as middleware while still requesting user consent
Fixed plugin path resolution for file-based marketplace sources
Fixed LSP tool being incorrectly enabled when no LSP servers were configured
Fixed background tasks failing with "git repository not found" error for repositories with dots in their names
Fixed Claude in Chrome support for WSL environments
Fixed Windows native installer silently failing when executable creation fails
Improved CLI help output to display options and subcommands in alphabetical order for easier navigation
Added wildcard pattern matching for Bash tool permissions using * at any position in rules (e.g., Bash(npm *), Bash(* install), Bash(git * main))
Added unified Ctrl+B backgrounding for both bash commands and agents - pressing Ctrl+B now backgrounds all running foreground tasks simultaneously
Added support for MCP list_changed notifications, allowing MCP servers to dynamically update their available tools, prompts, and resources without requiring reconnection
Added /teleport and /remote-env slash commands for claude.ai subscribers, allowing them to resume and configure remote sessions
Added support for disabling specific agents using Task(AgentName) syntax in settings.json permissions or the --disallowedTools CLI flag
Added hooks support to agent frontmatter, allowing agents to define PreToolUse, PostToolUse, and Stop hooks scoped to the agent's lifecycle
Added hooks support for skill and slash command frontmatter
Added new Vim motions: ; and , to repeat f/F/t/T motions, y operator for yank with yy/Y, p/P for paste, text objects (iw, aw, iW, aW, i", a", i', a', i(, a(, i[, a[, i{, a{), >> and << for indent/dedent, and J to join lines
Added /plan command shortcut to enable plan mode directly from the prompt
Added slash command autocomplete support when / appears anywhere in input, not just at the beginning
Added --tools flag support in interactive mode to restrict which built-in tools Claude can use during interactive sessions
Added CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS environment variable to override the default file read token limit
Added support for once: true config for hooks
Added support for YAML-style lists in frontmatter allowed-tools field for cleaner skill declarations
Added support for prompt and agent hook types from plugins (previously only command hooks were supported)
Added Cmd+V support for image paste in iTerm2 (maps to Ctrl+V)
Added left/right arrow key navigation for cycling through tabs in dialogs
Added real-time thinking block display in Ctrl+O transcript mode
Added filepath to full output in background bash task details dialog
Added Skills as a separate category in the context visualization
Fixed OAuth token refresh not triggering when server reports token expired but local expiration check disagrees
Fixed session persistence getting stuck after transient server errors by recovering from 409 conflicts when the entry was actually stored
Fixed session resume failures caused by orphaned tool results during concurrent tool execution
Fixed a race condition where stale OAuth tokens could be read from the keychain cache during concurrent token refresh attempts
Fixed AWS Bedrock subagents not inheriting EU/APAC cross-region inference model configuration, causing 403 errors when IAM permissions are scoped to specific regions
Fixed API context overflow when background tasks produce large output by truncating to 30K chars with file path reference
Fixed a hang when reading FIFO files by skipping symlink resolution for special file types
Fixed terminal keyboard mode not being reset on exit in Ghostty, iTerm2, Kitty, and WezTerm
Fixed Alt+B and Alt+F (word navigation) not working in iTerm2, Ghostty, Kitty, and WezTerm
Fixed ${CLAUDE_PLUGIN_ROOT} not being substituted in plugin allowed-tools frontmatter, which caused tools to incorrectly require approval
Fixed files created by the Write tool using hardcoded 0o600 permissions instead of respecting the system umask
Fixed commands with $() command substitution failing with parse errors
Fixed multi-line bash commands with backslash continuations being incorrectly split and flagged for permissions
Fixed bash command prefix extraction to correctly identify subcommands after global options (e.g., git -C /path log now correctly matches Bash(git log:*) rules)
Fixed slash commands passed as CLI arguments (e.g., claude /context) not being executed properly
Fixed pressing Enter after Tab-completing a slash command selecting a different command instead of submitting the completed one
Fixed slash command argument hint flickering and inconsistent display when typing commands with arguments
Fixed Claude sometimes redundantly invoking the Skill tool when running slash commands directly
Fixed skill token estimates in /context to accurately reflect frontmatter-only loading
Fixed subagents sometimes not inheriting the parent's model by default
Fixed model picker showing incorrect selection for Bedrock/Vertex users using --model haiku
Fixed duplicate Bash commands appearing in permission request option labels
Fixed noisy output when background tasks complete - now shows clean completion message instead of raw output
Fixed background task completion notifications to appear proactively with bullet point
Fixed forked slash commands showing "AbortError" instead of "Interrupted" message when cancelled
Fixed cursor disappearing after dismissing permission dialogs
Fixed /hooks menu selecting wrong hook type when scrolling to a different option
Fixed images in queued prompts showing as "[object Object]" when pressing Esc to cancel
Fixed images being silently dropped when queueing messages while backgrounding a task
Fixed large pasted images failing with "Image was too large" error
Fixed extra blank lines in multiline prompts containing CJK characters (Japanese, Chinese, Korean)
Fixed ultrathink keyword highlighting being applied to wrong characters when user prompt text wraps to multiple lines
Fixed collapsed "Reading X files…" indicator incorrectly switching to past tense when thinking blocks appear mid-stream
Fixed Bash read commands (like ls and cat) not being counted in collapsed read/search groups, causing groups to incorrectly show "Read 0 files"
Fixed spinner token counter to properly accumulate tokens from subagents during execution
Fixed memory leak in git diff parsing where sliced strings retained large parent strings
Fixed race condition where LSP tool could return "no server available" during startup
Fixed feedback submission hanging indefinitely when network requests timeout
Fixed search mode in plugin discovery and log selector views exiting when pressing up arrow
Fixed hook success message showing trailing colon when hook has no output
Multiple optimizations to improve startup performance
Improved terminal rendering performance when using native installer or Bun, especially for text with emoji, ANSI codes, and Unicode characters
Improved performance when reading Jupyter notebooks with many cells
Improved reliability for piped input like cat refactor.md | claude
Improved reliability for AskQuestion tool
Improved sed in-place edit commands to render as file edits with diff preview
Improved Claude to automatically continue when response is cut off due to output token limit, instead of showing an error message
Improved compaction reliability
Improved subagents (Task tool) to continue working after permission denial, allowing them to try alternative approaches
Improved skills to show progress while executing, displaying tool uses as they happen
Improved skills from /skills/ directories to be visible in the slash command menu by default (opt-out with user-invocable: false in frontmatter)
Improved skill suggestions to prioritize recently and frequently used skills
Improved spinner feedback when waiting for the first response token
Improved token count display in spinner to include tokens from background agents
Improved incremental output for async agents to give the main thread more control and visibility
Improved permission prompt UX with Tab hint moved to footer, cleaner Yes/No input labels with contextual placeholders
Improved the Claude in Chrome notification with shortened help text and persistent display until dismissed
Improved macOS screenshot paste reliability with TIFF format support
Improved /stats output
Updated Atlassian MCP integration to use a more reliable default configuration (streamable HTTP)
Changed "Interrupted" message color from red to grey for a less alarming appearance
Removed permission prompt when entering plan mode - users can now enter plan mode without approval
Removed underline styling from image reference links
[SDK] Changed minimum zod peer dependency to ^4.0.0
[VSCode] Added currently selected model name to the context menu
[VSCode] Added descriptive labels on auto-accept permission button (e.g., "Yes, allow npm for this project" instead of "Yes, and don't ask again")
[VSCode] Fixed paragraph breaks not rendering in markdown content
[VSCode] Fixed scrolling in the extension inadvertently scrolling the parent iframe