Skip to content

claude-code: add missing settings#5822

Open
bendrucker wants to merge 1 commit into
SchemaStore:masterfrom
bendrucker:claude-code-settings-add-notification-theme
Open

claude-code: add missing settings#5822
bendrucker wants to merge 1 commit into
SchemaStore:masterfrom
bendrucker:claude-code-settings-add-notification-theme

Conversation

@bendrucker

@bendrucker bendrucker commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Adds seven settings to claude-code-settings.json that Claude Code accepts but the schema did not model: theme, preferredNotifChannel, autoCompactEnabled, skipWorkflowUsageWarning, skipAutoPermissionPrompt, inputNeededNotifEnabled, and agentPushNotifEnabled.

The schema sets additionalProperties: true, so ajv never rejected these keys.

Types, descriptions, and enum values were extracted from the Claude Code v2.1.179 binary's settings schema. theme is modeled as an anyOf of a built-in enum (auto, dark, light, the daltonized variants, the ansi variants) and a ^custom: pattern, matching the CLI's union([enum(...), string().startsWith("custom:")]). A bare enum would wrongly reject valid custom themes like custom:my-theme.

Testing

claude-code-settings.json is registered with "strict": true, so the coverage tool enforces test completeness. Positive fixtures cover every theme and preferredNotifChannel enum value, the ^custom: pattern, and a non-default value for each boolean that declares a default. Negative cases (theme: "midnight", preferredNotifChannel: "slack") go in the existing all-invalid_enum file to keep negative-test isolation cohesive. Verified locally with node ./cli.js check, node ./cli.js coverage, and prettier --check scoped to this schema.

Add theme, preferredNotifChannel, autoCompactEnabled, skipWorkflowUsageWarning, skipAutoPermissionPrompt, inputNeededNotifEnabled, and agentPushNotifEnabled to the Claude Code settings schema with types sourced from the Claude Code v2.1.179 settings schema. theme is modeled as an enum-or-custom: union to match the CLI. Adds positive and negative test coverage.
@github-actions

Copy link
Copy Markdown
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.

@bendrucker bendrucker changed the title feat: add 7 known Claude Code settings to schema claude-code: add missing settings Jun 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant