Claude docs changes for January 16th, 2026 [diff]

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

cli-reference [Source]

  • 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]

common-workflows [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]

hooks [Source]

  • PreToolUse hooks can now provide context to Claude using additionalContext field [lines 886-903] [Source]

iam [Source]

  • Expanded URL filtering guidance to recommend restricting Bash network tools and using PreToolUse hooks [lines 124-130] [Source]

index [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]

mcp [Source]

  • New "Scale with MCP Tool Search" section explaining dynamic on-demand tool loading when MCP tools exceed context threshold [lines 1115-1175] [Source]

overview [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]

quickstart [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]

settings [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]

setup [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]

skills [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]

slash-commands [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]

statusline [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

agent-sdk/hooks [Source]

  • additionalContext field now supported in PreToolUse hooks (previously only PostToolUse and other hooks) [line 240] [Source]

agent-sdk/permissions [Source]

  • Added warning that subagents inherit bypassPermissions mode and it cannot be overridden [line 57] [Source]

agent-sdk/python [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]

agent-sdk/typescript [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]