The daily loop
Four commands cover almost everything you do after the initial setup.
| Command | When you run it |
|---|---|
agentsync apply | After editing your source — push changes to agents. |
agentsync status | ”What’s out of sync?” — a summary across all agents. |
agentsync diff | ”Show me exactly what changed.” Secrets are redacted. |
agentsync reconcile | An agent edited its config — merge or override the drift. |
A typical session
Section titled “A typical session”After an agent (or you) edited a native file out from under agentsync:
agentsync status # spot the driftagentsync diff claude # inspect it (resolved secrets are masked)agentsync reconcile # interactively resolveInside reconcile
Section titled “Inside reconcile”For each drifting item, agentsync shows the source value, the on-disk value, and a menu:
~/.claude/settings.json#$.permissions.bash[2] (drift) source: "Bash(git push:*)" destination: "Bash(git push:*) Bash(npm publish:*)"
[w]rite-back [o]verride [s]kip [i]gnore [d]iff [q]uit| Key | Action |
|---|---|
w | Adopt the destination edit into your source (W = all). |
o | Re-impose the source, discarding the edit (O = all). |
i | Stop tracking this path (adds it to ~/.agentsync/ignore.toml). |
s / q | Skip / quit. |
d | Show a full diff for this item. |
Scripting it
Section titled “Scripting it”For non-interactive runs (cron, CI, a update --apply), drive reconcile with
flags instead of the menu:
| Flag | Behavior |
|---|---|
--auto-writeback | Adopt every destination edit. |
--auto-override | Re-impose source everywhere, discarding edits. |
--auto-safe | Only auto-resolve changes that can’t lose work (converged, pending). |
agentsync reconcile --auto-safe--auto-safe is the conservative default for automation: it converges the
no-risk cases and leaves anything that could discard work for a human.
What the drift classes mean clean, pending, drift, converged, conflict, new, foreign-collision, orphan… all nine, defined.