Skip to content

Environment Variables

Source of truth: src/assync/commands/_common.py and src/assync/tui/tty.py.

Variable Purpose Default when unset
ASSYNC_REGISTRY_ROOT Overrides the location of the cross-project registry — which projects Assync knows about at all (assync project register/list/show). ~/.assync-runtime/registry
ASSYNC_NO_SPLASH Set to 1 to skip the interactive console's startup animation for this invocation. unset (splash shown, TTY permitting)
ASSYNC_REDUCED_MOTION Set to 1 to show the startup screen without an animated fill. unset
ASSYNC_CONFIG_PATH Overrides the location of the user-level config file (assync config get/set/list). ~/.config/assync/config.json
ASSYNC_ACTOR The actor name recorded against decisions/missions created from the interactive console. Falls back to $USER. $USER, else tui-operator
ASSYNC_FORCE_TTY Set to 1 to force the interactive-console TTY check to pass — for testing/debugging only. unset
NO_COLOR Standard no-color.org convention — Textual renders the console monochrome when set. unset
TERM=dumb The console never launches on a dumb terminal, regardless of TTY status — it can't do cursor positioning or an alternate screen buffer.

Cross-project registry vs. per-project runtime

The registry (ASSYNC_REGISTRY_ROOT, or its default under your home directory) is a separate concern from any single project's own mission data. A project's missions, runs, findings, evidence, synthesis, decisions, authorizations, locks, and audit log live in that project's own .assync-runtime/, resolved from wherever .assync/ is found walking upward from the current directory — never from ASSYNC_REGISTRY_ROOT. See Runtime Storage.