Config File Location
FERAL reads its primary configuration from a JSON file at:FERAL_HOME environment variable:
$FERAL_HOME/settings.json instead.
Configuration Hierarchy
FERAL merges configuration from four sources, each overriding the previous:Local config
.feral/settings.local.json in the current directory — personal overrides not checked into version control.Environment variables (highest priority)
Any
FERAL_* env var overrides the equivalent setting. See the Environment Variables reference.Settings File Format
settings.json
Credentials Vault
Sensitive values (API keys, tokens) are stored separately in an encrypted vault:Managing credentials
Key Settings Reference
| Setting Path | Type | Default | Description |
|---|---|---|---|
llm.provider | string | "ollama" | LLM backend: anthropic, openai, openrouter, ollama, gemini |
llm.model | string | "llama3" | Model identifier for the chosen provider |
autonomy.mode | string | "hybrid" | strict, hybrid, or loose |
voice.enabled | bool | true | Enable voice pipeline |
voice.wake_word | string | "hey feral" | Trigger phrase for hands-free activation |
brain.port | int | 9090 | Brain WebSocket/API port |
dashboard.port | int | 3000 | Web dashboard port |
memory.backend | string | "sqlite" | Storage backend for episodic memory |
hardware.ble_enabled | bool | true | Enable Bluetooth device scanning |
Example: Minimal Cloud Config
settings.json
Example: Fully Local Config
settings.json
