feat(claude-code): sync settings and keybindings to Claude Code v2.1.150#5723
Draft
miteshashar wants to merge 10 commits into
Draft
feat(claude-code): sync settings and keybindings to Claude Code v2.1.150#5723miteshashar wants to merge 10 commits into
miteshashar wants to merge 10 commits into
Conversation
New properties (14):
- allowAllClaudeAiMcps (UNDOCUMENTED, v2.1.149)
- autoScrollEnabled, awaySummaryEnabled, disableAgentView, disableAutoMode
- editorMode (vim/normal), gcpAuthRefresh, leftArrowOpensAgents
- maxSkillDescriptionChars, preferredNotifChannel, skillListingBudgetFraction
- sshConfigs, sshHostAllowlist (managed, Desktop SSH)
- voice object (replaces voiceEnabled; mode: hold/tap, autoSubmit)
- worktree.symlinkDirectories
Critical fixes:
- allowedChannelPlugins: was array of strings, now array of {marketplace, plugin} objects
- hooks.Setup: was mislabeled UNDOCUMENTED; is documented (matchers: init, maintenance)
- hooks.InstructionsLoaded: incorrectly said no matchers; supports 5 matchers
- hookCommand timeout defaults: http/mcp_tool corrected to 600s (were 30s/60s)
- awsAuthRefresh/awsCredentialExport: descriptions corrected (commands not paths; JSON output format for export)
- forceLoginOrgUUID: now oneOf string|array per docs
- channelsEnabled: description rewritten to match docs (Pro/Max skip checks; Teams/Enterprise blocked)
- DISABLE_NONESSENTIAL_TRAFFIC: added (missing); alias for 4 DISABLE_* vars
- AWS_REGION: scope expanded to include Claude Platform on AWS
Description/link improvements:
- allowedChannelPlugins sub-properties: added descriptions + corrected "register as channel"
- awaySummaryEnabled: link -> interactive-mode#session-recap; env var override semantics
- CLAUDE_CODE_ENABLE_AWAY_SUMMARY: override semantics documented
- disableAutoMode: "where users cannot override it" appended
- CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT: "instead of sending incremental updates" appended
- voiceEnabled: deprecation notice pointing to voice object
- otelHeadersHelper: cross-ref to CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS
- showThinkingSummaries: link -> model-config#extended-thinking
- autoMode: link -> auto-mode-config
- channelsEnabled/allowedChannelPlugins: links -> channels.md
- DISABLE_TELEMETRY: "Statsig" removed per public docs
New env vars (59): provider activation, Claude Platform on AWS, prompt caching,
agent/automation, OTEL (28 incl. mTLS), MCP, and UX vars
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contributor
|
Thanks for the PR! This section of the codebase is owned by @domdomegg, @bogini, @sarahdeaton, and @ant-kurt - if they write a comment saying "LGTM" then it will be merged. |
…de v2.1.150 Add 2 new contexts: Scroll, Doctor Add 32 new builtinActions from docs and fresh defaults (scroll:*, selection:*, chat:clear*, chat:killAgents, chat:fastMode, chat:newline, confirm:toggle, doctor:fix, footer:up/down, historySearch:cycleScope, modelPicker:setAsDefault, plugin:favorite, select:pageUp/Down/first/last, settings:close/periodDay/ periodWeek/sortByTokens, theme:editCustom, voice:pushToTalk, app:redraw, app:toggleBrief) Remove stale: app:toggleTeammatePreview (re-added after fresh file confirmed present) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ion.jsonc Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
walkProperties now emits $defs entries that carry enum/pattern/type directly (not via child properties), enabling coverage checks for reusable string-enum defs like context and builtinAction. collectValuesByPath falls back to all string values when name-based search finds nothing — covers defs used as array items or additionalProperties values (permissionRule, builtinAction, etc.) where no key named after the def exists in test data. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Rename DISABLE_NONESSENTIAL_TRAFFIC → CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC - Remove CLAUDE_CODE_CODE_ACCESSIBILITY (typo, non-existent env var) - Update CLAUDE_CODE_ACCESSIBILITY description to docs verbatim - Update DISABLE_TELEMETRY description to docs verbatim Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ctions Add Scroll and Doctor contexts to all-contexts.json. Cover all 104 builtinAction enum values across all-contexts.json and basic-bindings.json including newly added scroll:*, selection:*, confirm:toggle, doctor:fix, voice:pushToTalk, historySearch:cycleScope, footer:up/down, modelPicker:setAsDefault, plugin:favorite, settings:close/periodDay/ periodWeek/sortByTokens, theme:editCustom, select:pageUp/Down/first/last, app:redraw, app:toggleBrief, and others. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…Properties Register ajv-keywords in cli.js and add uniqueItemProperties: ["context"] to the bindings array — prevents two keybinding blocks from sharing the same context value. Consolidate duplicate Global blocks in basic-bindings.json and add duplicate-context.json negative test to verify enforcement. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Required for uniqueItemProperties keyword used in claude-code-keybindings.json. Was previously only a transitive dependency, failing n/no-extraneous-import lint. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
cli.js, package.json, package-lock.json moved to add-ajv-keywords-dependency branch. This PR now depends on that PR being merged first. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dependencies
ajv-keywordsas direct dependency, required foruniqueItemPropertiesvalidation used in the keybindings schema.Schema
Settings (
claude-code-settings.json) — v2.1.143 → v2.1.150New properties (14)
allowAllClaudeAiMcps— UNDOCUMENTED managed setting (v2.1.149)autoScrollEnabled,awaySummaryEnabled,disableAgentView,disableAutoMode— per settings docseditorMode(normal/vim),gcpAuthRefresh,leftArrowOpensAgentsmaxSkillDescriptionChars,preferredNotifChannel,skillListingBudgetFractionsshConfigs,sshHostAllowlist— managed Desktop SSH pre-configurationvoiceobject — sub-properties:enabled,mode(hold/tap),autoSubmit; replaces deprecatedvoiceEnabledworktree.symlinkDirectoriesSchema accuracy
allowedChannelPlugins— type: array of{marketplace, plugin}objects per plugins docshooks.Setup— matchers:init,maintenanceper hooks docshooks.InstructionsLoaded— supports 5 matchers per hooks docshookCommand—httpandmcp_tooltimeout: 600s per hooks docsawsCredentialExport— outputs JSON credential object; execution is silent per settings docsforceLoginOrgUUID— type:oneOf [string, array of strings]per settings docschannelsEnabled— Pro/Max: skip channel checks; Teams/Enterprise: blocked when unset per settings docsCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC— alias simultaneously settingDISABLE_AUTOUPDATER,DISABLE_FEEDBACK_COMMAND,DISABLE_ERROR_REPORTING,DISABLE_TELEMETRYper settings docsCLAUDE_CODE_ACCESSIBILITY— description per docs: keeps native terminal cursor visible, allows screen magnifiers to track cursor position per settings docsDISABLE_TELEMETRY— also disablesDISABLE_GROWTHBOOKfeature-flag fetching per settings docsAWS_REGION— applies to both Claude.ai and Claude Platform on AWS per settings docsCLAUDE_CODE_CODE_ACCESSIBILITY— env var does not existNew env vars (59)
Provider activation, Claude Platform on AWS, prompt caching, agent/automation, OTEL (28 including mTLS), MCP, and UX vars — per settings#environment-variables
Keybindings (
claude-code-keybindings.json)ScrollandDoctorcontexts per keybindings docsbuiltinActionenum values from docs and Claude Code fresh-generated defaults:app:redraw,app:toggleBriefchat:clearInput,chat:clearScreen,chat:fastMode,chat:killAgents,chat:newline,voice:pushToTalkconfirm:toggle,plugin:favoritehistorySearch:cycleScopefooter:up,footer:downmodelPicker:setAsDefaultsettings:close,settings:periodDay,settings:periodWeek,settings:sortByTokenstheme:editCustomdoctor:fixscroll:lineUp,scroll:lineDown,scroll:pageUp,scroll:pageDown,scroll:top,scroll:bottom,scroll:halfPageUp,scroll:halfPageDown,scroll:fullPageUp,scroll:fullPageDownselection:copy,selection:clear,selection:extendLeft,selection:extendRight,selection:extendUp,selection:extendDown,selection:extendLineStart,selection:extendLineEndselect:pageUp,select:pageDown,select:first,select:lastuniqueItemProperties: ["context"]onbindingsarray — enforces no duplicate context blocks; requiresajv-keywordsas direct dependencyCoverage tool (
src/helpers/coverage.js)$defsleaf entries — covers reusable string-enum defs likecontextandbuiltinActioncollectValuesByPathstring-value fallback for$defs-prefixed paths used as array items oradditionalPropertiesvalues (coverspermissionRule,builtinAction, etc.)Tests
Settings
modern-complete-config.json,edge-cases.json,complete-config.json,model-opus.json,with-schema.json,notifications.json— updated for all new and modified propertiesKeybindings
all-contexts.json—ScrollandDoctorcontext blocks added; existing context blocks expanded to cover newly added actions (coverage gate)basic-bindings.json— covers all 104builtinActionenum values; singleGlobalblock (required byuniqueItemProperties)Negative tests
Settings
invalid-enum-values.json,wrong-property-types.json— updated for new/changed enums and typesKeybindings
duplicate-context.json— new: two blocks with"context": "Global"must failuniqueItemPropertiesvalidationSkipped
http://$schema→https://cosmetic URL change (previously skipped)MultiEditaddition topermissionRuleregex — covered by open PR claude-code-settings: add MultiEdit to permission rule regex #5701