Skip to content

What is agentsync?

agentsync is a single-machine CLI that centrally manages the configuration of your AI coding agents. You keep one canonical config in ~/.agentsync/ — small, hand-editable TOML and markdown you can commit to a dotfiles repo — and agentsync projects it into each agent’s native format.

If you use more than one AI coding agent, you’ve felt this:

  • You add an MCP server to Claude, then hand-copy it into OpenCode’s JSON, then again into Codex’s TOML.
  • You install a plugin in one agent and forget it in the others.
  • You hard-code a token into a config file and pray it never lands in git.
  • Your ~/.claude.json and your OpenCode config slowly drift apart, and you have no idea which one is “right.”

Every new agent multiplies the busywork and the number of places a secret can leak or a setting can go stale.

You keep one canonical config and agentsync fans it out. Add a server once; it lands everywhere. Install a plugin once; every agent that understands its components gets them. And because agents edit their own configs, agentsync is bidirectional — it notices when a native file drifts from what it last wrote and offers a chezmoi-style merge.

Edit once, apply everywhere

Each component is projected into each agent’s native config — fully where the agent has the concept, lossily but reported where it doesn’t, skipped (never silently) where it can’t.

Bidirectional

When an agent edits its own config, agentsync detects the drift and offers a merge: adopt the edit into your source, or re-impose the source. Nothing is overwritten behind your back, and nothing is lost.

Secret-safe

Reference ${secret:github.token}; agentsync resolves it at apply time from an age-encrypted vault and never writes the cleartext back into your source.

Offline apply

apply renders from a local cache and never touches the network. Only update reaches out — so apply is fast and reproducible.

Not every agent supports every component, and agentsync never pretends otherwise. Every translation is marked ✓ native, ◐ projected (lossy but reported), or ✗ skipped (no honest translation), and the choice is printed in the apply report. See the capability matrix for the full per-agent breakdown.