Configuration
Mia’s configuration lives in ~/.mia/mia.json. Edit it directly or use the CLI:
mia config # Show all configmia config get activePlugin # Get a specific valuemia config set maxConcurrency 5 # Set a valueFull Schema
Section titled “Full Schema”{ "activePlugin": "claude-code", "fallbackPlugins": ["opencode", "codex"],
"activeModel": "claude-sonnet", "codingModel": "claude-sonnet-4-6-20250929", "generalModel": "claude-haiku-4-5", "classifierModel": "claude-haiku-4-5", "defaultRoute": "coding",
"models": { "claude-sonnet": { "model": "claude-sonnet-4-6-20250929", "provider": "anthropic", "contextLimit": 200000, "maxTokens": 4096, "input": ["text", "image"] } },
"plugins": { "claude-code": { "name": "claude-code", "enabled": true, "binary": "claude", "model": "claude-sonnet-4-6-20250929", "maxConcurrency": 3, "timeoutMs": 1800000 } },
"pluginDispatch": { "verification": { "enabled": false, "semanticCheck": true, "retryOnFailure": true }, "tracing": { "enabled": true, "retentionDays": 30 }, "memoryExtraction": { "enabled": true, "minDurationMs": 5000, "maxFacts": 5 }, "fallback": { "enabled": true, "onDispatchError": false } },
"memory": { "ttlDays": 30, "queryCacheMaxEntries": 100, "maxRows": 10000, "pruneIntervalHours": 6 },
"scheduler": { "defaultTimeoutMs": 300000 },
"maxConcurrency": 3, "timeoutMs": 1800000, "codingSystemPrompt": "...", "p2pSeed": "..."}Option Reference
Section titled “Option Reference”Plugin Settings
Section titled “Plugin Settings”| Option | Type | Default | Description |
|---|---|---|---|
activePlugin | string | — | Currently active plugin (claude-code, codex, gemini, opencode) |
fallbackPlugins | string[] | [] | Ordered fallback chain if active plugin unavailable |
plugins.<name>.enabled | boolean | true | Whether plugin is enabled |
plugins.<name>.binary | string | — | Path to plugin CLI binary |
plugins.<name>.model | string | — | Default model for this plugin |
plugins.<name>.maxConcurrency | number | 3 | Max concurrent dispatches |
plugins.<name>.timeoutMs | number | 1800000 | Dispatch timeout (ms) |
Model Routing
Section titled “Model Routing”| Option | Type | Default | Description |
|---|---|---|---|
activeModel | string | — | Named model config key to use |
codingModel | string | — | Model for coding tasks |
generalModel | string | — | Model for general chat |
classifierModel | string | — | Model for prompt classification |
defaultRoute | string | "coding" | Default route when classifier is uncertain |
Dispatch Pipeline
Section titled “Dispatch Pipeline”| Option | Type | Default | Description |
|---|---|---|---|
pluginDispatch.verification.enabled | boolean | false | Enable post-dispatch semantic verification |
pluginDispatch.verification.semanticCheck | boolean | true | Use LLM to verify response quality |
pluginDispatch.verification.retryOnFailure | boolean | true | Retry with fallback on verification failure |
pluginDispatch.tracing.enabled | boolean | true | Log all dispatches to trace files |
pluginDispatch.tracing.retentionDays | number | 30 | Days to keep trace logs |
pluginDispatch.memoryExtraction.enabled | boolean | true | Auto-extract facts from dispatches |
pluginDispatch.memoryExtraction.minDurationMs | number | 5000 | Min dispatch duration to trigger extraction |
pluginDispatch.memoryExtraction.maxFacts | number | 5 | Max facts per extraction |
pluginDispatch.fallback.enabled | boolean | true | Enable plugin fallback chain |
pluginDispatch.fallback.onDispatchError | boolean | false | Also fallback on dispatch errors |
Memory
Section titled “Memory”| Option | Type | Default | Description |
|---|---|---|---|
memory.ttlDays | number | 30 | Days before entries are pruned |
memory.queryCacheMaxEntries | number | 100 | Max LRU cache entries |
memory.maxRows | number | 10000 | Max total memory entries |
memory.pruneIntervalHours | number | 6 | How often to run pruning |
Scheduler
Section titled “Scheduler”| Option | Type | Default | Description |
|---|---|---|---|
scheduler.defaultTimeoutMs | number | 300000 | Default task timeout (5 min) |
Global
Section titled “Global”| Option | Type | Default | Description |
|---|---|---|---|
maxConcurrency | number | 3 | Global max concurrent dispatches |
timeoutMs | number | 1800000 | Global dispatch timeout (30 min) |
codingSystemPrompt | string | — | Override the default system prompt |
p2pSeed | string | — | Persistent P2P seed (auto-generated) |