config.json
Last updated
The model, routing, and channel keys in ~/.config/agenvoy/config.json. Runtime limits are in config.json Limits; policy keys are in config.json Policies.
Model, routing, and channel settings:
| Key | Description |
|---|---|
models | Registered models as "<provider>@<model>" strings; the order is the fallback priority (pass-tier models are skipped since v1.1.0) |
model_tag | {model: tier} with tiers S A B C pass; written as {} when missing. Since v1.1.0 a pass model is never picked by auto routing, subagents or fallback, even when a request names it; only a session whose own model is set to it uses it |
dispatcher_model / summary_model | Dispatcher and summary roles |
dispatcher_beta | Removed in v1.3.2; a leftover entry is ignored. Decision-model dispatch now runs whenever decision_model is set |
decision_model | Added in v1.3.1. The decision model as typesafe@<model> or openrouter@<model>; "" or off is off. While set, each routed request runs it alongside dispatcher_model and takes the first valid answer, and background_command uses it to check flagged output |
image_generator / stt_model / tts_model | Image provider endpoint and audio models |
compats | Custom OpenAI-compatible endpoints, [{provider, url}] |
keys | Names of credentials stored in the keychain (never the values) |
telegram_enabled / discord_enabled | Channel flags; telegram_username / discord_username are filled in by the daemon |
admin_channel | Verification-code relay target (set from /config → Admin Channel in the TUI since v1.1.0) |
reply_lang | Reply language, default "auto" (match the user). Since v1.3.1 a set language is the default rather than a fixed rule: the language the user writes in does not change it, but a request or a skill, template or tool that asks for another language gets it for the output it covers. It also applies to the session summary since v1.3.1. Accepts a code from configs/jsons/reply_lang.json (en, zh-TW, zh-HK, zh-CN, ja, ko, es, fr, de, pt, it, ru, vi, th, id, ar) or any language name |
output_dir | Where files made for the user land when no location is named; default "" means ~/Downloads, or ~/.config/agenvoy/download when that folder does not exist. ~ is expanded; an unusable path falls back to the default |
official_guide_disabled | Added in v1.2.0. true stops injecting the per-model official guide (## Model Guide) into the system prompt; set from /config → Official guide, the dashboard's System tab, or POST /v1/config/official_guide |
skill_source_disabled | Added in v1.2.0. External skill sources to skip when scanning, any of claude, codex, copilot, opencode, agents (openai: Removed in v1.2.1); set from /skill → source, the dashboard's Skills page, or POST /v1/config/skill_source |
reply_lang and output_dir are set from /config in the TUI or GET / POST /v1/config/system and /v1/config/output_dir; /config also toggles Startup on login (/v1/config/startup). The separate startup, reply-language, and output-dir TUI commands were removed; use /config. The daemon watches config.json and reloads the agent registry and Telegram / Discord on every write.auto_reasoning (added in v1.0.18) was removed in v1.1.0: reasoning is now a per-session setting, and a session whose reasoning is auto gets its level from the model selector per request. An auto_reasoning entry left in config.json is ignored.