CrossCode is a free, open-source mobile client for OpenCode - the terminal AI coding agent. It lets you control your PC's OpenCode instance from your phone, anywhere in the world, with no shared network required.
CrossCode connects your phone to a running opencode serve instance on your PC or VPS through a Cloudflare Tunnel. Your code never touches CrossCode's servers - there are none. Everything runs locally on your machine.
- Zero config:
npx crosscodestarts everything and shows a QR code - Scan to connect: open the app, scan the QR, you're in
- Works anywhere: mobile data, different WiFi, across the world
- Full control: chat, approve tool calls, review diffs, manage sessions
Run this on your PC (current working directory) to bootstrap the entire connection:
- Starts
opencode serveautomatically - Opens a Cloudflare Tunnel (no account needed)
- Renders a QR code in your terminal
- Scan from the CrossCode app → connected instantly
- Graceful shutdown on
Ctrl+C - Auto-detects missing dependencies and guides installation
- QR Connect: scan and connect in one tap, no copy-pasting URLs
- Real-time Chat: prompts from your phone, responses streamed back live with full markdown and code block rendering
- Inline Diffs: see exactly what the agent changed before it happens, with expandable side-by-side view
- Tool Call Approvals: approve or reject every shell command, file write, or API call before it runs on your PC
- Session Management: browse, switch, and create sessions; run multiple sessions simultaneously
- File Tree Browser: navigate your project with syntax highlighting and line numbers
- Push Notifications: get notified when the agent finishes, needs approval, or hits an error
Make sure you have OpenCode and Cloudflare tunnel installed on your PC:
# Install opencode and cloudflared (if not already installed)
# See https://opencode.ai and https://developers.cloudflare.com/tunnel for installation instructionsnpx crosscodeThis will:
- Start
opencode serveon your PC - Open a Cloudflare Tunnel
- Display a QR code in your terminal
- Install the CrossCode app (iOS / Android)
- Open the app and scan the QR code
- You're connected: start chatting with your AI agent
crosscode/
├── apps/
│ ├── mobile/ # React Native + Expo (iOS + Android)
│ └── web/ # Website
├── packages/
│ ├── crosscode/ # Companion CLI: `npx crosscode`
│ └── shared/ # Shared types, constants, QR payload schema
└── README.md
# Clone the repo
git clone https://github.com/snhsish/crosscode.git
cd crosscode
# Install dependencies
pnpm install
# Start all apps in development mode
pnpm dev
# Build everything
pnpm build
# Run linter
pnpm lintcd packages/crosscode
pnpm dev # Watch mode
pnpm build # Build for productioncd apps/mobile
pnpm start # Start Expo dev server
pnpm android # Run on Android
pnpm ios # Run on iOS- Not a standalone agent — it requires a running
opencode serveon a PC or VPS - Not a cloud service — your code never touches CrossCode's servers (there are none)
- Not paid — free and open source, MIT licensed, forever
| Layer | Choice |
|---|---|
| Mobile | React Native + Expo |
| Navigation | Expo Router |
| State | Zustand |
| Styling | NativeWind (Tailwind) |
| Companion CLI | Node.js |
| Tunnel | Cloudflare Tunnel |
| Monorepo | pnpm workspaces + Turborepo |
Contributions are welcome! Please read CONTRIBUTING.md for details on how to get started.
CrossCode is licensed under the MIT License.