Skip to main content
Klaus stores all configuration in ~/.klaus/config.toml, created automatically on first run. This file controls everything from hotkeys to voice settings to advanced VAD parameters.

Configuration File Location

The configuration file is stored at:
  • macOS/Linux: ~/.klaus/config.toml
  • Windows: %USERPROFILE%\.klaus\config.toml
The file is created with sensible defaults on first launch. You can edit it directly with any text editor.

Configuration Structure

The config file uses TOML format with the following main sections:

Top-Level Settings

Most configuration options are defined at the top level:
# Setup wizard completion flag
setup_complete = true

# Input hotkeys
hotkey = "F2"
toggle_key = "F3"

# Hardware device indices
camera_index = 0
mic_index = -1

# Voice and speech settings
voice = "cedar"
tts_speed = 1.0
input_mode = "voice_activation"

# Logging
log_level = "INFO"

API Keys Section

On Windows and as a fallback on macOS, API keys are stored in a dedicated section:
[api_keys]
anthropic = "sk-ant-..."
openai = "sk-..."
tavily = "tvly-..."
On macOS, API keys are stored securely in Apple Keychain by default. The [api_keys] section is only used as a fallback when Keychain is unavailable.

Environment Variables

Klaus supports environment variables as an alternative to config file settings. Environment variables take precedence over config.toml values.

API Keys

Environment VariablePurpose
ANTHROPIC_API_KEYClaude vision + reasoning
OPENAI_API_KEYText-to-speech
TAVILY_API_KEYWeb search

Optional Settings

Environment VariableConfig KeyDefault
OBSIDIAN_VAULT_PATHobsidian_vault_path""

Editing Configuration

Manual Editing

You can edit config.toml directly:
  1. Close Klaus
  2. Open ~/.klaus/config.toml in your text editor
  3. Uncomment and modify any setting
  4. Save the file
  5. Restart Klaus

Using the Settings Dialog

Many settings can be changed through Klaus’s built-in Settings dialog:
  • API keys
  • Camera selection
  • Microphone selection
  • User background profile
  • Obsidian vault path
Some settings like hotkeys, VAD parameters, and STT model require editing config.toml directly and restarting Klaus.

Configuration Defaults

All settings have sensible defaults. If a setting is commented out or missing from config.toml, Klaus uses the default value shown in the configuration template. See the individual configuration pages for detailed information on each setting:

Hotkeys

Configure push-to-talk and toggle keys

Voice Settings

TTS voice, speed, and STT model

Camera

Resolution, rotation, and device selection

Advanced

VAD sensitivity, logging, and router settings

Validation

Klaus validates config.toml on startup:
  • Invalid TOML syntax triggers a warning and falls back to defaults
  • Invalid values (wrong type, out of range) are coerced to defaults
  • Missing API keys are detected and reported
Check the console output or logs for configuration warnings.

Resetting Configuration

To reset to default settings:
  1. Close Klaus
  2. Delete or rename ~/.klaus/config.toml
  3. Restart Klaus
  4. The setup wizard will run again with a fresh configuration file

Build docs developers (and LLMs) love