Claude Code Changelog
Release-by-release notes for Claude Code. Features, bug fixes, and breaking changes from the first beta through the newest 2026 builds.
Every Claude Code release, in order. Features shipped, bugs squashed, and anything that broke along the way. Coverage runs from the v0.2 beta up through March 2026.
Looking for the latest releases? This log stops at March 2026. Run claude --version in your terminal for whatever is current right now.
Version 2.1 Series (2026)
v2.1.81
- Bare mode. New
--bareflag for scripted-pcalls. Skips hooks, LSP, plugin sync, and skill directory walks. NeedsANTHROPIC_API_KEYorapiKeyHelperthrough--settings - Channels permission relay. The
--channelsflag lets channel servers forward tool approval prompts to your phone - OAuth session fix. Running sessions no longer force repeated logins when a sibling session refreshes its OAuth token
- Voice mode fixes. Retry failures stop getting swallowed silently, and audio recovers after the server drops the WebSocket
- Beta header fix.
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASnow suppresses the structured-outputs beta header like it should
v2.1.80
- Channels feature. Plugin-based messaging for Telegram, Discord, and iMessage
- Bun runtime support. Plugins can run on Bun
v2.1.50
- Worktrees. First-class git worktree support behind a
--worktreeflag
Version 2.0 Series
v2.0.42
- SubagentStop fields.
SubagentStophooks now exposeagent_idandagent_transcript_path
v2.0.41
- Stop hook model. Prompt-based stop hooks gain a
modelparameter - Slash command fix. Commands from user settings stop loading twice
- Plugin hook fix. Crashes on plugin command hook timeouts are gone
- Bedrock model fix. Duplicate Opus entries no longer show up for Bedrock users
v2.0.37
- Notification idleness. Idleness math for notifications corrected
- Hook matchers. Notification hook events now accept matcher values
- Output styles option. Frontmatter gets a
keep-coding-instructionsswitch
v2.0.35
- Fuzzy search. Command search quality improved
- VSCode fonts. The extension honors
chat.fontSizeandchat.fontFamily - Exit delay. New
CLAUDE_CODE_EXIT_AFTER_STOP_DELAYfor scripted workflows
v2.0.34
- VSCode permission mode. New setting picks the starting permission mode for fresh chats
- Rust fuzzy finder. File path suggestions run on a native Rust fuzzy finder
- OAuth fix. MCP servers no longer get stuck in an OAuth token refresh loop
- Memory fix. Big files no longer crash on read or write
v2.0.32
- Output styles restored. Un-deprecated on community pushback
- Company announcements. New
companyAnnouncementssetting for startup messages
v2.0.31
- Windows mode switch. Native installs now use shift+tab to flip modes
- Vertex web search. Web search works on supported models
- VSCode gitignore. File search respects the new
respectGitIgnoreoption
v2.0.30
- macOS keychain hint. API key errors now surface a
security unlock-keychaintip - Sandbox setting. New
allowUnsandboxedCommandssandbox option - Agent disallowedTools. Custom agents can list a
disallowedToolsfield - Prompt-based stop hooks. Stop hooks can now be prompt-based
- SSE MCP on native. Native builds support SSE MCP servers
v2.0.28
- Plan subagent. A new Plan subagent handles plan mode
- Subagent resume. Claude can resume a subagent on its own
- Dynamic model selection. Claude picks which model each subagent uses
- SDK budget flag. New
--max-budget-usdflag
v2.0.27
- New permission UI. Permission prompts got a redesign
- Branch filtering. The session resume screen filters by current branch and supports search
v2.0.25
- Legacy SDK removed. The old SDK entrypoint is gone. Migrate to @anthropic-ai/claude-agent-sdk
v2.0.24
- Skills fix. Project-level skills now load under
--setting-sources 'project' - Web teleport. Claude Code Web supports Web -> CLI teleport
- Sandbox mode. BashTool sandbox mode shipped on Linux and Mac
v2.0.21
- MCP structuredContent. Tool responses support the MCP
structuredContentfield - Interactive questions. A new interactive question tool for better back-and-forth
- Enhanced plan mode. Claude asks more clarifying questions while planning
- Haiku 4.5 for Pro. Pro users can pick Haiku 4.5
v2.0.20
- Claude Skills. Claude Skills are now supported
v2.0.19
- Auto-background commands. Long-running bash commands get sent to the background instead of killed
- Print mode fix. Haiku no longer gets called pointlessly in print mode
v2.0.17
- Haiku 4.5 released. Haiku 4.5 joins the model picker
- Smart model switching. Haiku 4.5 flips to Sonnet for planning and stays on Haiku to execute
- Explore subagent. A new Explore subagent runs on Haiku for cheap codebase searches
v2.0.12
- Plugin System Released. Extend Claude Code from marketplaces with custom commands, agents, hooks, and MCP servers
- Plugin commands.
/plugin install,/plugin enable/disable, and/plugin marketplacefor plugin management - Team collaboration. Repo-level plugin config through
extraKnownMarketplaces - Plugin validation.
/plugin validatechecks plugin structure
v2.0.10
- Terminal renderer rewrite. The terminal renderer got rebuilt for a smoother UI
- MCP toggle. @-mention a server (or use
/mcp) to flip it on or off - Tab completion. Bash mode supports tab completion on shell commands
- Hook enhancements. PreToolUse hooks can now rewrite tool inputs
- Editor integration. Ctrl-G pops your prompt into the system editor
v2.0.0
- Native VS Code extension. Brand new native VS Code extension
- Fresh UI. A full visual refresh across the app
- Rewind feature.
/rewinda conversation to roll back code changes - Usage tracking.
/usageshows your plan limits - Thinking toggle. Tab toggles thinking, and the setting sticks across sessions
- History search. Ctrl-R searches history
- SDK rename. The Claude Code SDK is now the Claude Agent SDK
- Dynamic agents. Add subagents on the fly with
--agents
Version 1.0 Series
v1.0.126
- Context command.
/contextnow works on Bedrock and Vertex - mTLS support. HTTP-based OpenTelemetry exporters support mTLS
v1.0.124
- Bash login control. Set
CLAUDE_BASH_NO_LOGINto skip the login shell for BashTool - Security improvements. Claude no longer learns the allowed tool list when permission is denied
- Bash security. A permission-check hole in the Bash tool got patched
v1.0.123
- Bash permission rules. Output redirections work in rule matching
- Thinking mode fix. Phrases like "don't think" no longer trip thinking mode
- SlashCommand tool. A new SlashCommand tool lets Claude call your slash commands
v1.0.117
- History search. Ctrl-R brings a bash/zsh-style history search
- Input lag fix. Typing lag, especially on Windows, is fixed
v1.0.115
- Thinking display. Thinking mode gained richer visual effects
- Thinking toggle. Type
/tin a prompt to pause thinking mode once
v1.0.110
- WezTerm support.
/terminal-setupcovers WezTerm - OAuth refresh. MCP OAuth tokens refresh before they expire
v1.0.94
- Vertex global endpoints. Global endpoints now work for supported models
- Memory editing.
/memorylets you edit imported memory files directly - Todos command. A new
/todoscommand lists active todo items
v1.0.90
- Settings reload. Settings changes take effect on save. No restart
v1.0.88
- OAuth fix. The "OAuth authentication is currently not supported" error is gone
- Status line. The status line now flags
exceeds_200k_tokens - Model environment variables. New
ANTHROPIC_DEFAULT_SONNET_MODELandANTHROPIC_DEFAULT_OPUS_MODEL
v1.0.85
- Cost visibility. The status line shows live session costs
- Hooks enhancement. A new SessionEnd hook runs cleanup code
v1.0.81
- Output styles released. New "Explanatory" and "Learning" educational styles
v1.0.77
- Opus Plan Mode. A
/modelsetting pins Opus to planning only
v1.0.73
- MCP flexibility. Multiple config files work:
--mcp-config file1.json file2.json - Alpine Linux support. musl-based distros are now supported
v1.0.71
- Background commands. Ctrl+B sends commands to the background, ideal for dev servers
- Custom status line. Build your own terminal status line with
/statusline
v1.0.69
- Opus 4.1. A major model upgrade
v1.0.60
- Custom subagents. Build specialized subagents through
/agents
v1.0.58
- PDF support. PDF reading added
v1.0.51
- Native Windows. Native Windows support landed. Requires Git for Windows
v1.0.38
- Hooks released. Custom automation hooks for pre-tool and post-tool events
v1.0.27
- MCP improvements. Streamable HTTP MCP servers, OAuth support, and @-mentionable resources
- Resume command. A
/resumeslash command to switch between conversations
v1.0.23
- SDK releases. TypeScript and Python SDKs shipped
v1.0.11
- Claude Pro support. Claude Code works under a Claude Pro subscription
v1.0.0
- General availability. Claude Code shipped GA
- New models. Sonnet 4 and Opus 4 introduced
Version 0.2 Series (Beta)
v0.2.96
- Claude Max. Claude Code works under a Claude Max subscription
v0.2.93
- Resume conversations.
claude --continueandclaude --resume - Todo list. Claude gets a Todo list for organizing work
v0.2.75
- Message queuing. Hit Enter to stack extra messages while Claude is working
- Image support. Drag or paste image files straight in
- @-mentions. @-mention a file to push it into context
v0.2.54
- Memory shortcut. Prefix a message with
#to add it to Memory - Transcript mode. ctrl+r opens the full output for long tool results
- MCP SSE transport. SSE transport for MCP added
v0.2.50
- MCP project scope. Add MCP servers through
.mcp.jsonand commit the file
v0.2.47
- Auto-complete. Tab auto-completes file and folder names
- Auto-accept toggle. Shift+Tab toggles auto-accept on file edits
- Infinite conversations. Conversations compact on their own
v0.2.44
- Thinking mode. Say "think", "think harder", or "ultrathink" to trigger planning
v0.2.34
- Vim bindings. Turn on via
/vimor/config
v0.2.31
- Custom slash commands. Markdown files under
.claude/commands/show up as custom slash commands - MCP debug mode. The
--mcp-debugflag surfaces more info on MCP server errors
v0.2.21
- Fuzzy matching. Fuzzy matching lands for
/commands
Stop configuring. Start building.