Config Files
DSCC reads JSON settings and Markdown instruction files from multiple locations and merges them.
Settings precedence
Lowest to highest (higher wins on conflict), from
crates/runtime/src/config.rs:197–259:
| # | Path | Scope |
|---|---|---|
| 1 | ~/.dscc.json |
User, legacy |
| 2 | ~/.dscc/settings.json |
User, modern |
| 3 | ./.dscc.json |
Project, legacy |
| 4 | ./.dscc/settings.json |
Project, modern |
| 5 | ./.dscc/settings.local.json |
Local override (highest) |
Instruction files
Merged into the system prompt at
crates/runtime/src/prompt.rs:202–223, discovered by walking
from cwd upward. Filenames recognised:
DSCC.mdDSCC.local.md.dscc/DSCC.md.dscc/instructions.md
| Limit | Value | Source |
|---|---|---|
| Per-file cap | 4000 chars | prompt.rs:40–41 |
| Total cap | 12000 chars | prompt.rs:40–41 |
| Deduplication | By content hash | prompt.rs |
Top-level settings keys
| Key | Purpose |
|---|---|
model |
Default model id |
env |
Environment variables injected into tool calls |
hooks |
PreToolUse / PostToolUse command
arrays |
permissions |
defaultMode and per-tool rules |
permissionMode |
Shortcut for default mode |
mcpServers |
Named MCP server definitions |
plugins |
Plugin definitions |
enabledPlugins |
Plugin activation list |
sandbox |
Sandbox toggles |
oauth |
OAuth client config |
For the full schema, see
docs/reference/config-schema.md.
See also
- hooks.md for
hookssemantics. - mcp-servers.md for
mcpServers.