Settings
AutoC stores configuration in JSON. Use /settings for common options, or edit JSON directly — both write the same fields; /settings saves automatically.
Scopes
| Location | Scope |
|---|---|
~/.autoc/agent/settings.json | Global (all projects) |
.autoc/settings.json | Project (current working directory, overrides global) |
Run /reload after changing paths or toolchain options. Setup steps live in each toolchain guide (e.g. EB tresos); this page is the field reference.
Models
AutoC currently supports WhyEngineer models only. Most users do not need to set defaultProvider / defaultModel manually; see Getting started and Using AutoC.
All settings
Models and thinking
| Key | Type | Default | Description |
|---|---|---|---|
defaultProvider | string | - | Default provider |
defaultModel | string | - | Default model ID |
defaultThinkingLevel | string | - | off, minimal, low, medium, high, xhigh |
hideThinkingBlock | boolean | false | Hide thinking blocks in output |
thinkingBudgets | object | - | Custom token budgets per thinking level |
thinkingBudgets
{
"thinkingBudgets": {
"minimal": 1024,
"low": 4096,
"medium": 10240,
"high": 32768
}
}UI and display
| Key | Type | Default | Description |
|---|---|---|---|
theme | string | "dark" | Theme name (dark, light, or custom) |
quietStartup | boolean | false | Hide startup area |
collapseChangelog | boolean | false | Show compact changelog after updates |
enableInstallTelemetry | boolean | true | Anonymous install/update telemetry (does not control update checks) |
doubleEscapeAction | string | "tree" | Double Esc: tree, fork, or none |
treeFilterMode | string | "default" | Default /tree filter: default, no-tools, user-only, labeled-only, all |
editorPaddingX | number | 0 | Editor horizontal padding (0–3) |
autocompleteMaxVisible | number | 5 | Autocomplete dropdown size (3–20) |
showHardwareCursor | boolean | false | Show terminal hardware cursor |
Telemetry and update checks
enableInstallTelemetry only controls anonymous install/update reports. Disabling it does not disable version update checks.
PI_SKIP_VERSION_CHECK=1— skip version update check--offlineorPI_OFFLINE=1— skip all startup network activity (updates, package checks, telemetry)
Warnings
| Key | Type | Default | Description |
|---|---|---|---|
warnings.anthropicExtraUsage | boolean | true | Warn when Anthropic subscription may use paid extra usage |
Compaction
| Key | Type | Default | Description |
|---|---|---|---|
compaction.enabled | boolean | true | Enable automatic context compaction |
compaction.reserveTokens | number | 16384 | Tokens reserved for model reply |
compaction.keepRecentTokens | number | 20000 | Recent tokens kept out of summarization |
Branch summary
| Key | Type | Default | Description |
|---|---|---|---|
branchSummary.reserveTokens | number | 16384 | Tokens reserved for branch summary |
branchSummary.skipPrompt | boolean | false | Skip “summarize abandoned branch?” prompt in /tree (default: no summary) |
Retry
| Key | Type | Default | Description |
|---|---|---|---|
retry.enabled | boolean | true | Auto-retry transient errors |
retry.maxRetries | number | 3 | Max retries |
retry.baseDelayMs | number | 2000 | Exponential backoff base (2s, 4s, 8s…) |
retry.provider.timeoutMs | number | SDK default | Request timeout (ms) |
retry.provider.maxRetries | number | SDK default | SDK-layer retries |
retry.provider.maxRetryDelayMs | number | 60000 | Cap on server-requested wait (ms); 0 = no cap |
Message delivery
| Key | Type | Default | Description |
|---|---|---|---|
steeringMode | string | "one-at-a-time" | Steering messages: all or one-at-a-time |
followUpMode | string | "one-at-a-time" | Follow-up messages: all or one-at-a-time |
transport | string | "sse" | Transport preference: sse, websocket, auto |
Terminal and images
| Key | Type | Default | Description |
|---|---|---|---|
terminal.showImages | boolean | true | Show images in terminal (if supported) |
terminal.imageWidthCells | number | 60 | Inline image width (cells) |
terminal.clearOnShrink | boolean | false | Clear blank lines when content shrinks (may flicker) |
images.autoResize | boolean | true | Resize images to max 2000×2000 before send |
images.blockImages | boolean | false | Block sending images to the model |
Shell
| Key | Type | Default | Description |
|---|---|---|---|
shellPath | string | - | Custom shell path (e.g. Cygwin on Windows) |
shellCommandPrefix | string | - | Prefix prepended to every bash command |
npmCommand | string[] | - | argv for npm-related operations |
Session directory
| Key | Type | Default | Description |
|---|---|---|---|
sessionDir | string | - | Session file directory; absolute, relative, or ~ |
Priority (high to low): --session-dir → PI_CODING_AGENT_SESSION_DIR → sessionDir in settings.json.
Model cycling (Ctrl+P)
| Key | Type | Default | Description |
|---|---|---|---|
enabledModels | string[] | - | Model patterns for Ctrl+P (same as --models) |
EB tresos
Quickstart: EB tresos. Install path / Project path in /settings map to the first two rows; includeModules and below are JSON-only.
| Key | Type | Default | Description |
|---|---|---|---|
eb.tresosPath | string | - | EB tresos install root (/settings → Install path) |
eb.projectPath | string | .project | Project path (/settings → Project path) |
eb.includeModules | string[] | - | Load only listed modules (case-insensitive) |
eb.excludeModules | string[] | - | Exclude after include filter |
eb.name / eb.target / eb.derivate / eb.pn | string | - | Override display parsed from .project |
Per-project module filter (.autoc/settings.json):
{
"eb": {
"includeModules": ["Mcu", "Port"]
}
}DaVinci Configurator
Quickstart: DaVinci Configurator. /settings path fields map to the first two rows; includeModules is JSON-only.
| Key | Type | Default | Description |
|---|---|---|---|
davinci.configuratorPath | string | ${SIP}/DaVinciConfigurator | Install root (/settings → Configurator path) |
davinci.projectPath | string | . | Project directory (/settings → Project path) |
davinci.includeModules | string[] | - | Load only listed ECUC modules |
davinci.excludeModules | string[] | - | Exclude after include |
davinci.name / davinci.derivative | string | - | Override display parsed from .dpa |
ETAS ISOLAR
Quickstart: ETAS ISOLAR. /settings covers Install path, Project path, Data ARXML paths, External modules; includeModules / autoAssignParams below.
| Key | Type | Default | Description |
|---|---|---|---|
etas.installPath | string | - | ISOLAR-AB install root; else ISOLAR_HOME |
etas.projectPath | string | . | RTA-CAR project directory |
etas.dataArxmlPaths | string[] | - | ECUC value ARXML; non-empty loads only listed files |
etas.externalModules | string[] | - | EB+ETAS mixed: ETAS-side module config names |
etas.autoAssignParams | string[] | - | Param SHORT-NAMEs auto-assigned by ISOLAR at generate |
etas.includeModules | string[] | - | Load only listed ECUC modules |
etas.excludeModules | string[] | - | Exclude after include |
etas.name | string | - | Override display from .project |
System Template
| Key | Type | Default | Description |
|---|---|---|---|
autosar.systemTemplatePaths | string[] | - | System-level ARXML paths or globs; or use /system import |
See System Template (Beta).
License server
| Key | Type | Default | Description |
|---|---|---|---|
license.serverAddr | string | - | License server address (host:port, e.g. 192.168.1.10:9847) |
Change in TUI via /settings → License server. Enterprise: Enterprise licensing.
Markdown
| Key | Type | Default | Description |
|---|---|---|---|
markdown.codeBlockIndent | string | " " | Code block indent |
Extension resource paths
Where to load extensions, skills, prompt templates, and themes.
- Relative paths in
~/.autoc/agent/settings.jsonresolve from~/.autoc/agent - Relative paths in
.autoc/settings.jsonresolve from.autoc - Absolute paths and
~supported
| Key | Type | Default | Description |
|---|---|---|---|
packages | array | [] | Load resources from npm/git packages |
extensions | string[] | [] | Local extension paths or directories |
skills | string[] | [] | Local skill paths or directories |
prompts | string[] | [] | Local prompt template paths or directories |
themes | string[] | [] | Local theme paths or directories |
enableSkillCommands | boolean | true | Register skills as /skill:name commands |
Arrays support globs and exclusions: !pattern to exclude, +path / -path to force include/exclude exact paths.
Example
{
"theme": "dark",
"defaultThinkingLevel": "medium",
"compaction": {
"enabled": true,
"reserveTokens": 16384,
"keepRecentTokens": 20000
},
"retry": {
"enabled": true,
"maxRetries": 3
},
"eb": {
"tresosPath": "C:/EB/tresos",
"projectPath": ".project"
},
"davinci": {
"configuratorPath": "${SIP}/DaVinciConfigurator",
"projectPath": "."
},
"etas": {
"installPath": "D:/ETAS/ISOLAR-AB",
"projectPath": "."
},
"enabledModels": ["deepseek-*"]
}Project override example
// ~/.autoc/agent/settings.json (global)
{
"theme": "dark",
"compaction": { "enabled": true, "reserveTokens": 16384 }
}
// .autoc/settings.json (project)
{
"compaction": { "reserveTokens": 8192 }
}
// merged result
{
"theme": "dark",
"compaction": { "enabled": true, "reserveTokens": 8192 }
}