grith.aidocs

Configuration overview

Where grith reads config from, the file format, and the top-level sections.

grith is configured by TOML. The shipping defaults live in config/default.toml inside the grith repo, and that file is the source of truth for this reference.

Precedence

When grith starts, configuration values are layered from highest priority to lowest:

  1. CLI flags (--config, --log-level, --project, etc.)
  2. Environment variables prefixed GRITH_ (e.g. GRITH_LOG_LEVEL=debug)
  3. Project-local config at .grith/config.toml
  4. User config at ~/.config/grith/config.toml
  5. Built-in defaults from config/default.toml

A value set at a higher layer fully overrides the same key at a lower one. There is no deep-merge for arrays: an array reassignment replaces the whole array.

Top-level sections

[general]

KeyTypeDefaultDescription
audit_dirstring"~/.local/share/grith/audit"
audit_syncbooleantrueset to false to keep audit records local-only; license checks still use grith.ai
log_levelstring"info"
plan_tierstring"community""community", "pro", or "enterprise"

[proxy]

KeyTypeDefaultDescription
auto_allow_thresholdfloat3
auto_deny_thresholdfloat8
cold_start_callsinteger0
cold_start_escalation_highfloat10
cold_start_escalation_lowfloat2
review_timeout_secondsinteger300auto-deny queued calls after 5 minutes

[reputation]

KeyTypeDefaultDescription
auto_allow_min_observationsinteger8
auto_allow_trustfloat0.92
ceiling_filter_thresholdfloat5
decay_lambdafloat0.98
deny_weightfloat3
enabledbooleantrue
max_auto_allow_raw_scorefloat7
max_score_reductionfloat4
save_interval_secondsinteger300

[digest]

KeyTypeDefaultDescription
deliverystring"cli"
interval_activestring"30m"
interval_idlestring"24h"
max_queue_sizeinteger100

[supervisor]

KeyTypeDefaultDescription
default_profilestring"generic"
enabledbooleantrue
freeze_timeout_secondsinteger300
max_concurrent_sessionsinteger4
pty_forwardingbooleantrue
require_sandboxbooleanfalse

[server]

KeyTypeDefaultDescription
dashboard_dirstring"dashboard/dist"
enabledbooleantrue
hoststring"127.0.0.1"
portinteger3141

Each section above has further nested sub-sections (e.g. [proxy.filters.reputation], [supervisor.platform], [server.rate_limit]). Browse the per-section pages from the sidebar for the full nested tree.

Reloading

[server] enabled = true exposes PUT /config over the local API. The dashboard, the CLI's grith config set, and direct curl all route through that endpoint. Most config changes apply on the next call; some (e.g. server port) require a daemon restart.

See also

Last updated: 2026-05-14Edit this page on GitHub →
© 2026 grith. All rights reserved.