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