Overview
hermes config manages the main configuration file at ~/.hermes/config.yaml. This file controls every behavioral aspect of Hermes Agent — models, providers, tools, terminal backends, compression, approvals, and more.
hermes config <show|edit|get|set|unset|path|env-path|check|migrate>
Important: API keys and other secrets are stored in ~/.hermes/.env, not in config.yaml.
Subcommands
show — Show current configuration
hermes config show
Prints the resolved ~/.hermes/config.yaml.
edit — Open config file in editor
hermes config edit
Opens ~/.hermes/config.yaml in your $EDITOR.
get — Print a resolved configuration value
hermes config get model
hermes config get terminal.backend
hermes config get approvals.mode --json
| Flag | Description |
|---|---|
key (positional) |
Configuration key, using dot notation for nested values. |
--json |
Print the value as JSON. |
set — Set a configuration value
hermes config set terminal.backend docker
hermes config set model claude-sonnet-4-20250514
hermes config set approvals.deny "rm -rf *,curl *" --force
| Flag | Description |
|---|---|
key (positional) |
Configuration key, e.g. model or terminal.backend. |
value (positional) |
Value to set. |
--force |
Skip the unknown-key notice (the value is still saved). |
unset — Remove a configuration value
hermes config unset display.interface
Removes the specified key from config.yaml.
path — Print config file path
hermes config path
Outputs the full path to ~/.hermes/config.yaml.
env-path — Print .env file path
hermes config env-path
Outputs the full path to the secrets .env file.
check — Check for missing/outdated config
hermes config check
Validates the config and reports missing or outdated options.
migrate — Update config with new options
hermes config migrate
Rewrites the config to add new default options and update deprecated keys.
Common Scenarios
Read the default model
hermes config get model
Change the terminal backend
hermes config set terminal.backend docker
Remove a setting
hermes config unset display.interface
Validate after manual edits
hermes config edit
hermes config check
Update config for a new Hermes version
hermes config migrate
Find where config and secrets live
hermes config path
hermes config env-path
Tips
- Use dot notation for nested keys:
terminal.backend,approvals.mode,auxiliary.approval.model. hermes config setwrites immediately and is idempotent.hermes config checkcatches typos and schema drift after manual edits.hermes config migrateis safe to run before upgrading; review the diff if your config is under version control.- For CI/headless setups, prefer
hermes config setover the interactive editor.