spacehub

surshar / claude-code

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

Built by Anthropic · github.com/anthropics

claude-code / CHANGELOG.md
GitHub Actionschore: Update CHANGELOG.md eb39543 · on Nov 21, 2025 History
983 lines · 37.6 KBPreviewCodeRaw
1# Changelog
2
3## 2.0.50
4
5- Fixed bug preventing calling MCP tools that have nested references in their input schemas
6- Silenced a noisy but harmless error during upgrades
7- Improved ultrathink text display
8- Improved clarity of 5-hour session limit warning message
9
10## 2.0.49
11
12- Added readline-style ctrl-y for pasting deleted text
13- Improved clarity of usage limit warning message
14- Fixed handling of subagent permissions
15
16## 2.0.47
17
18- Improved error messages and validation for `claude --teleport`
19- Improved error handling in `/usage`
20- Fixed race condition with history entry not getting logged at exit
21- Fixed Vertex AI configuration not being applied from `settings.json`
22
23## 2.0.46
24
25- Fixed image files being reported with incorrect media type when format cannot be detected from metadata
26
27## 2.0.45
28
29- Add support for Microsoft Foundry! See https://code.claude.com/docs/en/azure-ai-foundry
30- Added `PermissionRequest` hook to automatically approve or deny tool permission requests with custom logic
31- Send background tasks to Claude Code on the web by starting a message with `&`
32
33## 2.0.43
34
35- Added `permissionMode` field for custom agents
36- Added `tool_use_id` field to `PreToolUseHookInput` and `PostToolUseHookInput` types
37- Added skills frontmatter field to declare skills to auto-load for subagents
38- Added the `SubagentStart` hook event
39- Fixed nested `CLAUDE.md` files not loading when @-mentioning files
40- Fixed duplicate rendering of some messages in the UI
41- Fixed some visual flickers
42- Fixed NotebookEdit tool inserting cells at incorrect positions when cell IDs matched the pattern `cell-N`
43
44## 2.0.42
45
46- Added `agent_id` and `agent_transcript_path` fields to `SubagentStop` hooks.
47
48## 2.0.41
49
50- Added `model` parameter to prompt-based stop hooks, allowing users to specify a custom model for hook evaluation
51- Fixed slash commands from user settings being loaded twice, which could cause rendering issues
52- Fixed incorrect labeling of user settings vs project settings in command descriptions
53- Fixed crash when plugin command hooks timeout during execution
54- Fixed: Bedrock users no longer see duplicate Opus entries in the /model picker when using `--model haiku`
55- Fixed broken security documentation links in trust dialogs and onboarding
56- Fixed issue where pressing ESC to close the diff modal would also interrupt the model
57- ctrl-r history search landing on a slash command no longer cancels the search
58- SDK: Support custom timeouts for hooks
59- Allow more safe git commands to run without approval
60- Plugins: Added support for sharing and installing output styles
61- Teleporting a session from web will automatically set the upstream branch
62
63## 2.0.37
64
65- Fixed how idleness is computed for notifications
66- Hooks: Added matcher values for Notification hook events
67- Output Styles: Added `keep-coding-instructions` option to frontmatter
68
69## 2.0.36
70
71- Fixed: DISABLE_AUTOUPDATER environment variable now properly disables package manager update notifications
72- Fixed queued messages being incorrectly executed as bash commands
73- Fixed input being lost when typing while a queued message is processed
74
75## 2.0.35
76
77- Improve fuzzy search results when searching commands
78- Improved VS Code extension to respect `chat.fontSize` and `chat.fontFamily` settings throughout the entire UI, and apply font changes immediately without requiring reload
79- Added `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` environment variable to automatically exit SDK mode after a specified idle duration, useful for automated workflows and scripts
80- Migrated `ignorePatterns` from project config to deny permissions in the localSettings.
81- Fixed menu navigation getting stuck on items with empty string or other falsy values (e.g., in the `/hooks` menu)
82
83## 2.0.34
84
85- VSCode Extension: Added setting to configure the initial permission mode for new conversations
86- Improved file path suggestion performance with native Rust-based fuzzy finder
87- Fixed infinite token refresh loop that caused MCP servers with OAuth (e.g., Slack) to hang during connection
88- Fixed memory crash when reading or writing large files (especially base64-encoded images)
89
90## 2.0.33
91
92- Native binary installs now launch quicker.
93- Fixed `claude doctor` incorrectly detecting Homebrew vs npm-global installations by properly resolving symlinks
94- Fixed `claude mcp serve` exposing tools with incompatible outputSchemas
95
96## 2.0.32
97
98- Un-deprecate output styles based on community feedback
99- Added `companyAnnouncements` setting for displaying announcements on startup
100- Fixed hook progress messages not updating correctly during PostToolUse hook execution
101
102## 2.0.31
103
104- Windows: native installation uses shift+tab as shortcut for mode switching, instead of alt+m
105- Vertex: add support for Web Search on supported models
106- VSCode: Adding the respectGitIgnore configuration to include .gitignored files in file searches (defaults to true)
107- Fixed a bug with subagents and MCP servers related to "Tool names must be unique" error
108- Fixed issue causing `/compact` to fail with `prompt_too_long` by making it respect existing compact boundaries
109- Fixed plugin uninstall not removing plugins
110
111## 2.0.30
112
113- Added helpful hint to run `security unlock-keychain` when encountering API key errors on macOS with locked keychain
114- Added `allowUnsandboxedCommands` sandbox setting to disable the dangerouslyDisableSandbox escape hatch at policy level
115- Added `disallowedTools` field to custom agent definitions for explicit tool blocking
116- Added prompt-based stop hooks
117- VSCode: Added respectGitIgnore configuration to include .gitignored files in file searches (defaults to true)
118- Enabled SSE MCP servers on native build
119- Deprecated output styles. Review options in `/output-style` and use --system-prompt-file, --system-prompt, --append-system-prompt, CLAUDE.md, or plugins instead
120- Removed support for custom ripgrep configuration, resolving an issue where Search returns no results and config discovery fails
121- Fixed Explore agent creating unwanted .md investigation files during codebase exploration
122- Fixed a bug where `/context` would sometimes fail with "max_tokens must be greater than thinking.budget_tokens" error message
123- Fixed `--mcp-config` flag to correctly override file-based MCP configurations
124- Fixed bug that saved session permissions to local settings
125- Fixed MCP tools not being available to sub-agents
126- Fixed hooks and plugins not executing when using --dangerously-skip-permissions flag
127- Fixed delay when navigating through typeahead suggestions with arrow keys
128- VSCode: Restored selection indicator in input footer showing current file or code selection status
129
130## 2.0.28
131
132- Plan mode: introduced new Plan subagent
133- Subagents: claude can now choose to resume subagents
134- Subagents: claude can dynamically choose the model used by its subagents
135- SDK: added --max-budget-usd flag
136- Discovery of custom slash commands, subagents, and output styles no longer respects .gitignore
137- Stop `/terminal-setup` from adding backslash to `Shift + Enter` in VS Code
138- Add branch and tag support for git-based plugins and marketplaces using fragment syntax (e.g., `owner/repo#branch`)
139- Fixed a bug where macOS permission prompts would show up upon initial launch when launching from home directory
140- Various other bug fixes
141
142## 2.0.27
143
144- New UI for permission prompts
145- Added current branch filtering and search to session resume screen for easier navigation
146- Fixed directory @-mention causing "No assistant message found" error
147- VSCode Extension: Add config setting to include .gitignored files in file searches
148- VSCode Extension: Bug fixes for unrelated 'Warmup' conversations, and configuration/settings occasionally being reset to defaults
149
150## 2.0.25
151
152- Removed legacy SDK entrypoint. Please migrate to @anthropic-ai/claude-agent-sdk for future SDK updates: https://docs.claude.com/en/docs/claude-code/sdk/migration-guide
153
154## 2.0.24
155
156- Fixed a bug where project-level skills were not loading when --setting-sources 'project' was specified
157- Claude Code Web: Support for Web -> CLI teleport
158- Sandbox: Releasing a sandbox mode for the BashTool on Linux & Mac
159- Bedrock: Display awsAuthRefresh output when auth is required
160
161## 2.0.22
162
163- Fixed content layout shift when scrolling through slash commands
164- IDE: Add toggle to enable/disable thinking.
165- Fix bug causing duplicate permission prompts with parallel tool calls
166- Add support for enterprise managed MCP allowlist and denylist
167
168## 2.0.21
169
170- Support MCP `structuredContent` field in tool responses
171- Added an interactive question tool
172- Claude will now ask you questions more often in plan mode
173- Added Haiku 4.5 as a model option for Pro users
174- Fixed an issue where queued commands don't have access to previous messages' output
175
176## 2.0.20
177
178- Added support for Claude Skills
179
180## 2.0.19
181
182- Auto-background long-running bash commands instead of killing them. Customize with BASH_DEFAULT_TIMEOUT_MS
183- Fixed a bug where Haiku was unnecessarily called in print mode
184
185## 2.0.17
186
187- Added Haiku 4.5 to model selector!
188- Haiku 4.5 automatically uses Sonnet in plan mode, and Haiku for execution (i.e. SonnetPlan by default)
189- 3P (Bedrock and Vertex) are not automatically upgraded yet. Manual upgrading can be done through setting `ANTHROPIC_DEFAULT_HAIKU_MODEL`
190- Introducing the Explore subagent. Powered by Haiku it'll search through your codebase efficiently to save context!
191- OTEL: support HTTP_PROXY and HTTPS_PROXY
192- `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` now disables release notes fetching
193
194## 2.0.15
195
196- Fixed bug with resuming where previously created files needed to be read again before writing
197- Fixed bug with `-p` mode where @-mentioned files needed to be read again before writing
198
199## 2.0.14
200
201- Fix @-mentioning MCP servers to toggle them on/off
202- Improve permission checks for bash with inline env vars
203- Fix ultrathink + thinking toggle
204- Reduce unnecessary logins
205- Document --system-prompt
206- Several improvements to rendering
207- Plugins UI polish
208
209## 2.0.13
210
211- Fixed `/plugin` not working on native build
212
213## 2.0.12
214
215- **Plugin System Released**: Extend Claude Code with custom commands, agents, hooks, and MCP servers from marketplaces
216- `/plugin install`, `/plugin enable/disable`, `/plugin marketplace` commands for plugin management
217- Repository-level plugin configuration via `extraKnownMarketplaces` for team collaboration
218- `/plugin validate` command for validating plugin structure and configuration
219- Plugin announcement blog post at https://www.anthropic.com/news/claude-code-plugins
220- Plugin documentation available at https://docs.claude.com/en/docs/claude-code/plugins
221- Comprehensive error messages and diagnostics via `/doctor` command
222- Avoid flickering in `/model` selector
223- Improvements to `/help`
224- Avoid mentioning hooks in `/resume` summaries
225- Changes to the "verbose" setting in `/config` now persist across sessions
226
227## 2.0.11
228
229- Reduced system prompt size by 1.4k tokens
230- IDE: Fixed keyboard shortcuts and focus issues for smoother interaction
231- Fixed Opus fallback rate limit errors appearing incorrectly
232- Fixed /add-dir command selecting wrong default tab
233
234## 2.0.10
235
236- Rewrote terminal renderer for buttery smooth UI
237- Enable/disable MCP servers by @mentioning, or in /mcp
238- Added tab completion for shell commands in bash mode
239- PreToolUse hooks can now modify tool inputs
240- Press Ctrl-G to edit your prompt in your system's configured text editor
241- Fixes for bash permission checks with environment variables in the command
242
243## 2.0.9
244
245- Fix regression where bash backgrounding stopped working
246
247## 2.0.8
248
249- Update Bedrock default Sonnet model to `global.anthropic.claude-sonnet-4-5-20250929-v1:0`
250- IDE: Add drag-and-drop support for files and folders in chat
251- /context: Fix counting for thinking blocks
252- Improve message rendering for users with light themes on dark terminals
253- Remove deprecated .claude.json allowedTools, ignorePatterns, env, and todoFeatureEnabled config options (instead, configure these in your settings.json)
254
255## 2.0.5
256
257- IDE: Fix IME unintended message submission with Enter and Tab
258- IDE: Add "Open in Terminal" link in login screen
259- Fix unhandled OAuth expiration 401 API errors
260- SDK: Added SDKUserMessageReplay.isReplay to prevent duplicate messages
261
262## 2.0.1
263
264- Skip Sonnet 4.5 default model setting change for Bedrock and Vertex
265- Various bug fixes and presentation improvements
266
267## 2.0.0
268
269- New native VS Code extension
270- Fresh coat of paint throughout the whole app
271- /rewind a conversation to undo code changes
272- /usage command to see plan limits
273- Tab to toggle thinking (sticky across sessions)
274- Ctrl-R to search history
275- Unshipped claude config command
276- Hooks: Reduced PostToolUse 'tool_use' ids were found without 'tool_result' blocks errors
277- SDK: The Claude Code SDK is now the Claude Agent SDK
278- Add subagents dynamically with `--agents` flag
279
280## 1.0.126
281
282- Enable /context command for Bedrock and Vertex
283- Add mTLS support for HTTP-based OpenTelemetry exporters
284
285## 1.0.124
286
287- Set `CLAUDE_BASH_NO_LOGIN` environment variable to 1 or true to to skip login shell for BashTool
288- Fix Bedrock and Vertex environment variables evaluating all strings as truthy
289- No longer inform Claude of the list of allowed tools when permission is denied
290- Fixed security vulnerability in Bash tool permission checks
291- Improved VSCode extension performance for large files
292
293## 1.0.123
294
295- Bash permission rules now support output redirections when matching (e.g., `Bash(python:*)` matches `python script.py > output.txt`)
296- Fixed thinking mode triggering on negation phrases like "don't think"
297- Fixed rendering performance degradation during token streaming
298- Added SlashCommand tool, which enables Claude to invoke your slash commands. https://docs.claude.com/en/docs/claude-code/slash-commands#SlashCommand-tool
299- Enhanced BashTool environment snapshot logging
300- Fixed a bug where resuming a conversation in headless mode would sometimes enable thinking unnecessarily
301- Migrated --debug logging to a file, to enable easy tailing & filtering
302
303## 1.0.120
304
305- Fix input lag during typing, especially noticeable with large prompts
306- Improved VSCode extension command registry and sessions dialog user experience
307- Enhanced sessions dialog responsiveness and visual feedback
308- Fixed IDE compatibility issue by removing worktree support check
309- Fixed security vulnerability where Bash tool permission checks could be bypassed using prefix matching
310
311## 1.0.119
312
313- Fix Windows issue where process visually freezes on entering interactive mode
314- Support dynamic headers for MCP servers via headersHelper configuration
315- Fix thinking mode not working in headless sessions
316- Fix slash commands now properly update allowed tools instead of replacing them
317
318## 1.0.117
319
320- Add Ctrl-R history search to recall previous commands like bash/zsh
321- Fix input lag while typing, especially on Windows
322- Add sed command to auto-allowed commands in acceptEdits mode
323- Fix Windows PATH comparison to be case-insensitive for drive letters
324- Add permissions management hint to /add-dir output
325
326## 1.0.115
327
328- Improve thinking mode display with enhanced visual effects
329- Type /t to temporarily disable thinking mode in your prompt
330- Improve path validation for glob and grep tools
331- Show condensed output for post-tool hooks to reduce visual clutter
332- Fix visual feedback when loading state completes
333- Improve UI consistency for permission request dialogs
334
335## 1.0.113
336
337- Deprecated piped input in interactive mode
338- Move Ctrl+R keybinding for toggling transcript to Ctrl+O
339
340## 1.0.112
341
342- Transcript mode (Ctrl+R): Added the model used to generate each assistant message
343- Addressed issue where some Claude Max users were incorrectly recognized as Claude Pro users
344- Hooks: Added systemMessage support for SessionEnd hooks
345- Added `spinnerTipsEnabled` setting to disable spinner tips
346- IDE: Various improvements and bug fixes
347
348## 1.0.111
349
350- /model now validates provided model names
351- Fixed Bash tool crashes caused by malformed shell syntax parsing
352
353## 1.0.110
354
355- /terminal-setup command now supports WezTerm
356- MCP: OAuth tokens now proactively refresh before expiration
357- Fixed reliability issues with background Bash processes
358
359## 1.0.109
360
361- SDK: Added partial message streaming support via `--include-partial-messages` CLI flag
362
363## 1.0.106
364
365- Windows: Fixed path permission matching to consistently use POSIX format (e.g., `Read(//c/Users/...)`)
366
367## 1.0.97
368
369- Settings: /doctor now validates permission rule syntax and suggests corrections
370
371## 1.0.94
372
373- Vertex: add support for global endpoints for supported models
374- /memory command now allows direct editing of all imported memory files
375- SDK: Add custom tools as callbacks
376- Added /todos command to list current todo items
377
378## 1.0.93
379
380- Windows: Add alt + v shortcut for pasting images from clipboard
381- Support NO_PROXY environment variable to bypass proxy for specified hostnames and IPs
382
383## 1.0.90
384
385- Settings file changes take effect immediately - no restart required
386
387## 1.0.88
388
389- Fixed issue causing "OAuth authentication is currently not supported"
390- Status line input now includes `exceeds_200k_tokens`
391- Fixed incorrect usage tracking in /cost.
392- Introduced `ANTHROPIC_DEFAULT_SONNET_MODEL` and `ANTHROPIC_DEFAULT_OPUS_MODEL` for controlling model aliases opusplan, opus, and sonnet.
393- Bedrock: Updated default Sonnet model to Sonnet 4
394
395## 1.0.86
396
397- Added /context to help users self-serve debug context issues
398- SDK: Added UUID support for all SDK messages
399- SDK: Added `--replay-user-messages` to replay user messages back to stdout
400
401## 1.0.85
402
403- Status line input now includes session cost info
404- Hooks: Introduced SessionEnd hook
405
406## 1.0.84
407
408- Fix tool_use/tool_result id mismatch error when network is unstable
409- Fix Claude sometimes ignoring real-time steering when wrapping up a task
410- @-mention: Add ~/.claude/\* files to suggestions for easier agent, output style, and slash command editing
411- Use built-in ripgrep by default; to opt out of this behavior, set USE_BUILTIN_RIPGREP=0
412
413## 1.0.83
414
415- @-mention: Support files with spaces in path
416- New shimmering spinner
417
418## 1.0.82
419
420- SDK: Add request cancellation support
421- SDK: New additionalDirectories option to search custom paths, improved slash command processing
422- Settings: Validation prevents invalid fields in .claude/settings.json files
423- MCP: Improve tool name consistency
424- Bash: Fix crash when Claude tries to automatically read large files
425
426## 1.0.81
427
428- Released output styles, including new built-in educational output styles "Explanatory" and "Learning". Docs: https://docs.claude.com/en/docs/claude-code/output-styles
429- Agents: Fix custom agent loading when agent files are unparsable
430
431## 1.0.80
432
433- UI improvements: Fix text contrast for custom subagent colors and spinner rendering issues
434
435## 1.0.77
436
437- Bash tool: Fix heredoc and multiline string escaping, improve stderr redirection handling
438- SDK: Add session support and permission denial tracking
439- Fix token limit errors in conversation summarization
440- Opus Plan Mode: New setting in `/model` to run Opus only in plan mode, Sonnet otherwise
441
442## 1.0.73
443
444- MCP: Support multiple config files with `--mcp-config file1.json file2.json`
445- MCP: Press Esc to cancel OAuth authentication flows
446- Bash: Improved command validation and reduced false security warnings
447- UI: Enhanced spinner animations and status line visual hierarchy
448- Linux: Added support for Alpine and musl-based distributions (requires separate ripgrep installation)
449
450## 1.0.72
451
452- Ask permissions: have Claude Code always ask for confirmation to use specific tools with /permissions
453
454## 1.0.71
455
456- Background commands: (Ctrl-b) to run any Bash command in the background so Claude can keep working (great for dev servers, tailing logs, etc.)
457- Customizable status line: add your terminal prompt to Claude Code with /statusline
458
459## 1.0.70
460
461- Performance: Optimized message rendering for better performance with large contexts
462- Windows: Fixed native file search, ripgrep, and subagent functionality
463- Added support for @-mentions in slash command arguments
464
465## 1.0.69
466
467- Upgraded Opus to version 4.1
468
469## 1.0.68
470
471- Fix incorrect model names being used for certain commands like `/pr-comments`
472- Windows: improve permissions checks for allow / deny tools and project trust. This may create a new project entry in `.claude.json` - manually merge the history field if desired.
473- Windows: improve sub-process spawning to eliminate "No such file or directory" when running commands like pnpm
474- Enhanced /doctor command with CLAUDE.md and MCP tool context for self-serve debugging
475- SDK: Added canUseTool callback support for tool confirmation
476- Added `disableAllHooks` setting
477- Improved file suggestions performance in large repos
478
479## 1.0.65
480
481- IDE: Fixed connection stability issues and error handling for diagnostics
482- Windows: Fixed shell environment setup for users without .bashrc files
483
484## 1.0.64
485
486- Agents: Added model customization support - you can now specify which model an agent should use
487- Agents: Fixed unintended access to the recursive agent tool
488- Hooks: Added systemMessage field to hook JSON output for displaying warnings and context
489- SDK: Fixed user input tracking across multi-turn conversations
490- Added hidden files to file search and @-mention suggestions
491
492## 1.0.63
493
494- Windows: Fixed file search, @agent mentions, and custom slash commands functionality
495
496## 1.0.62
497
498- Added @-mention support with typeahead for custom agents. @<your-custom-agent> to invoke it
499- Hooks: Added SessionStart hook for new session initialization
500- /add-dir command now supports typeahead for directory paths
501- Improved network connectivity check reliability
502
503## 1.0.61
504
505- Transcript mode (Ctrl+R): Changed Esc to exit transcript mode rather than interrupt
506- Settings: Added `--settings` flag to load settings from a JSON file
507- Settings: Fixed resolution of settings files paths that are symlinks
508- OTEL: Fixed reporting of wrong organization after authentication changes
509- Slash commands: Fixed permissions checking for allowed-tools with Bash
510- IDE: Added support for pasting images in VSCode MacOS using ⌘+V
511- IDE: Added `CLAUDE_CODE_AUTO_CONNECT_IDE=false` for disabling IDE auto-connection
512- Added `CLAUDE_CODE_SHELL_PREFIX` for wrapping Claude and user-provided shell commands run by Claude Code
513
514## 1.0.60
515
516- You can now create custom subagents for specialized tasks! Run /agents to get started
517
518## 1.0.59
519
520- SDK: Added tool confirmation support with canUseTool callback
521- SDK: Allow specifying env for spawned process
522- Hooks: Exposed PermissionDecision to hooks (including "ask")
523- Hooks: UserPromptSubmit now supports additionalContext in advanced JSON output
524- Fixed issue where some Max users that specified Opus would still see fallback to Sonnet
525
526## 1.0.58
527
528- Added support for reading PDFs
529- MCP: Improved server health status display in 'claude mcp list'
530- Hooks: Added CLAUDE_PROJECT_DIR env var for hook commands
531
532## 1.0.57
533
534- Added support for specifying a model in slash commands
535- Improved permission messages to help Claude understand allowed tools
536- Fix: Remove trailing newlines from bash output in terminal wrapping
537
538## 1.0.56
539
540- Windows: Enabled shift+tab for mode switching on versions of Node.js that support terminal VT mode
541- Fixes for WSL IDE detection
542- Fix an issue causing awsRefreshHelper changes to .aws directory not to be picked up
543
544## 1.0.55
545
546- Clarified knowledge cutoff for Opus 4 and Sonnet 4 models
547- Windows: fixed Ctrl+Z crash
548- SDK: Added ability to capture error logging
549- Add --system-prompt-file option to override system prompt in print mode
550
551## 1.0.54
552
553- Hooks: Added UserPromptSubmit hook and the current working directory to hook inputs
554- Custom slash commands: Added argument-hint to frontmatter
555- Windows: OAuth uses port 45454 and properly constructs browser URL
556- Windows: mode switching now uses alt + m, and plan mode renders properly
557- Shell: Switch to in-memory shell snapshot to fix file-related errors
558
559## 1.0.53
560
561- Updated @-mention file truncation from 100 lines to 2000 lines
562- Add helper script settings for AWS token refresh: awsAuthRefresh (for foreground operations like aws sso login) and awsCredentialExport (for background operation with STS-like response).
563
564## 1.0.52
565
566- Added support for MCP server instructions
567
568## 1.0.51
569
570- Added support for native Windows (requires Git for Windows)
571- Added support for Bedrock API keys through environment variable AWS_BEARER_TOKEN_BEDROCK
572- Settings: /doctor can now help you identify and fix invalid setting files
573- `--append-system-prompt` can now be used in interactive mode, not just --print/-p.
574- Increased auto-compact warning threshold from 60% to 80%
575- Fixed an issue with handling user directories with spaces for shell snapshots
576- OTEL resource now includes os.type, os.version, host.arch, and wsl.version (if running on Windows Subsystem for Linux)
577- Custom slash commands: Fixed user-level commands in subdirectories
578- Plan mode: Fixed issue where rejected plan from sub-task would get discarded
579
580## 1.0.48
581
582- Fixed a bug in v1.0.45 where the app would sometimes freeze on launch
583- Added progress messages to Bash tool based on the last 5 lines of command output
584- Added expanding variables support for MCP server configuration
585- Moved shell snapshots from /tmp to ~/.claude for more reliable Bash tool calls
586- Improved IDE extension path handling when Claude Code runs in WSL
587- Hooks: Added a PreCompact hook
588- Vim mode: Added c, f/F, t/T
589
590## 1.0.45
591
592- Redesigned Search (Grep) tool with new tool input parameters and features
593- Disabled IDE diffs for notebook files, fixing "Timeout waiting after 1000ms" error
594- Fixed config file corruption issue by enforcing atomic writes
595- Updated prompt input undo to Ctrl+\_ to avoid breaking existing Ctrl+U behavior, matching zsh's undo shortcut
596- Stop Hooks: Fixed transcript path after /clear and fixed triggering when loop ends with tool call
597- Custom slash commands: Restored namespacing in command names based on subdirectories. For example, .claude/commands/frontend/component.md is now /frontend:component, not /component.
598
599## 1.0.44
600
601- New /export command lets you quickly export a conversation for sharing
602- MCP: resource_link tool results are now supported
603- MCP: tool annotations and tool titles now display in /mcp view
604- Changed Ctrl+Z to suspend Claude Code. Resume by running `fg`. Prompt input undo is now Ctrl+U.
605
606## 1.0.43
607
608- Fixed a bug where the theme selector was saving excessively
609- Hooks: Added EPIPE system error handling
610
611## 1.0.42
612
613- Added tilde (`~`) expansion support to `/add-dir` command
614
615## 1.0.41
616
617- Hooks: Split Stop hook triggering into Stop and SubagentStop
618- Hooks: Enabled optional timeout configuration for each command
619- Hooks: Added "hook_event_name" to hook input
620- Fixed a bug where MCP tools would display twice in tool list
621- New tool parameters JSON for Bash tool in `tool_decision` event
622
623## 1.0.40
624
625- Fixed a bug causing API connection errors with UNABLE_TO_GET_ISSUER_CERT_LOCALLY if `NODE_EXTRA_CA_CERTS` was set
626
627## 1.0.39
628
629- New Active Time metric in OpenTelemetry logging
630
631## 1.0.38
632
633- Released hooks. Special thanks to community input in https://github.com/anthropics/claude-code/issues/712. Docs: https://docs.claude.com/en/docs/claude-code/hooks
634
635## 1.0.37
636
637- Remove ability to set `Proxy-Authorization` header via ANTHROPIC_AUTH_TOKEN or apiKeyHelper
638
639## 1.0.36
640
641- Web search now takes today's date into context
642- Fixed a bug where stdio MCP servers were not terminating properly on exit
643
644## 1.0.35
645
646- Added support for MCP OAuth Authorization Server discovery
647
648## 1.0.34
649
650- Fixed a memory leak causing a MaxListenersExceededWarning message to appear
651
652## 1.0.33
653
654- Improved logging functionality with session ID support
655- Added prompt input undo functionality (Ctrl+Z and vim 'u' command)
656- Improvements to plan mode
657
658## 1.0.32
659
660- Updated loopback config for litellm
661- Added forceLoginMethod setting to bypass login selection screen
662
663## 1.0.31
664
665- Fixed a bug where ~/.claude.json would get reset when file contained invalid JSON
666
667## 1.0.30
668
669- Custom slash commands: Run bash output, @-mention files, enable thinking with thinking keywords
670- Improved file path autocomplete with filename matching
671- Added timestamps in Ctrl-r mode and fixed Ctrl-c handling
672- Enhanced jq regex support for complex filters with pipes and select
673
674## 1.0.29
675
676- Improved CJK character support in cursor navigation and rendering
677
678## 1.0.28
679
680- Slash commands: Fix selector display during history navigation
681- Resizes images before upload to prevent API size limit errors
682- Added XDG_CONFIG_HOME support to configuration directory
683- Performance optimizations for memory usage
684- New attributes (terminal.type, language) in OpenTelemetry logging
685
686## 1.0.27
687
688- Streamable HTTP MCP servers are now supported
689- Remote MCP servers (SSE and HTTP) now support OAuth
690- MCP resources can now be @-mentioned
691- /resume slash command to switch conversations within Claude Code
692
693## 1.0.25
694
695- Slash commands: moved "project" and "user" prefixes to descriptions
696- Slash commands: improved reliability for command discovery
697- Improved support for Ghostty
698- Improved web search reliability
699
700## 1.0.24
701
702- Improved /mcp output
703- Fixed a bug where settings arrays got overwritten instead of merged
704
705## 1.0.23
706
707- Released TypeScript SDK: import @anthropic-ai/claude-code to get started
708- Released Python SDK: pip install claude-code-sdk to get started
709
710## 1.0.22
711
712- SDK: Renamed `total_cost` to `total_cost_usd`
713
714## 1.0.21
715
716- Improved editing of files with tab-based indentation
717- Fix for tool_use without matching tool_result errors
718- Fixed a bug where stdio MCP server processes would linger after quitting Claude Code
719
720## 1.0.18
721
722- Added --add-dir CLI argument for specifying additional working directories
723- Added streaming input support without require -p flag
724- Improved startup performance and session storage performance
725- Added CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR environment variable to freeze working directory for bash commands
726- Added detailed MCP server tools display (/mcp)
727- MCP authentication and permission improvements
728- Added auto-reconnection for MCP SSE connections on disconnect
729- Fixed issue where pasted content was lost when dialogs appeared
730
731## 1.0.17
732
733- We now emit messages from sub-tasks in -p mode (look for the parent_tool_use_id property)
734- Fixed crashes when the VS Code diff tool is invoked multiple times quickly
735- MCP server list UI improvements
736- Update Claude Code process title to display "claude" instead of "node"
737
738## 1.0.11
739
740- Claude Code can now also be used with a Claude Pro subscription
741- Added /upgrade for smoother switching to Claude Max plans
742- Improved UI for authentication from API keys and Bedrock/Vertex/external auth tokens
743- Improved shell configuration error handling
744- Improved todo list handling during compaction
745
746## 1.0.10
747
748- Added markdown table support
749- Improved streaming performance
750
751## 1.0.8
752
753- Fixed Vertex AI region fallback when using CLOUD_ML_REGION
754- Increased default otel interval from 1s -> 5s
755- Fixed edge cases where MCP_TIMEOUT and MCP_TOOL_TIMEOUT weren't being respected
756- Fixed a regression where search tools unnecessarily asked for permissions
757- Added support for triggering thinking non-English languages
758- Improved compacting UI
759
760## 1.0.7
761
762- Renamed /allowed-tools -> /permissions
763- Migrated allowedTools and ignorePatterns from .claude.json -> settings.json
764- Deprecated claude config commands in favor of editing settings.json
765- Fixed a bug where --dangerously-skip-permissions sometimes didn't work in --print mode
766- Improved error handling for /install-github-app
767- Bugfixes, UI polish, and tool reliability improvements
768
769## 1.0.6
770
771- Improved edit reliability for tab-indented files
772- Respect CLAUDE_CONFIG_DIR everywhere
773- Reduced unnecessary tool permission prompts
774- Added support for symlinks in @file typeahead
775- Bugfixes, UI polish, and tool reliability improvements
776
777## 1.0.4
778
779- Fixed a bug where MCP tool errors weren't being parsed correctly
780
781## 1.0.1
782
783- Added `DISABLE_INTERLEAVED_THINKING` to give users the option to opt out of interleaved thinking.
784- Improved model references to show provider-specific names (Sonnet 3.7 for Bedrock, Sonnet 4 for Console)
785- Updated documentation links and OAuth process descriptions
786
787## 1.0.0
788
789- Claude Code is now generally available
790- Introducing Sonnet 4 and Opus 4 models
791
792## 0.2.125
793
794- Breaking change: Bedrock ARN passed to `ANTHROPIC_MODEL` or `ANTHROPIC_SMALL_FAST_MODEL` should no longer contain an escaped slash (specify `/` instead of `%2F`)
795- Removed `DEBUG=true` in favor of `ANTHROPIC_LOG=debug`, to log all requests
796
797## 0.2.117
798
799- Breaking change: --print JSON output now returns nested message objects, for forwards-compatibility as we introduce new metadata fields
800- Introduced settings.cleanupPeriodDays
801- Introduced CLAUDE_CODE_API_KEY_HELPER_TTL_MS env var
802- Introduced --debug mode
803
804## 0.2.108
805
806- You can now send messages to Claude while it works to steer Claude in real-time
807- Introduced BASH_DEFAULT_TIMEOUT_MS and BASH_MAX_TIMEOUT_MS env vars
808- Fixed a bug where thinking was not working in -p mode
809- Fixed a regression in /cost reporting
810- Deprecated MCP wizard interface in favor of other MCP commands
811- Lots of other bugfixes and improvements
812
813## 0.2.107
814
815- CLAUDE.md files can now import other files. Add @path/to/file.md to ./CLAUDE.md to load additional files on launch
816
817## 0.2.106
818
819- MCP SSE server configs can now specify custom headers
820- Fixed a bug where MCP permission prompt didn't always show correctly
821
822## 0.2.105
823
824- Claude can now search the web
825- Moved system & account status to /status
826- Added word movement keybindings for Vim
827- Improved latency for startup, todo tool, and file edits
828
829## 0.2.102
830
831- Improved thinking triggering reliability
832- Improved @mention reliability for images and folders
833- You can now paste multiple large chunks into one prompt
834
835## 0.2.100
836
837- Fixed a crash caused by a stack overflow error
838- Made db storage optional; missing db support disables --continue and --resume
839
840## 0.2.98
841
842- Fixed an issue where auto-compact was running twice
843
844## 0.2.96
845
846- Claude Code can now also be used with a Claude Max subscription (https://claude.ai/upgrade)
847
848## 0.2.93
849
850- Resume conversations from where you left off from with "claude --continue" and "claude --resume"
851- Claude now has access to a Todo list that helps it stay on track and be more organized
852
853## 0.2.82
854
855- Added support for --disallowedTools
856- Renamed tools for consistency: LSTool -> LS, View -> Read, etc.
857
858## 0.2.75
859
860- Hit Enter to queue up additional messages while Claude is working
861- Drag in or copy/paste image files directly into the prompt
862- @-mention files to directly add them to context
863- Run one-off MCP servers with `claude --mcp-config <path-to-file>`
864- Improved performance for filename auto-complete
865
866## 0.2.74
867
868- Added support for refreshing dynamically generated API keys (via apiKeyHelper), with a 5 minute TTL
869- Task tool can now perform writes and run bash commands
870
871## 0.2.72
872
873- Updated spinner to indicate tokens loaded and tool usage
874
875## 0.2.70
876
877- Network commands like curl are now available for Claude to use
878- Claude can now run multiple web queries in parallel
879- Pressing ESC once immediately interrupts Claude in Auto-accept mode
880
881## 0.2.69
882
883- Fixed UI glitches with improved Select component behavior
884- Enhanced terminal output display with better text truncation logic
885
886## 0.2.67
887
888- Shared project permission rules can be saved in .claude/settings.json
889
890## 0.2.66
891
892- Print mode (-p) now supports streaming output via --output-format=stream-json
893- Fixed issue where pasting could trigger memory or bash mode unexpectedly
894
895## 0.2.63
896
897- Fixed an issue where MCP tools were loaded twice, which caused tool call errors
898
899## 0.2.61
900
901- Navigate menus with vim-style keys (j/k) or bash/emacs shortcuts (Ctrl+n/p) for faster interaction
902- Enhanced image detection for more reliable clipboard paste functionality
903- Fixed an issue where ESC key could crash the conversation history selector
904
905## 0.2.59
906
907- Copy+paste images directly into your prompt
908- Improved progress indicators for bash and fetch tools
909- Bugfixes for non-interactive mode (-p)
910
911## 0.2.54
912
913- Quickly add to Memory by starting your message with '#'
914- Press ctrl+r to see full output for long tool results
915- Added support for MCP SSE transport
916
917## 0.2.53
918
919- New web fetch tool lets Claude view URLs that you paste in
920- Fixed a bug with JPEG detection
921
922## 0.2.50
923
924- New MCP "project" scope now allows you to add MCP servers to .mcp.json files and commit them to your repository
925
926## 0.2.49
927
928- Previous MCP server scopes have been renamed: previous "project" scope is now "local" and "global" scope is now "user"
929
930## 0.2.47
931
932- Press Tab to auto-complete file and folder names
933- Press Shift + Tab to toggle auto-accept for file edits
934- Automatic conversation compaction for infinite conversation length (toggle with /config)
935
936## 0.2.44
937
938- Ask Claude to make a plan with thinking mode: just say 'think' or 'think harder' or even 'ultrathink'
939
940## 0.2.41
941
942- MCP server startup timeout can now be configured via MCP_TIMEOUT environment variable
943- MCP server startup no longer blocks the app from starting up
944
945## 0.2.37
946
947- New /release-notes command lets you view release notes at any time
948- `claude config add/remove` commands now accept multiple values separated by commas or spaces
949
950## 0.2.36
951
952- Import MCP servers from Claude Desktop with `claude mcp add-from-claude-desktop`
953- Add MCP servers as JSON strings with `claude mcp add-json <n> <json>`
954
955## 0.2.34
956
957- Vim bindings for text input - enable with /vim or /config
958
959## 0.2.32
960
961- Interactive MCP setup wizard: Run "claude mcp add" to add MCP servers with a step-by-step interface
962- Fix for some PersistentShell issues
963
964## 0.2.31
965
966- Custom slash commands: Markdown files in .claude/commands/ directories now appear as custom slash commands to insert prompts into your conversation
967- MCP debug mode: Run with --mcp-debug flag to get more information about MCP server errors
968
969## 0.2.30
970
971- Added ANSI color theme for better terminal compatibility
972- Fixed issue where slash command arguments weren't being sent properly
973- (Mac-only) API keys are now stored in macOS Keychain
974
975## 0.2.26
976
977- New /approved-tools command for managing tool permissions
978- Word-level diff display for improved code readability
979- Fuzzy matching for slash commands
980
981## 0.2.21
982
983- Fuzzy matching for /commands