Config File
The user configuration file lives at ~/.snippbot/config.toml. It stores server settings and API keys that persist across sessions.
Location
Section titled “Location”snippbot config pathFormat
Section titled “Format”Standard TOML format:
# Server settingsserver_host = "127.0.0.1"server_port = 18781log_level = "info"auto_open_browser = truedata_dir = "~/.snippbot"
# AI provider API keysanthropic_api_key = "sk-ant-..."openai_api_key = ""gemini_api_key = ""openrouter_api_key = ""deepseek_api_key = ""grok_api_key = ""groq_api_key = ""mistral_api_key = ""
# Voice / audioelevenlabs_api_key = ""hume_api_key = ""
# Integration keysbrave_search_api_key = ""github_token = ""slack_bot_token = ""Priority order
Section titled “Priority order”Environment variables (highest priority) ↓~/.snippbot/config.toml ↓Built-in defaults (lowest priority)An environment variable always wins over the config file.
All configuration keys
Section titled “All configuration keys”Server
Section titled “Server”| Key | Default | Type | Description |
|---|---|---|---|
server_host | "" (dual-stack) | string | Daemon bind address (empty = IPv4 + IPv6) |
server_port | 18781 | int | Daemon API port |
log_level | info | string | debug, info, warning, error |
auto_open_browser | true | bool | Open browser on daemon start |
data_dir | ~/.snippbot | string | Root data directory |
projects_dir | (empty) | string | Projects directory (defaults to {data_dir}/projects) |
storage_dir | (empty) | string | Custom storage directory for uploads/assets (defaults to data_dir) |
AI providers
Section titled “AI providers”| Key | Default | Description |
|---|---|---|
anthropic_api_key | (empty) | Anthropic Claude API key |
openai_api_key | (empty) | OpenAI API key |
openrouter_api_key | (empty) | OpenRouter API key |
gemini_api_key | (empty) | Google Gemini API key |
deepseek_api_key | (empty) | DeepSeek API key |
grok_api_key | (empty) | Grok / xAI API key |
groq_api_key | (empty) | Groq API key |
mistral_api_key | (empty) | Mistral AI API key |
Voice / audio
Section titled “Voice / audio”| Key | Default | Description |
|---|---|---|
elevenlabs_api_key | (empty) | ElevenLabs TTS API key |
hume_api_key | (empty) | Hume AI voice API key |
Integrations
Section titled “Integrations”| Key | Default | Description |
|---|---|---|
brave_search_api_key | (empty) | Brave Search API key (for web search tool) |
github_token | (empty) | GitHub personal access token |
slack_bot_token | (empty) | Slack bot OAuth token (alternative to UI-based config) |
Managing via CLI
Section titled “Managing via CLI”snippbot config list # Show all values (API keys masked)snippbot config get server_port # Get one valuesnippbot config set server_port 9000 # Set a valuesnippbot config delete server_port # Remove (reverts to default)snippbot config init # Create with defaultssnippbot config init --force # Overwrite existingCreating the file manually
Section titled “Creating the file manually”If you prefer to create the file manually instead of using the CLI:
mkdir -p ~/.snippbotcat > ~/.snippbot/config.toml << 'EOF'server_port = 18781server_host = "127.0.0.1"anthropic_api_key = "sk-ant-your-key-here"log_level = "info"auto_open_browser = falseEOF