grithdocs

[general]

Log level, audit directory, and the three toggles that decide what grith talks to grith.ai about.

Top-level daemon settings. Three of the eight keys are managed by grith rather than by you.

KeyDefaultWhat it does
log_level"info"trace, debug, info, warn or error. Anything else is a fatal validation error.
audit_dir"~/.local/share/grith/audit"Where audit.db, digest.db, the writer lock and the cold/ archive live. ~ expands. Must be writable.
plan_tier"community"Reported only. The daemon overwrites it from the licence at startup.
audit_synctrueOne of four gates on analytics upload. See below.
update_checktrueWhether grith checks for a newer release.
profile_update_checktrueWhether grith checks for supervisor-profile updates.
onboardedfalseManaged by grith. Set once you have run through setup.
exec_notice_seenfalseManaged by grith. Suppresses the one-line first-run notice on grith exec.

log_level, audit_dir and plan_tier are settable with grith config set, as are the five booleans - though plan_tier is overwritten at daemon start and the last two booleans exist to be written by grith rather than by you.

plan_tier grants nothing

The licence decides the tier. At daemon start the value here is replaced with the tier derived from the cached licence, so setting plan_tier = "pro" by hand changes what grith config prints until the daemon starts and nothing after that. GRITH_PLAN_TIER behaves the same way. Sign in with grith pro login to get a Pro tier.

audit_sync

The key's meaning changed in the 0.3.x line. It used to gate a raw audit-record upload; that upload is retired and nothing sends audit records to grith.ai now. Today audit_sync is one of four conditions on the analytics projection syncing:

  1. signed in
  2. a Pro entitlement
  3. general.audit_sync = true
  4. consent recorded

Set it to false and analytics stays on this machine whatever the other three say. Licence refresh still happens - that is a separate path. For a per-machine switch that does not need a config edit, use grith analytics disable. For exactly what a rollup contains and what never leaves the machine, see Analytics.

Keep everything local

toml
[general]
audit_sync = false

Update checks

update_check drives an interactive upgrade prompt in the REPL and grith run, and a one-line notice on grith exec. profile_update_check governs supervisor-profile refreshes. Both have environment overrides that win regardless of the config value - GRITH_NO_UPDATE_CHECK and GRITH_NO_PROFILE_UPDATE, where the variable being set at all is enough. Useful in CI, where a prompt is noise.

See also

Last updated: 2026-08-24Edit this page on GitHub →