Install the CLI
The CLI is the one binary that hosts the agent loop. Pick whichever works for your machine.
npm install -g offsync
offsync CLI is published as @offsync/cli on npm. If you've already installed it via npm, offsync --version should print a v0.x semver.
Authenticate
Sign in once. The CLI opens a browser window, drops a token in ~/.offsync/config.json, and you're set.
offsync auth login
Token lives at ~/.offsync/config.json with mode 600.
Your first session
From any project directory, ask the agent to do something:
cd ~/code/my-project
offsync new "summarize what this repo does in 3 bullets"
The agent will start streaming output. When it tries to read a file or run a command, the CLI prompts you locally — and any other surfaces (mobile / Slack / Discord) get the same prompt in real time. Whoever taps Approve first wins.
Mobile app — approve from the lock screen
The mobile app is a viewer + approval surface. Get push notifications on every tool call; tap Approve / Deny without unlocking the laptop.
Sign in with the same email; the app reads your sessions list immediately.
VSCode extension
Install from the marketplace, hit Cmd+Shift+P → Offsync: Open Panel, paste your token. Your open workspace becomes the agent's working directory.
code --install-extension offcoder.offsync
Diffs land via WorkspaceEdit, so undo / redo / source-control review all work normally.
Slack bot — channel-based approvals
In Slack, install the bot from the dashboard. Then in any channel:
/offsync subscribe <your-offsync-user-id>
Every tool call from any of your sessions now posts a Block Kit card to that channel with Approve / Deny buttons. To unsubscribe:
/offsync unsubscribe <your-offsync-user-id>
Find your user id with offsync user me on the CLI.
Discord bot — same pattern
Add the bot to your server, then in any channel:
/offsync subscribe user_id:<your-offsync-user-id>
Discord uses native interaction buttons — no gateway connection needed, so the bot scales to any size workspace.
BYOK — Bring your own key
Offsync doesn't markup tokens. You bring the key for whichever provider you prefer:
Add a key from the CLI:
offsync byok add anthropic
# paste your sk-ant-... key when prompted
MCP servers — extend the agent
Pull from the built-in registry of trusted, signed MCP servers — or add your own.
# Browse the registry
offsync mcp list
# Install a server
offsync mcp install filesystem
# Add a custom server (Pro+)
offsync mcp add my-server --transport stdio --command "node my-server.js"
Three transports supported out of the box: stdio (local processes), sse (server-sent events), and http (Streamable HTTP). The registry uses Ed25519 signatures with recursive canonical JSON — tamper-proof down to the leaf field.
Troubleshooting
The CLI can't connect to the relay
Check OFFSYNC_SYNC_URL in your environment. Default is https://api.offsync.offcoder.com. If you're on a corporate network, make sure WebSocket upgrades aren't being stripped by a proxy.
Run offsync doctor to print connectivity + auth diagnostics.
Push notifications aren't arriving on my phone
"Plan limit reached" — I'm on Free
I want to delete all my data
offsync account delete on the CLI, or Account → Delete on the web dashboard. We do a soft-delete + 30-day hold for accidental deletions, then full purge — see the privacy policy for the full DPDP-aligned retention schedule.
Need a hand?
We hang out in our community Discord, and email is always open.