~/.yachiyo/config.toml holds everything except channel credentials, which live
in channels.toml .
Edit it through the app, through
yachiyo config set , or by hand. The file is rewritten in a
deterministic section order whenever the app saves, so hand edits survive but may
be reordered.
enabledTools = [ " read " , " write " , " edit " , " bash " , " grep " , " glob " , " webSearch " ]
The tool whitelist a run starts from, written by the app. It is not a settings
switch — the run mode you pick in the composer is
what decides a turn’s tool list. skillsRead and reviewThings are
runtime-managed and never appear here. See the tool list .
Default run mode: auto, explore, plan, chat, or custom. Defaults to
auto. See run modes .
Key Type Default Description sidebarVisibility"expanded" | "collapsed"expandedSidebar state language"auto" | "en" | "zh-CN"autoUI language; auto follows the system sidebarPreviewbooleantrueMessage previews in the sidebar workSummarybooleantrueCollapse tool activity into a work summary themeIdstringmizuOne of mizu, sumi, ume, aoba, mint, fuji, yamabuki, gobyou, murasaki themeAppearance"system" | "light" | "dark"systemLight/dark mode uiFontSizenumber— UI font size chatFontSizenumber— Chat font size chatPanelOpacitynumber— Chat panel opacity updateChannel"stable" | "beta"— Which release channel to update from demoModebooleanfalseDemo/screenshot mode preventSystemSleepbooleanfalseKeep the machine awake during runs notifyRunCompletedbooleantrueNotify when a run finishes notifyCodingTaskStartedbooleantrueNotify when a delegated task starts notifyCodingTaskFinishedbooleantrueNotify when a delegated task finishes translatorShortcutstringCommandOrControl+Shift+TGlobal translator hotkey jotdownShortcutstringCommandOrControl+Shift+JGlobal jot-down hotkey
Key Type Default Description mode"off" | "simple" | "full"simpleHow much foreground-app activity to record accessibilityDeniedboolean— Set when you have explicitly denied accessibility for full mode ocr.enabledbooleanfalseCapture window text via OCR ocr.excludedAppsstring[][]Apps never OCR’d
Key Type Default Description activeRunEnterBehavior"enter-steers" | "enter-queues-follow-up"enter-steersWhat Enter does while a run is streaming stripCompactbooleantrueCompact long thread history stripCompactThresholdTokensnumber— Token count that triggers compaction autoMemoryDistillationbooleantrueDistill memory after runs inputBufferEnabledbooleanfalseBuffer typing before sending recapEnabledbooleantrueRecap context on resume imageToTextModelobject— { providerName, model }; falls back to the tool model
Key Type Description savedPathsstring[]Registered workspace directories pathLabelstablePath → label. Labels for paths no longer saved are pruned on write. editorAppstringApp used to open files terminalAppstringApp used to open a terminal markdownAppstringApp used to open Markdown
Key Type Description syncDirstringSync folder path. Empty disables sync on this device.
Key Type Description enabledstring[]Active skill names disabledstring[]Explicitly disabled skill names
Key Type Default Description mode"default" | "custom" | "disabled"defaultdefault reuses the chat model; disabled skips auxiliary generationproviderIdstring""Provider UUID when mode = "custom" providerNamestring""Provider display name modelstring""Model name
Key Type Description providerNamestringProvider for new chats modelstringModel for new chats
Prefer yachiyo provider set-default over editing this
directly.
Key Type Default Description enabledbooleantrueMaster switch for memory autoRecallbooleantruePull recalled memory into runs
Key Type Default Description defaultProvider"google-browser" | "duckduckgo-browser" | "exa"google-browserSearch backend browserSession.sourceBrowserstring— Browser the session was imported from browserSession.sourceProfileNamestring""Profile it came from browserSession.importedAtstring""Import timestamp browserSession.lastImportErrorstring""Last import error, if any exa.apiKeystring""Exa API key exa.baseUrlstring""Custom Exa endpoint
An array of tables, one per provider.
Key Type Description idstringStable UUID presetKeystringLinks to a built-in preset (e.g. openai, google-vertex) namestringDisplay name typestringopenai, openai-responses, openai-codex, anthropic, gemini, vertex, or vercel-gatewayapiKeystringAPI key. Redacted in all CLI output. baseUrlstringAPI base URL thinkingEnabledbooleanWhether reasoning is on by default reasoningtableEffort defaults and per-model reasoning config codexSessionPathstringPath to Codex auth.json, for openai-codex project, locationstringVertex only serviceAccountEmail, serviceAccountPrivateKeystringVertex only modelList.enabledstring[]Models shown in the picker modelList.disabledstring[]Known but hidden models modelList.imageIncapablestring[]Models that cannot accept images
Key Type Description keycodestringTrigger code; must start with a letter textstringText it expands to
External ACP agent profiles. Deprecated — see
subagents .
Key Type Description idstringStable identifier namestringDisplay name enabledbooleanWhether the profile is offered descriptionstringShown in the UI commandstringExecutable argsstring[]Arguments envtableExtra environment variables
Key Type Default Description mode"worker" | "acp"workerSubagent runtime backend enabledNamedAgentsstring[]all four Any of explore, plan, review, general preferredModelstable— Per-agent { providerName, model } overrides
Preset thread launchers.
Key Type Description idstringStable identifier iconstringEmoji or image reference iconType"emoji" | "image"How to interpret icon labelstringDisplay label workspacePathstringWorkspace the thread starts in privacyModebooleanStart the thread in privacy mode modelOverridetable{ providerName, model }ordernumberSort position