hoziron config

Configuration management — view, edit, get/set values, manage API keys.

Synopsis

hoziron config <subcommand> [options]

Subcommands

SubcommandDescription
showShow the current configuration
editOpen config file in your editor
get <key>Get a config value by dotted key path
set <key> <value>Set a config value
unset <key>Remove a config key
reloadReload config from disk (live, no restart)
set-key <provider>Save an API key to .env
delete-key <provider>Remove an API key from .env
test-key <provider>Test provider connectivity

hoziron config show

Display the full configuration file.

$ hoziron config show
[default_model]
provider = "anthropic"
model_id = "claude-sonnet-4-20250514"

[providers.anthropic]
api_key_env = "ANTHROPIC_API_KEY"
enabled = true

[providers.groq]
api_key_env = "GROQ_API_KEY"
enabled = true

[server]
listen = "127.0.0.1:4200"

[health]
enabled = true
check_interval_secs = 30
failure_threshold = 5
recovery_cooldown_secs = 60

hoziron config edit

Open config.toml in your $EDITOR.

$ hoziron config edit
# Opens ~/.hoziron/config.toml in vim/nano/code

hoziron config get

Get a value by dotted key path.

hoziron config get <key>

Supported Key Paths

$ hoziron config get default_model.provider
anthropic

$ hoziron config get default_model.model_id
claude-sonnet-4-20250514

$ hoziron config get providers.anthropic.api_key_env
ANTHROPIC_API_KEY

$ hoziron config get server.listen
127.0.0.1:4200

$ hoziron config get health.check_interval_secs
30

$ hoziron config get routing.simple_threshold
100

hoziron config set

Set a value by dotted key path. Creates intermediate tables as needed.

hoziron config set <key> <value>

Value Parsing

  • true / false → boolean
  • Integer strings → integer
  • Everything else → string

Examples

# Change default model
$ hoziron config set default_model.provider openai
✓ Set default_model.provider = "openai"

$ hoziron config set default_model.model_id gpt-4o
✓ Set default_model.model_id = "gpt-4o"

# Change listen address
$ hoziron config set server.listen "0.0.0.0:4200"
✓ Set server.listen = "0.0.0.0:4200"

# Enable/disable health monitoring
$ hoziron config set health.enabled false
✓ Set health.enabled = false

# Add a new provider
$ hoziron config set providers.ollama.base_url "http://localhost:11434"
✓ Set providers.ollama.base_url = "http://localhost:11434"

$ hoziron config set providers.ollama.enabled true
✓ Set providers.ollama.enabled = true

# Configure complexity routing
$ hoziron config set routing.simple_model "groq/llama-3.1-8b-instant"
$ hoziron config set routing.complex_model "anthropic/claude-sonnet-4-20250514"
$ hoziron config set routing.simple_threshold 100
$ hoziron config set routing.complex_threshold 500

Validation

The config is validated after every set. Invalid values are rejected:

$ hoziron config set health.check_interval_secs 1
✗ ValidationError: health.check_interval_secs must be in range 5..=300, got 1

$ hoziron config set server.listen "not a valid address"
✗ ValidationError: server.listen 'not a valid address' is not a valid socket address or unix:// path

hoziron config unset

Remove a key from config.

$ hoziron config unset routing
✓ Removed key: routing

$ hoziron config unset providers.groq
✓ Removed key: providers.groq

hoziron config reload

Apply config changes without restarting the daemon.

$ hoziron config reload
✓ Configuration reloaded

Note: Some changes (like server.listen) require a full restart to take effect. Reload handles:

  • Provider additions/removals
  • Health monitoring settings
  • Model defaults
  • Routing configuration

hoziron config set-key

Interactively save an API key to ~/.hoziron/.env.

hoziron config set-key <provider>

Examples

$ hoziron config set-key anthropic
? Enter your Anthropic API key: ********
✓ Saved ANTHROPIC_API_KEY to ~/.hoziron/.env

$ hoziron config set-key groq
? Enter your Groq API key: ********
✓ Saved GROQ_API_KEY to ~/.hoziron/.env

$ hoziron config set-key openai
? Enter your OpenAI API key: ********
✓ Saved OPENAI_API_KEY to ~/.hoziron/.env

hoziron config delete-key

Remove an API key from .env.

$ hoziron config delete-key groq
✓ Removed GROQ_API_KEY from ~/.hoziron/.env

hoziron config test-key

Test provider connectivity with the stored API key.

$ hoziron config test-key anthropic
Testing anthropic... ✓ connected (245ms)
  Models available: 5

$ hoziron config test-key groq
Testing groq... ✗ authentication failed
  Check GROQ_API_KEY in ~/.hoziron/.env

Config File Location

Resolution order:

  1. --config <path> CLI flag
  2. $HOZIRON_HOME/config.toml
  3. ~/.hoziron/config.toml

See Also