Preferences
Where the appearance, language, editor, notification, keep-awake, web, and sandbox preferences are spread across the app, and when each of them takes effect.
"Your own preferences" are spread across three places: the avatar menu at the bottom of the sidebar (language, theme and color scheme, font sizes), "Settings → Preferences" (editor / conversation / application / notifications / workspace), and several feature-specific pages (voice input, Mini & Pets, configuration, web, hooks, dreaming, remote control, about).
- Appearance: the theme comes in "follow system / light / dark". The color scheme (the code and syntax-highlighting palette) is remembered separately for light and dark, so changing the palette in light mode does not touch the dark one; light has 17 schemes and dark has 28, and ayu, dracula, monokai, and terminal green exist only in dark. UI font size 11–16 (default 14), code font size 8–24 (default 13).
- Language: the interface and the tray change immediately; the same value is also passed to the engine as the reply language — when a session starts or resumes, an instruction is appended to the system prompt requiring all explanations and communication in that language (code and technical terms stay as-is) — so newly opened and newly resumed sessions carry it, while a running turn does not switch language midway. When unset, no instruction is appended and the model follows the language of the conversation itself.
- Editor: "Show predictions" controls message predictions in the composer (press Tab to accept; works with any model source, see Models).
- Conversation: "Follow-up message behavior" is described below; the reply style setting picks the default answer style, see Output Styles.
- Application: launch at login; and preventing system sleep while running, which keeps the computer awake while Klaus is running a task and releases it when the task ends (not available on Windows). Keeping the computer awake for remote control is a separate switch under "Settings → Remote control" and only applies while plugged in.
- Notifications: desktop notifications and sounds are both on by default, corresponding to "needs your input / finished" and "finished while you were away" respectively.
- Workspace: exclusion rules for the file tree, see Workspaces, Git, and Changes.
- Follow-up message behavior: messages sent while running are "queued" by default (sent after the turn ends), and can be changed to "steering" (injected into the current turn without interrupting the model). This is only the default; each message can still be chosen individually in the input area (⌘/Ctrl+Enter inverts it; see Composer and Keyboard).
- Voice input: the recognition language follows the system by default; transcript polishing and voice learning are both on by default.
- Web: search is on by default and the default source is Bing — it searches through the background browser with no API key required, but the browser extension must be enabled. You can switch to "model-native" (the provider searches server-side; requires the model itself to support it), to the search bundled with a Codex / Qoder / QoderWork / Bailian Token Plan subscription, or to Brave; see Web Search. Turning search off does not cut off the network — it can still fetch a URL you give it directly. Brave's API key is yours to fill in. A failed search or hitting a verification page is an explicit error, never a silent switch to another provider.
- Engine runtime values: there is no longer a separate "Runtime" settings page. The provider-trace switch for development debugging moved to "Settings → About" (off by default; when on, feedback reports include the trace log path); max tool concurrency (default 10) has no UI, but you can ask Klaus to change it. The main session has no fixed model-turn cap; sub-agents and internal maintenance tasks each set their own limits by task type. The remaining engine values do not appear in the settings UI: for the vast majority of people there is only one good value, the engine's own default, and that value changes as the engine upgrades. If you really need to tune them, go through
~/.klaus/config.toml. - Execution permissions: "Settings → Configuration" sets the approval policy and sandbox mode independently. The sandbox modes are "Read only", "Workspace write", and "Full access". Additional writable directories, network access, and temporary-directory rules for workspace writes are configured through
sandbox_workspace_writeinconfig.toml. - Memory: automatic recording under "Settings → Dreaming" is off by default, and periodic organizing is off by default too; see Memory and Dreaming.
Preferences are stored in two places. You normally do not need to care, but it determines "when a change takes effect":
klaus.*andfeature:*belong to engine configuration, stored in~/.klaus/config.toml. A session's configuration is a snapshot from the moment it started, so after a change, conversations that are already open automatically rebuild with the new values on the next turn — no need to reopen the session.- Appearance, language, and notifications belong to the client's own storage and take effect on the spot.
- Leaving a field empty is not turning it off — it means back to default: that row is deleted and the engine/client's built-in default is used. So numbers and lists can be cleared, but switches must explicitly say on or off.
- Changes by preference name validate the value before writing. Execution permissions use the configuration page or canonical keys in
config.toml; the old sandbox toggle and separate root preferences have been removed.
To have Klaus change preferences, just say "make the font bigger", "switch the color scheme to dracula", or "turn off search". It changes them by name (theme, codeThemeDark, uiFontSize, webSearch…), so you do not need to remember storage keys, and it validates the value before writing.