Settings layers
The managed layer is read-only and cannot be overridden by user settings. It is intended for enterprise environments where administrators need to enforce policy.
Global settings file
~/.claude/settings.json applies to all projects. Use it for personal preferences such as your model choice, theme, and API key.
~/.claude/settings.json
Project settings file
.claude/settings.json at the root of your project is committed to version control and shared with your team. Use it to define project-specific permission rules, model overrides, and MCP server configurations.
.claude/settings.json
.claude/settings.local.json follows the same schema as .claude/settings.json but is gitignored. Use it for personal overrides that should not be shared, such as local API keys or per-developer permission rules.Key settings fields
Model selection
Set themodel field to any of the supported model IDs:
API key configuration
Claurst resolves your API key in this order:1
Config field
Reads
apiKey from the active settings (any layer).2
Environment variable
Falls back to the
ANTHROPIC_API_KEY environment variable.Custom API endpoint
SetANTHROPIC_BASE_URL to route requests to a custom endpoint — useful for proxies, enterprise gateways, or local model servers:
resolve_api_base() checks this environment variable first, falling back to https://api.anthropic.com.
Permission rules
Permission rules use glob-style patterns scoped to tool categories. Each rule matchesToolName(argument_pattern).
Tool categories:
MCP server configuration
Define MCP servers that Claurst should connect to at startup. Each entry inmcpServers launches a subprocess via stdio transport.
McpServerConfig struct in cc-core supports:
Beta features
Some API features must be explicitly opted into via beta headers. ThebetaFeatures field maps feature names to booleans:
Reading and writing settings programmatically
TheConfigTool (available in internal builds) and the /config slash command allow reading and writing individual settings fields at runtime:
Settings struct in cc-core exposes Settings::load() and Settings::save(), which deserialize from and serialize to ~/.claude/settings.json.