Codync is a free, open source ai interaction & interfaces project written in Rust and released under Apache-2.0. It has 798 GitHub stars, 97 forks and 41 open issues, and was last pushed 11 hours ago. On this registry it ranks #136 of 156 tracked projects in AI Interaction & Interfaces, with 5 head-to-head comparisons available.

What is Codync?

Codync is an open-source, Apache-2.0 application written in Rust that turns the coding agents already installed on your own computer — Claude Code, Codex, Gemini CLI, Cursor, Copilot and roughly 40 others — into persistent bots you can message from an iPhone, Mac, Windows PC, Linux desktop or terminal.

What it is

Codync is a host application for AI coding agents. It runs on your own machine, discovers the agents you have installed, and exposes each one as a named bot with its own chat thread, project folder and approval flow, so delegating work feels like messaging a colleague rather than hunting for a session. The host is written in Rust, with an Electron desktop shell, a SwiftUI iPhone client, and builds published for macOS (Apple Silicon and Intel DMG), Windows x64 (installer) and Linux (AppImage for x86_64 and arm64), plus an iOS app on the App Store.

The concrete problem it solves is the session-picker. On a phone, "find the right working session, then pick an environment" is too slow, and the agent you want is often a different one from the agent that happens to be open. Codync replaces that with bots: you already know who to hand the intent to, so you open the chat, type, and put the phone away, receiving a notification when the bot finishes or needs your approval. It lives in the agent-client-protocol ecosystem — anything in the ACP registry can be a bot — and it is explicitly positioned as the open-source alternative to Grok Bot, Muse and Dots.

Key capabilities

  • Agent-agnostic by design: any agent listed in the ACP registry works, with installed agents found automatically and the rest fetched on first use.
  • Many bots side by side, each with its own agent, project folder and approvals, all working at once.
  • Group chats that put several bots in one conversation, so a Claude bot can ask a Codex bot for a review.
  • Bring-your-own-subscription operation: bots run on the Claude, ChatGPT or other plan the agents are already signed in with, and Codync never calls a provider's API with your login.
  • Completion and approval notifications pushed to the device you are actually carrying.
  • Native clients across the range: iOS 18+ app, macOS 14+ DMG, Windows x64 installer, Linux x86_64 and arm64 AppImages, and a terminal interface.
  • Distribution through a Homebrew tap (codync) as well as direct downloads from the releases page.

Who uses it and how

  • Developers who already hold a Claude, ChatGPT or similar plan and want to drive several different agents without switching tools or re-authenticating.
  • People who step away from the desk: intent goes in from the iPhone app, and the result or approval request comes back as a notification.
  • Multi-agent workflows where roles are split by bot — one agent implements, another reviews — coordinated inside a single group chat.
  • Linux desktop and arm64 users who want the same host binary rather than a platform-specific workaround.

Getting started

Download the platform build from the releases page — codync-macos.dmg, codync-windows-x64.exe, codync-linux-x86_64.AppImage or codync-linux-arm64.AppImage — or install through the homebrew-codync tap, and add the iOS app from the App Store. The hosted documentation at codync.dev/docs covers setup.

How it compares

Codync is presented by its maintainers as the open-source Grok Bot alternative, with Muse and Dots named alongside it as the products it displaces; against that group it is Apache-2.0 licensed, free with no paid tier, and runs on your own computer rather than off your data being sent to a vendor. Data ownership follows from that architecture: your agents stay signed in with your own accounts, and Codync itself never calls a provider's API with your login. The registry facts document Codync's side of the comparison rather than the terms of the alternatives, and the project maintains its own comparison page at codync.dev/compare.

When to use it — and when not

Choose Codync if you already pay for agent subscriptions, want to mix agents freely, and are willing to keep a host machine running — it provides no model access of its own, so without signed-in agents there is nothing for the bots to do. Check the platform floors before committing: macOS 14+, iOS 18+, Windows x64 and Linux x86_64 or arm64 are the supported targets, and anyone wanting a fully managed cloud service rather than a local host should look elsewhere. The project also carries 41 open issues, so expect an actively moving codebase rather than a frozen one.

project readme (upstream, from github) — read inline

Codync

The open-source Grok Bot alternative.
Bring your own agent and subscription — Claude Code, Codex, Gemini CLI, Cursor and 40+ more — as teammates you can message from your phone.

Website · Docs · Compare · Launch film

Star Codync on GitHub
Free, open source, no paid tier. A ⭐ is how others find it.

Download for macOS Download for Windows Download for Linux x86_64 Download for Linux ARM64

macOS: Apple Silicon + Intel (DMG) · Windows: x64 installer · Linux: AppImage · All downloads

App Store Homebrew Discord Release License: Apache 2.0
iOS macOS Windows Linux Rust Swift Electron

Download on the App Store

Codync turns the coding agents on your computer — Claude Code, Codex, Cursor, Pi, OpenCode, Grok Build, Gemini, Copilot, Hermes Agent and ~40 more — into persistent bots you delegate to from your iPhone, Mac, Windows PC, Linux desktop or any terminal, the way you'd message a colleague. Pick who, say what, put the phone away. You get a notification when a bot finishes or needs your approval.

Why bots? On a phone, "find the right working session, then pick an environment" is too slow. With bots you already know who to hand the intent to: open the chat, type, done.

Why Codync

  • Free and open source. No subscription, no paid tier, Apache 2.0 licensed.
  • Bring your own subscription. Bots run on the Claude, ChatGPT or other plan your agents are already signed in with, on your own computer. Codync never calls a provider's API with your login.
  • Agent-agnostic: bring any coding agent. Claude Code, Codex, Cursor, Gemini, Copilot, OpenCode, Pi, Grok Build and ~40 more — everything in the ACP registry. Installed agents are found automatically, the rest are fetched on first use, and every bot picks its own. Mix them freely: a Claude bot can ask a Codex bot for a review.
  • Many bots, one team. Run as many bots as you like side by side, each with its own agent, project folder and approvals, all working at once. Put several in a group chat and they answer in turn, like a team channel; @name picks who replies. Reply to any message, yours or a bot's, right in the chat.
  • Built in Rust. codync-host is one small, fast Rust binary for macOS, Windows and Linux (static on Linux, runs on any distro) that drives every agent, keeps the transcripts and serves every client.
  • One app per kind of device. Native SwiftUI on the iPhone, one desktop app for Mac, Windows and Linux (Electron), and a terminal UI for SSH.
  • A Grok Bot, Muse and Dots alternative. Persistent named bots, group chats, quote replies, bots asking each other for help, approval cards, per-bot memory, remote screen, voice calls and "needs you / done" notifications — the same features, without being tied to one model or one subscription.
  • Reach your computer from anywhere, free. The hosted Cloudflare relay is included at no cost: no Tailscale, no VPN, no port forwarding. Traffic is end-to-end encrypted between your phone and your computer, so the relay only forwards ciphertext. Same Wi-Fi or Tailscale? The phone connects directly instead.
  • Every computer, one app. Sign in and your iPhone lists every computer on your account (Mac, Windows PC, Linux desktop, server or cloud VM); open Computers and tap Ask for access, confirm a 6-digit code on that computer, and its bots show up next to the others. A new bot can live on any of them, and the Mac app reaches your SSH machines too. Each computer approves each device itself, so an account alone never unlocks a computer.
  • Remote screen. See and control your computer from the iPhone over WebRTC (hardware H.264), and let bots use the screen themselves through the built-in computer tool.
  • Voice calls. Talk to a bot hands-free from the iPhone and hear its replies read aloud.
  • Private push. Notification text is sealed to your phone's key, so the push relay never sees what your bots said.

Platforms

Platform App Highlights
📱 iPhone Native SwiftUI Chat with bots, approvals, push notifications, Live Activity, widgets, remote screen, voice calls
💻 macOS Desktop app (Electron), menu bar + window Runs the host, chat window, usage in the menu bar, iPhone pairing
🪟 Windows Desktop app (Electron), tray + window Runs the host, chat window, iPhone pairing (no remote screen yet)
🐧 Linux Desktop app (Electron), tray + window Chat window, iPhone pairing; the host runs on desktops and headless servers
⌨️ Terminal codync-host tui Message your bots from any terminal, over SSH too

The host (codync-host, Rust) runs on macOS, Windows and Linux; every client talks to it, so all your bots and chats are the same everywhere.

Looking for the former native Mac app (SwiftUI + AppKit)? Version 2.7.0 moved Mac and Linux to one Electron desktop app. The native implementation is preserved in Git history; see the changelog and source lookup commands and the archived AppKit chat implementation notes.

How it works

Remote Apple client ⇄ encrypted channel (direct or Cloudflare cloud/) ⇄ codync-host ⇄ ACP agent
Local / SSH client  ⇄ loopback HTTP + SSE                             ⇄ codync-host
Host notifications → APNs worker (relay/) → iPhone
  • Bots have a name, a character avatar, standing instructions, an agent backend, a project folder and a permission policy. Each bot has one persistent chat, where you can reply to any message; the agent sessions underneath are an implementation detail (resumed with session/load, restarted with New session).
  • Group chats hold several bots and you. Each message starts a short room turn: the bots you @-mention (or everyone) reply one at a time, each in its own session, and can react to each other, up to 3 rounds. See group chats and replies.
  • Bots can ask each other for help. Tell one “ask Reviewer to check these changes.” The built-in team MCP server lets it discover your other visible bots and message one; the reply comes back to it as a new turn, and it answers you then. Requests appear in both chats; each recipient keeps its own agent, folder and approvals. Native subagents stay under the coding agent's control. See bot collaboration.
  • The chat only shows what matters: your messages, each turn's final reply, approval cards and notices. Every tool call, diff, plan and thought is one tap away in Full conversation. While a bot works, its row shows what it's doing right now.
  • Agents are detected automatically: the host hydrates PATH from your login shell (plus Homebrew, ~/.local/bin, nvm, bun, volta, asdf, mise, pnpm…), finds every harness you have installed, and prefers its native ACP mode. Anything else in the official ACP registry can be picked too — Codync fetches it on first use (npx, uvx or a checksummed binary).
  • codync-host (Rust, macOS, Windows and Linux) runs on your computer. It speaks the Agent Client Protocol to each agent, keeps transcripts in SQLite, and serves the phone. Every change carries a global rev, so the phone reconnects with since: rev and never misses anything.
  • Usage limits come from your local installs, with no extra login: Claude via claude -p /usage (a local command, no model call) plus Claude Code's status line, Codex via ~/.codex/sessions. The phone, widgets and menu bar only see percentages.
  • Push goes through a tiny relay that holds the APNs key. The phone trades its device token for an encrypted ticket; the host only ever holds tickets.

UI patterns (roster, character avatars, approval cards, trace sheet, "needs you / done" notifications) follow Grok Bot.

Install

One line (macOS or Linux):

curl -fsSL https://raw.githubusercontent.com/leepokai/Codync/main/packaging/install.sh | sh

On a Mac it installs the app (the host ships inside it); on Linux the host, plus the desktop app when a display is present. Add sh -s -- --host-only for servers and headless Macs. Re-run it to upgrade.

Mac — download codync-macos.dmg and drag it to Applications, or:

brew install --cask leepokai/codync/codync

All three install the same signed, notarized app.

Open Codync: it sets up the host on first launch. Open Codync opens the full window; Pair iPhone… shows the QR code.

Windows — download codync-windows-x64.exe and run it. It installs for your user and starts the host at sign-in. The installer isn't code-signed yet, so SmartScreen asks you to confirm it once (More info → Run anyway). Not on Windows yet: remote screen, on-device speech and the Claude Code status line hook. Details: desktop app.

iPhone — get Codync on the App Store (iOS 18+, free), then scan the QR code from Pair iPhone… on the Mac, the Windows or Linux app, or codync-host pair.

Why the iPhone app can be a version behind: every iPhone release goes through Apple's App Review first, which usually takes a day or more, so the App Store version can trail the Mac, Windows, Linux and host releases. Your computer accounts for that: an update that needs a newer iPhone app waits until that version is in the App Store, then installs, and the iPhone app shows a reminder when a newer version is available.

Linux — the host, plus the desktop app:

curl -fsSL https://raw.githubusercontent.com/leepokai/Codync/main/packaging/install.sh | sh
# or: brew install leepokai/codync/codync-host
codync-host install   # systemd --user service
codync-host pair      # QR code in the terminal, or Settings in the app

The script also installs the desktop app (codync, an AppImage, with its .desktop file) when you're in a graphical session. By hand: codync-linux-.AppImage, .deb or .tar.gz from Releases.

Building the desktop app yourself: cd apps/desktop && npm ci && npm run dev.

Linux server / cloud VM — the host runs headless on any distro (static binary, x86_64 + arm64). Setup, remote access and limitations: Linux servers (contributor notes).

Remote access works out of the box through the free Cloudflare relay, end-to-end encrypted; the phone switches to a direct connection on the same network or over Tailscale. Details: Remote access (protocol).

Agents — install and sign in to whichever you use; Codync finds them. Claude Code, Codex and Pi run through their ACP adapters (fetched by npx, so Node.js is needed for those).

codync-host install also routes Claude Code's status line through codync-host statusline so live limits reach the host; an existing status line keeps working (it's wrapped, and restored on uninstall).

If an update fails

Quit Codync completely and reopen it first; a downloaded update may still be waiting for the old app to exit. If updating still fails, uninstall the app and reinstall the latest version from Releases. On macOS, stop/remove the old host service before replacing Codync.app. Keep ~/.codync and Codync's settings folders to retain your bots, conversations and computer identity; do not use Reset all data, a cleanup utility, or Homebrew --zap for this repair. Follow the reinstallation steps.

codync-host

Command
codync-host install / uninstall background service (launchd on macOS, systemd --user on Linux, the sign-in Run key on Windows)
codync-host tui [--url … --token …] message your bots from a terminal (this computer by default; SSH-friendly)
codync-host pair [--json] pairing QR code / link
codync-host status installed? running?
codync-host serve [--port 19222] run in the foreground
codync-host statusline [-- ] Claude Code status line command (wraps yours)
codync-host reset-token rotate the local loopback bearer token
codync-host cloud cloud enablement, URL and status
codync-host devices list/revoke authorized remote devices
codync-host access review device access requests

Data lives in ~/.codync. The local bearer token authorizes loopback helpers and SSH-forwarded callers. Remote devices use individual keys and grants over the encrypted channel; revoke a lost device through device management rather than rotating the loopback token. Host methods and caller permissions live in host/src/api/.

FAQ

Is Codync free? Yes. $0 with every feature included, Apache 2.0 licensed. You pay only your agent's provider, through the plan or key you already have.

Can I use my Claude or ChatGPT plan? Yes. Codync runs the agents already signed in on your computer: Claude Code with your Claude plan, Codex with your ChatGPT plan, and so on. It never calls a provider's API with your login.

Is there a Claude Code or Codex app for iPhone? Codync is one, free: Claude Code or Codex keeps running on your Mac or Linux machine, and you chat with it, approve its edits and get notified from the iPhone. Guides: Claude Code on iPhone · Codex on iPhone.

Which agents can it run? Claude Code, Codex, Cursor, Gemini, Copilot, OpenCode and about 40 more through the ACP registry. Each bot picks its own.

How is it different from Grok Bot, Muse or Dots? The same bot-based way of working (named bots, group chats, replies, approvals, memory), but open source, free, running on your own computer and with any coding agent. Side-by-side pages: codync.dev/compare.

Where does my data go? Bots, chats and memory stay on your computer. The phone reaches it directly on the same network, or through an end-to-end encrypted relay that can't read your messages.

Do I need an account? No. Pair your phone by scanning a QR code. Signing in with Apple or Google is optional.

Which computers can run it? A Mac, a Windows PC, or a Linux desktop or headless server. The iPhone app and the terminal UI over SSH talk to the same host.

Repository

Path
host/ codync-host — Rust daemon: ACP client, SQLite transcript, HTTP/SSE API, push, usage
apps/ios/ iOS app: pairing, roster, push, Live Activity glue
apps/ios/Kit/ The iPhone app's Swift package: CodyncKit (wire models, host client, theme, avatars; shared with the widgets) and CodyncUI (store + screens)
apps/ios/Widgets/ Bots, usage and per-provider usage widgets + bot Live Activity
apps/desktop/ Desktop app for macOS, Windows and Linux (Electron, React, TypeScript): menu bar/tray + chat window; installs/monitors the host
cloud/ Cloudflare accounts, D1, encrypted channel relay and offline mailbox
apps/shared/Config/ Environment configuration (Clerk key, cloud URL) for the iPhone and desktop apps
apps/screen-macos/, apps/screen-linux/ Platform screen capture/input helpers
docs/ Documentation index and file structure
relay/ Cloudflare Worker APNs relay with encrypted per-device tickets
web/ Website (Next.js static export, deployed on Vercel)
packaging/ Homebrew cask and formula templates (published to leepokai/homebrew-codync on release) and install.sh (the curl installer)

Build, install, restart and full checks: development guide.

The Xcode project is generated: xcodegen generate --spec apps/project.yml.

cd host && cargo test            # host
cd apps/desktop && npm test      # desktop app (also: npm run typecheck)
# iPhone package: xcodebuild test -scheme CodyncKit-Package (apps/ios/Kit, iOS Simulator)
cd cloud && npm test            # cloud API / channel relay
cd relay && npm test             # relay tickets

Changelog

2.7.0 — one desktop app for Mac and Linux

The SwiftUI Mac app and the GTK 4 Linux app are replaced by a single desktop app in apps/desktop/ (Electron). It looks and works like the Mac app it replaces: the same roster, chat, inspector, marketplace, settings, menu bar, pairing, SSH computers, voice calls and remote screen helper. Why: the native chat had become too slow to scroll and stream long transcripts, and keeping two desktop apps in step took more than one person can maintain. The iPhone app stays native SwiftUI; its shared package moved into apps/ios/Kit/. Details: desktop app.

Native Mac source (SwiftUI + AppKit). The last native revision is 1055636, the parent of migration commit 41135ac. It includes apps/macos/ and the Mac code paths in kit/. The chat used MacChatList, an AppKit NSScrollView hosting SwiftUI message rows; see the archived implementation notes.

git show 1055636:apps/macos/Views/ChatWindow.swift
git worktree add ../codync-swiftui 1055636  # a checkout of the whole native-era repo

For release-by-release changes, see GitHub Releases.

Versioning

Clients and the host each name the oldest version of the other they still work with (minApp in the host's hello, minHost in each client), so an app can meet an older or newer host. Details: compatibility.

Contact

Credits

The desktop notch island's design is inspired by the work of @novra.design.

License

Apache 2.0 for the code (see NOTICE); versions up to 2.11.0 were MIT. The Codync name, logo and the Codync Cloud relay are not covered, and hosted or multi-tenant services must run their own relay and accounts: see TRADEMARK.md.

Star History

Star History Chart

Frequently asked questions

Is Codync free to use?

Codync is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Codync do?

Bring your own agent and subscription: message Claude Code, Codex, Gemini CLI, Cursor, Copilot and 40+ AI agents as bots on your own computer, from iPhone, Mac,

What is Codync written in?

Codync is primarily written in Rust. Its source is publicly available at https://github.com/leepokai/Codync, and it has 798 GitHub stars.