Skip to content

Environment variables

agentsync reads a handful of environment overrides. The common ones come first; the rest are escape hatches you’ll rarely need. The full table is complete for everything agentsync gives its own meaning to: every AGENTSYNC_* override, GROK_HOME, and the standard variables it honours specially (NO_COLOR, EDITOR). Standard process-environment conventions behave as they do for any program and are not listed: HOME, PATH, TMPDIR (TMP/TEMP on Windows; where scratch files land, including the vault secret edit decrypts while your editor is open), HTTP_PROXY/HTTPS_PROXY/NO_PROXY for marketplace fetches, and SSH_AUTH_SOCK for ssh plugin sources. Nor are the ${env:NAME} references you write yourself. A guard test in the repository fails when the code reads or names a variable the table lacks. The test harness’s own AGENTSYNC_TEST_* / AGENTSYNC_LIVE_* signals (beyond AGENTSYNC_TEST_IN_CONTAINER) are contributor-only; the repository’s CONTRIBUTING.md lists them.

Env varPurpose
AGENTSYNC_HOMEOverride the ~/.agentsync/ location (absolute path).
AGENTSYNC_ALLOW_SYMLINK_DEST=1Write through symlinked destinations, and compare through them when reading (e.g. chezmoi-managed files). Needed by apply and by status/diff/reconcile/explain.
AGENTSYNC_ALLOW_INSECURE_URLS=1Accept http:// / git:// plugin & marketplace sources.
AGENTSYNC_ALLOW_OFFLINE_VERIFY=1Let check validate reference shape only, skipping resolution (CI without an age key).
AGENTSYNC_NO_UPGRADE_NOTICE=1Never show the one-time upgrade notice.
NO_COLORDisable ANSI color and bold under the default --color=auto (any value counts, even empty).
Env varPurpose
AGENTSYNC_HOMEOverride ~/.agentsync/ location (absolute path).
AGENTSYNC_TARGET_ROOTRedirect $HOME for testing (used by the hermetic test container). A sandbox: every path agentsync resolves — the canonical source included — lands under it, and AGENTSYNC_HOME / GROK_HOME are ignored while it is set.
GROK_HOMEGrok Build’s own home override, honoured at user scope (absolute path). / and your home directory are refused.
AGENTSYNC_ALLOW_SYMLINK_DEST=1Write through symlinked destinations, and compare through them when reading (resolves the link first). Needed by apply and by status/diff/reconcile/explain.
AGENTSYNC_ALLOW_INSECURE_URLS=1Accept http:// and git:// plugin / marketplace sources.
AGENTSYNC_ALLOW_UNIMPLEMENTED=1Register an agent with no implemented adapter yet (none today — every valid agent is real).
AGENTSYNC_ALLOW_PLUGIN_DRIFT=1Bypass the plugin-cache manifest-SHA check (after hand-editing).
AGENTSYNC_ALLOW_OFFLINE_VERIFY=1Skip ${secret:…} resolution in check; reference shape (well-formed ${secret:…}/${env:…}) is still validated (CI without an age key).
AGENTSYNC_AGE_SKIP_PERM_CHECK=1Skip the 0600 mode check on the age identity file (ACL’d NFS). The identity must still be a regular file.
AGENTSYNC_MAX_TARBALL_MB=<N>Override the per-tarball decompressed-bytes cap (default 512; 0 disables).
AGENTSYNC_NO_UPGRADE_NOTICE=1Suppress the one-time first-run-after-upgrade notice (see Upgrading). Nothing is printed and nothing is recorded, so unsetting it later still surfaces an unseen notice.
AGENTSYNC_LOCK_TIMEOUT_MS=<N>Override how long a mutating command waits for the global lock before erroring (default 30000ms).
NO_COLORDisable ANSI color and bold under the default --color=auto (any value counts, even empty). --color=always still forces color on.
EDITORThe editor secret edit opens the decrypted vault in (default vi; flags are allowed, e.g. code --wait).
AGENTSYNC_TEST_IN_CONTAINER=1Bypass the host test guard (use only with go test -run for a single case).