Claude Code 2.1.119: Settings Persistence, MCP Fixes, Windows Improvements
Invalid OAuth error response
TL;DR
- Settings now persist to
~/.claude/settings.jsonwith proper override precedence - Major MCP fixes: OAuth handling, plugin spawning on Windows, environment variable substitution
- Vim mode, paste handling, and terminal rendering bugs squashed
New
- Settings persistence —
/configsettings (theme, editor mode, verbose) now save to~/.claude/settings.jsonand respect project/local/policy override precedence prUrlTemplatesetting — Point the footer PR badge at custom code-review URLs instead of always github.comCLAUDE_CODE_HIDE_CWDenv var — Hide working directory in the startup logo--from-prexpansion — Now accepts GitLab merge-request, Bitbucket pull-request, and GitHub Enterprise PR URLs--printmode alignment — Now honors agenttools:anddisallowedTools:frontmatter, matching interactive mode--agentpermission mode — Built-in agents now respect their definition'spermissionMode- PowerShell auto-approval — Tool commands can now be auto-approved in permission mode, matching Bash behavior
- Hook timing data —
PostToolUseandPostToolUseFailureinputs now includeduration_ms(tool execution time) - Parallel MCP reconfiguration — Subagent and SDK MCP servers now connect in parallel instead of serially
- Plugin auto-update — Plugins pinned by another plugin's version constraint now auto-update to the highest satisfying git tag
- Vim mode Esc behavior — Esc in INSERT no longer pulls queued messages back into input; press Esc again to interrupt
- Slash command UX — Suggestions now highlight matched characters; long descriptions wrap to a second line instead of truncating
- Git remote host detection —
owner/repo#Nshorthand links now use your git remote's host instead of always pointing at github.com - OpenTelemetry enhancements —
tool_resultandtool_decisionevents now includetool_use_id;tool_resultalso includestool_input_size_bytes - Status line JSON — stdin JSON now includes
effort.levelandthinking.enabled
Fixed
- CRLF paste handling — Windows clipboards and Xcode console pastes no longer insert extra blank lines
- Multi-line paste newlines — Fixed newline loss in terminals using kitty keyboard protocol inside bracketed paste
- Glob/Grep tool visibility — Tools no longer disappear on native macOS/Linux builds when Bash tool is denied
- Fullscreen scrolling — Scrolling up no longer snaps back to bottom when a tool finishes
- MCP HTTP OAuth — Non-JSON OAuth discovery responses no longer fail withSource: Claude Code