Languages: English | 简体中文
Keep your coding agents moving, wherever you are.
Read replies, answer questions, and send the next instruction to Claude Code, Codex, OpenCode, Cursor, or Pi from a native Apple client. Your agents run on a Corral host on macOS or Linux.
- See who needs you. Follow all five assistants in one session list.
- Work across sessions. Open up to four panes side by side on Mac.
- Choose your view. Switch each Mac pane between chat and the agent's terminal.
- Find your work. Filter by project and search conversation text.
- Keep typing. Use keyboard shortcuts on Mac, or reply from your iPhone.
The Mac app is a signed download. The iPhone app is a source beta: build it with Xcode. Public App Store and TestFlight downloads are not available yet.
| Client | Requirements |
|---|---|
| Mac | macOS 26+ (building from source also needs Xcode with the macOS 26 SDK) |
| iPhone | iOS 17+, Xcode, your own signing team and a physical iPhone |
| Host | Corral CLI on macOS or Linux, with an installed coding assistant |
Install the signed Mac app with Homebrew:
brew install --cask x0c/tap/corral-macAlready installed the official DMG? Register it with Homebrew:
brew install --cask --adopt x0c/tap/corral-macOpen Corral from Applications. Once registered, update with:
brew update
brew upgrade --cask x0c/tap/corral-macThe built-in updater remains available. Current Homebrew can recognize an app newer than its installation record, so an older recorded version alone does not mean an update failed. An “already an App” install error means the destination is occupied; use the appropriate adoption or update command above. Do not use --force as a routine fix: it can replace a newer app with an older tap version. Pairing and settings are preserved. How Homebrew handles self-updating apps.
Download the signed Mac DMG and drag Corral to Applications. It checks for updates hourly, downloads them in the background and installs them when you quit.
To build from source instead, with Xcode and its command-line tools installed:
curl -fsSL https://raw.githubusercontent.com/corral-dev/corral-apple/main/install.sh | bashOpen Corral from ~/Applications. To choose another installation directory, set CORRAL_APP_DIR when running the installer.
Install XcodeGen, then clone the source and generate the Xcode project:
git clone https://github.com/corral-dev/corral-apple.git
cd corral-apple
xcodegen generateOpen Corral.xcodeproj, choose your own team and unique bundle identifiers, and build for your iPhone. Follow the build and signing guide for the shared Keychain group and notification extension. Push notifications require an Apple Developer membership.
On the machine that runs your agents:
brew install x0c/tap/corral
corral remote pairIf Corral is already installed, run only the second command. Other CLI installation options are available.
On the same local network, open the Apple client and scan or paste the pairing code. Pairing lets the client read and act on your host's sessions; use corral remote pair --readonly for viewing only. Keep the code private. The host must remain awake for agents and remote access to keep working.
Run your own Corral relay and configure its wss:// address on the host. Same-network access works directly. Open-source clients use your configured relay; a shared hosted relay is not included.
For iPhone notifications, configure APNs on that relay with credentials matching your own app identity. Without APNs, conversations still update while the client is open.
Session traffic and notification text are end-to-end encrypted. The relay sees routing identities, connection timing and byte counts. Device keys are stored in Keychain; conversations can be cached on the client for reopening history. See PRIVACY.md.
- Build and signing guide
- Report a bug or request a feature
- Contributing and the contributor agreement
Remove private conversations, machine addresses and pairing credentials from public reports. For vulnerabilities, use private security reporting.
GPL-3.0-only. Corral's name and floral-hat artwork have a separate brand policy. Dependencies and assistant-provider marks retain their own licenses and ownership; see third-party notices.