grith config
Show or modify configuration values from the command line.
grith config [set <KEY> <VALUE>]
Show the current configuration, or set a single value.
Show
With no subcommand, prints the merged configuration:
$ grith config
[general]
log_level = "info"
audit_dir = "/home/you/.local/share/grith/audit"
plan_tier = "community"
...
Use --format json for structured output, useful in scripts:
grith config --format json | jq '.proxy.auto_allow_threshold'
Set
grith config set <KEY> <VALUE>
Set a single key. Dotted notation walks into sections.
Examples:
grith config set general.log_level debug
grith config set proxy.auto_allow_threshold 3.5
grith config set supervisor.default_profile claude-code
The change is written to the user config (~/.config/grith/config.toml) and takes
effect on the next call (or after daemon restart for server-affecting keys like
server.port).
Where values come from
Layered, highest priority first:
- CLI flags (
--config,--log-level, etc.) GRITH_*environment variables (e.g.GRITH_LOG_LEVEL=debug)- Project-local
.grith/config.toml(if present) - User config
~/.config/grith/config.toml - Built-in defaults (
config/default.tomlin the grith repo)
grith config shows the merged result. To see only the user layer:
grith config --layer user
Reset
Delete the user config to revert to defaults:
rm ~/.config/grith/config.toml
grith init
grith init writes a copy of the default config back to the user path with the
shipping comments intact.
See also
Last updated: 2026-05-14Edit this page on GitHub →