Settings fields
JSON and command-line settings. For the desktop UI, see Settings.
AutoC stores configuration in JSON. In the interactive terminal, 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 Sign in and Interactive terminal.
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 |
desktopNotifications | boolean | true | Desktop: OS toast / taskbar flash when attention is needed in the background (ask_user today; reusable; global only) |
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. /settings covers Install path, Project path, Include modules, Exclude modules.
| Key | Type | Default | Description |
|---|---|---|---|
eb.tresosPath | string | - | EB tresos install root (/settings → Install path) |
eb.projectPath | string | . | Project directory containing .project (/settings → Project path) |
eb.includeModules | string[] | - | Load only listed modules (case-sensitive) |
eb.excludeModules | string[] | - | Exclude after include filter (case-sensitive) |
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 covers paths and Include / Exclude modules.
| Key | Type | Default | Description |
|---|---|---|---|
davinci.configuratorPath | string | - | Install root, required (contains Core/DVCfgCmd.exe; /settings → Configurator path) |
davinci.projectPath | string | . | Project directory (/settings → Project path) |
davinci.includeModules | string[] | - | Load only listed ECUC modules (case-sensitive) |
davinci.excludeModules | string[] | - | Exclude after include (case-sensitive) |
davinci.name / davinci.derivative | string | - | Override display parsed from .dpa |
ETAS ISOLAR
Quickstart: ETAS ISOLAR. /settings covers Install path, Project path, Data ARXML, Include / Exclude modules; autoAssignParams below.
| Key | Type | Default | Description |
|---|---|---|---|
etas.installPath | string | - | ISOLAR-AB install root; else ISOLAR_HOME |
etas.projectPath | string | . | Project directory containing .project |
etas.rtaosPath | string | - | Standalone OS (RTA-OS) .rtaos file (not a folder; may live outside the ETAS project) |
etas.dataArxmlExclude | string[] | - | ECUC value ARXML exclude patterns (relative to ETAS project, gitignore syntax); always auto-scan then exclude |
etas.externalModules | string[] | - | EB+ETAS mixed: ETAS-side module config names (case-sensitive) |
etas.autoAssignParams | string[] | - | Param SHORT-NAMEs auto-assigned by ISOLAR at generate |
etas.includeModules | string[] | - | Load only listed ECUC modules (case-sensitive) |
etas.excludeModules | string[] | - | Exclude after include (case-sensitive) |
etas.name | string | - | Override display from .project |
VCOS Studio
Quickstart: VCOS Studio. Installs page covers the .venv path; /settings covers project path and Include / Exclude / External modules.
| Key | Type | Default | Description |
|---|---|---|---|
vcos.venvPath | string | - | Studio .venv created by init_env (must sit beside the Studio install); Installs page |
vcos.projectPath | string | . | Project directory containing *.vcosproject |
vcos.externalModules | string[] | - | EB+VCOS mixed: VCOS-side ECUC config names (Can, Mcu; case-sensitive) |
vcos.includeModules | string[] | - | Load only listed ECUC modules (case-sensitive) |
vcos.excludeModules | string[] | - | Exclude after include (case-sensitive) |
vcos.name | string | - | Override display from .vcosproject |
ASW
| Key | Type | Default | Description |
|---|---|---|---|
autosar.systemTemplateExclude | string[] | - | System-level ARXML exclude patterns (relative to open project, gitignore syntax); always auto-scan then exclude; ECUC is not merged |
autosar.runnableFramework.outDir | string | Appl/Source | Application source-skeleton output folder (relative to the open project); no reload needed |
autosar.runnableFramework.overwriteUnprotected | boolean | false | When true, overwrite existing files that have no USER CODE regions |
See ASW.
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": "."
},
"davinci": {
"configuratorPath": "D:/Vector/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 }
}