January 16, 2026
New Claude Code version (2.1.9 )
New features
Added auto:N syntax for configuring the MCP tool search auto-enable threshold, where N is the context window percentage (0-100)
Added plansDirectory setting to customize where plan files are stored
Added external editor support (Ctrl+G) in AskUserQuestion "Other" input field
Added session URL attribution to commits and PRs created from web sessions
Added support for PreToolUse hooks to return additionalContext to the model
Added ${CLAUDE_SESSION_ID} string substitution for skills to access the current session ID
Major bug fixes
Fixed long sessions with parallel tool calls failing with an API error about orphan tool_result blocks
Fixed MCP server reconnection hanging when cached connection promise never resolves
Fixed Ctrl+Z suspend not working in terminals using Kitty keyboard protocol (Ghostty, iTerm2, kitty, WezTerm)
Claude Code changes
Changed documents
New --allow-dangerously-skip-permissions flag to enable permission bypassing as an option without immediately activating it [line 24 ] [Source ]
New --append-system-prompt-file flag to load additional system prompt text from a file [line 27 ] [Source ]
New --disable-slash-commands flag to disable all skills and slash commands for a session [line 33 ] [Source ]
New --max-budget-usd flag to set maximum dollar amount to spend on API calls before stopping [line 41 ] [Source ]
New --no-session-persistence flag to disable session persistence so sessions are not saved to disk [line 46 ] [Source ]
New --remote flag to create a new web session on claude.ai with the provided task description [line 52 ] [Source ]
New --teleport flag to resume a web session in your local terminal [line 60 ] [Source ]
Updated system prompt flags section to include --append-system-prompt-file as the fourth flag option [lines 104-153 ] [Source ]
Extended thinking is now enabled by default with up to 31,999 tokens budget [line 774 ] [Source ]
Clarified that phrases like "think", "ultrathink", etc. are interpreted as regular prompt instructions and don't allocate thinking tokens [line 777 ] [Source ]
Simplified thinking mode configuration table - removed per-request ultrathink section [lines 779-787 ] [Source ]
MAX_THINKING_TOKENS now limits the budget rather than enabling thinking [lines 805-808 ] [Source ]
PreToolUse hooks can now provide context to Claude using additionalContext field [lines 886-903 ] [Source ]
Expanded URL filtering guidance to recommend restricting Bash network tools and using PreToolUse hooks [lines 124-130 ] [Source ]
Added clarification that native installations auto-update in the background [line 44 ] [Source ]
Added note that Homebrew and WinGet installations do not auto-update [lines 54, 64 ] [Source ]
New "Scale with MCP Tool Search" section explaining dynamic on-demand tool loading when MCP tools exceed context threshold [lines 1115-1175 ] [Source ]
Added clarification that native installations auto-update in the background [line 44 ] [Source ]
Added note that Homebrew and WinGet installations do not auto-update [lines 54, 64 ] [Source ]
Added clarification that native installations auto-update in the background [line 51 ] [Source ]
Added note that Homebrew and WinGet installations do not auto-update [lines 59, 69 ] [Source ]
New plansDirectory setting to customize where plan files are stored [line 159 ] [Source ]
New showTurnDuration setting to show/hide turn duration messages [line 160 ] [Source ]
New CLAUDE_CODE_TMPDIR environment variable to override the temp directory [line 773 ] [Source ]
New ENABLE_TOOL_SEARCH environment variable to control MCP tool search [line 801 ] [Source ]
Updated MAX_THINKING_TOKENS description - now overrides budget instead of enabling thinking [line 805 ] [Source ]
Updated macOS system requirement from 10.15+ to 13.0+ [line 3 ] [Source ]
Added clarification about auto-update behavior for different installation methods [lines 52, 60, 70 ] [Source ]
New section on automatic discovery of Skills from nested directories (supports monorepo setups) [lines 136-138 ] [Source ]
New section on available string substitutions including $ARGUMENTS and ${CLAUDE_SESSION_ID} [lines 200-225 ] [Source ]
/config now supports typing to search and filter settings [line 11 ] [Source ]
/doctor now shows Updates section with auto-update channel and available npm versions [line 14 ] [Source ]
/stats now supports pressing r to cycle date ranges [line 41 ] [Source ]
Added used_percentage and remaining_percentage pre-calculated fields to context_window object [lines 237-238 ] [Source ]
Added simple example using pre-calculated percentages for context window display [lines 246-260 ] [Source ]
API changes
Changed documents
additionalContext field now supported in PreToolUse hooks (previously only PostToolUse and other hooks) [line 240 ] [Source ]
Added warning that subagents inherit bypassPermissions mode and it cannot be overridden [line 57 ] [Source ]
Added security warning about allowUnixSockets granting access to powerful system services like Docker [line 1960 ] [Source ]
Added warning about combining bypassPermissions with allow_unsandboxed_commands allowing silent sandbox escape [line 2043 ] [Source ]
Added security warning about allowUnixSockets granting access to powerful system services like Docker [line 2081 ] [Source ]
Added warning about combining bypassPermissions with allowUnsandboxedCommands allowing silent sandbox escape [line 2164 ] [Source ]