The open-source Grok Bot alternative: message Claude Code, Codex, Cursor, Gemini and 40+ AI agents as bots on your own computer, from iPhone, Mac, Windows, Linux or terminal. Free. Also a Muse and Dots alternative.
See the codeThe open-source Grok Bot alternative.
Your coding agents, as teammates you can message.
Website · Compare · Launch film
Free, open source, no paid tier. A ⭐ is how others find it.
macOS: Apple Silicon + Intel (DMG) · Windows: x64 installer · Linux: AppImage · All downloads
Codync turns the coding agents on your computer — Claude Code, Codex, Cursor, Pi, OpenCode, Grok Build, Gemini, Copilot 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.
@name picks who replies. Start a thread on any message to branch off without cluttering the main chat.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.computer tool.| 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.
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
session/load, restarted with New session).team MCP server lets it discover your other visible bots and wait for a reply. 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.rev, so the phone reconnects with since: rev and never misses anything.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.UI patterns (roster, character avatars, approval cards, trace sheet, "needs you / done" notifications) follow Grok Bot.
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-<arch>.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: docs/guides/linux-servers.md.
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 relay.
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).
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 [-- <your command>] | 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/.
Is Codync free? Yes. $0 with every feature included, MIT 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, threads, 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.
| 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
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.
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.
MIT
The open-source Grok Bot alternative: message Claude Code, Codex, Cursor, Gemini and 40+ AI agents as bots on your own computer, from iPhone, Mac, Windows, Linux or terminal. Free. Also a Muse and Dots alternative.
See the codeThe open-source Grok Bot alternative.
Your coding agents, as teammates you can message.
Website · Compare · Launch film
Free, open source, no paid tier. A ⭐ is how others find it.
macOS: Apple Silicon + Intel (DMG) · Windows: x64 installer · Linux: AppImage · All downloads
Codync turns the coding agents on your computer — Claude Code, Codex, Cursor, Pi, OpenCode, Grok Build, Gemini, Copilot 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.
@name picks who replies. Start a thread on any message to branch off without cluttering the main chat.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.computer tool.| 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.
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
session/load, restarted with New session).team MCP server lets it discover your other visible bots and wait for a reply. 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.rev, so the phone reconnects with since: rev and never misses anything.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.UI patterns (roster, character avatars, approval cards, trace sheet, "needs you / done" notifications) follow Grok Bot.
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-<arch>.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: docs/guides/linux-servers.md.
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 relay.
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).
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 [-- <your command>] | 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/.
Is Codync free? Yes. $0 with every feature included, MIT 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, threads, 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.
| 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
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.
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.
MIT