leepokai/Codync

▲ 288 stars today★ 1,547⑂ 149

Open source Grok Bot alternative, 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

About leepokai/Codync

leepokai/Codync is an open-source project on GitHub, mainly written in Rust. Open source Grok Bot alternative, Bring your own agent and subscription: message Claude Code, Codex, Gemini CLI, Cursor It currently holds 1,547 stars and 149 forks with 45 open issues, and was last pushed on 2026-11-01 (repository created 2026-03-18).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #20 with 288 new stars today.

GitHub Repository Details

Repository leepokai/Codync · default branch main · size 65023 KB · watchers 6 · source: GitHub REST API and repository README

README

https://github.com/leepokai/Codync/blob/HEAD/Codync icon

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 · X @trycodync

Star Codync on GitHub Ko-fi
Free, open source, no paid tier. A ⭐ is how others find it; a ☕ keeps it going.

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 WeChat China Release License: Apache 2.0
iOS macOS Windows Linux Rust Swift Electron

https://github.com/leepokai/Codync/blob/HEAD/Watch the Codync launch film on YouTube (1:45)

https://github.com/leepokai/Codync/blob/HEAD/Codync desktop app on macOS: four bots in the sidebar and the welcome screen with no bot selected

https://github.com/leepokai/Codync/blob/HEAD/Download on the App Store

[!WARNING]
Official account: @trycodync is my only official account. Beware of impersonators and scams.

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

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 at 1055636; see 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
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 26+, 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 send --bot [--wait] [--json] ... | send from a script, optionally waiting for the final reply | | codync-host import [--dry-run] [--only a,b] [--skill] | import bots from another app's export file; --skill prints the skill that writes one | | 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 [--assistants on\|off] | cloud enablement, URL and status; whether ChatGPT, Claude and other connected assistants may message this computer's bots | | codync-host network | codync-network, your computers' network: create, invite, join, status, promote, remove, recover | | codync-host devices | list/revoke authorized remote devices | | codync-host access | review device access requests |

For non-interactive work, send a message and wait for a machine-readable result:

codync-host send --bot reviewer --wait --json "Review the current diff without modifying files."

--bot accepts an ID or an exact, case-insensitive name; duplicate names require an ID. Use positional text or --file request.txt to read UTF-8 (--file - reads stdin). --reply-to quotes a message of the bot's chat: the entryId or replyId of an earlier --json result. Without --wait, the command prints the accepted message's id, seq and turn; with --wait, it prints the reply once the bot is done (a reply in several messages comes joined; a turn that ends with no text, such as only a reaction, prints nothing). Group chats can't be waited on. Queued messages retain the host's batching behavior, so multiple sends can share one reply and turn.

--timeout defaults to 1800 active seconds. Pending approval pauses the clock and prints a summary to stderr; the command never approves a request or stops the bot on timeout. Notices also go to stderr. --json emits one JSON object with botId, entryId, entrySeq, turn, status (completed, failed, or timeout), optional stopReason, reply and replyId, notices, elapsedSeconds (wall time), and waitedForApprovalSeconds. Without --wait, completed means the send was accepted. Errors before acceptance only use stderr. Exit codes are 0 completed/accepted, 1 stopped/limited/declined/failed, 2 invalid arguments, missing/ambiguous bot or --wait on a group chat, 3 unavailable host or refused API request, and 4 timeout. See codync-host send --help for all options.

Data lives in ~/.codync. The local bearer token authorizes loopback helpers and SSH-forwarded callers. Use --port and CODYNC_HOME when targeting a host with a different port or data directory; development builds default to port 19223 and ~/.codync-dev. 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 | | private-relay/ | Single-process Node relay a person runs for their own computers: the cloud relay's WebSocket subset, without accounts | | 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

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.

Community

| Discord | WeChat · China community | | --- | --- | | Join Discord for questions, help and feedback. | A community for Codync users in China to share tips, ask questions and give feedback. Scan with regular WeChat; WeCom is not required. | | | https://github.com/leepokai/Codync/blob/HEAD/QR code to join the Codync WeChat community for users in China | | | Download the QR code · WeChat community page |

Contact

Credits

The desktop notch island's design is inspir

GitHub Stars & Activity

1,547Stars
149Forks
45Open issues
RustLanguage

GitHub Popularity

GitHub stars1,547
Forks149
Open issues45
Primary languageRust
LicenseApache-2.0
Stars gained today288
Created2026-03-18
Last pushed2026-11-01

Trending History

Daily boardrank #20 · ▲ 288 stars
Weekly boardrank #48 · ▲ 608 stars

Related AI Projects

1

openai / codex

Rust★ 132,710⑂ 20,965▲ 313 stars
→
2

pbakaus / impeccable

Rust★ 99,172⑂ 5,863▲ 1,173 stars
→
3

herdrdev / herdr

Rust★ 47,288⑂ 3,782▲ 213 stars
→
4

vercel-labs / agent-browser

Rust★ 45,125⑂ 3,089▲ 112 stars
→
5

cjpais / Handy

Rust★ 36,384⑂ 3,441▲ 383 stars
→
6

1jehuang / jcode

Rust★ 21,392⑂ 2,499▲ 29 stars
→
7

jub0t / Concat

Rust★ 13,521⑂ 1,673▲ 429 stars
→
8

max-sixty / worktrunk

Rust★ 9,762⑂ 348▲ 145 stars
→

More AI Rankings