by K9i-0
Mobile client for Codex and Claude — control coding agents from your phone via WebSocket bridge
# Add to your Claude Code skills
git clone https://github.com/K9i-0/ccpocketCC Pocket is a mobile client for Codex and Claude coding-agent sessions. Start or resume sessions from your phone, expand to iPad, or use the native macOS app while your own machine runs the agents.
Try CC Pocket in three steps:
npx @ccpocket/bridge@latest
| Platform | Install |
|----------|---------|
| iOS / iPadOS | |
| Android | |
| macOS | Download the latest .dmg from GitHub Releases. Look for releases tagged macos/v*. |
The Bridge Server runs on the machine that has Codex or Claude installed. For access away from your local network, use Tailscale and connect to your machine's Tailscale address.
npx @ccpocket/bridge@latest
ws:// / wss:// URL.No comments yet. Be the first to share your thoughts!
.gtrconfig copy/hooksAI coding agents are getting autonomous enough to write entire features on their own. Your role shifts from writing code to making decisions: approve this tool, answer that question, review the diff.
Decisions do not need a keyboard. They need a screen and a thumb.
CC Pocket is built for this workflow: start a session from your phone, let your machine's Codex or Claude do the heavy lifting, and make decisions from wherever you are.
CC Pocket is for people who already rely on coding agents and want an easier way to stay in the loop when they are away from the keyboard.
If your workflow is "start an agent, let it run, step in only when needed," CC Pocket is built for that.
Claude Code's built-in Remote Control hands off an existing terminal session to your phone: you start on your Mac and continue from mobile.
CC Pocket takes a different approach: sessions start on your phone and run to completion there. Your Mac works in the background; your phone is the primary interface.
| | Remote Control | CC Pocket | |---|---------------|-----------| | Session origin | Start on Mac, hand off to phone | Start on phone | | Primary device | Mac (phone joins later) | Phone, iPad, or macOS app (host runs in background) | | Use case | Continue a desktop task on the go | Start coding from anywhere | | Setup | Built into Claude Code | Self-hosted Bridge Server |
What this means in practice:
On the Bridge side, Claude sessions are powered by the Claude Agent SDK. Session history remains compatible with Claude Code, so you can reopen past Claude Code sessions from CC Pocket and continue them in Claude Code when needed.
Claude uses a single Permission Mode that controls both approval scope and planning:
| Permission Mode | Behavior |
|----------------|----------|
| Default | Standard interactive mode |
| Accept Edits | Auto-approve file edits, ask for everything else |
| Plan | Draft a plan first, then wait for your approval before executing |
| Auto | Let Claude's auto mode handle approval behavior when available |
| Bypass All | Auto-approve everything |
Codex separates concerns into independent controls:
| Setting | Options | Description |
|---------|---------|-------------|
| Approval Policy | Untrusted / On Request / Auto Review / Never Ask | Controls when Codex asks for approval, including the Auto Review flow. |
| Plan | On / Off | Toggle planning mode independently of approval policy. |
| Sandbox | On (default) / Off | Run in a restricted environment for safety. |
| Profile | Codex config profiles | Start or resume with a selected Codex CLI profile. |
| Additional Writable Directories | Optional paths | Make another project or directory writable alongside the selected project. |
Codex defaults to Sandbox On for safety. Claude defaults to Sandbox Off.
You can also enable Worktree to isolate a session in its own git worktree.
CC Pocket does not expose every model available in the Codex CLI or Claude. Instead, the Bridge Server provides a curated list of recent, commonly used models, and the mobile app falls back to that same curated set when needed.
This keeps the setup and model picker simpler on mobile while still covering the models most users are likely to want. Adding support for more models is usually straightforward because the available model list is defined on the Bridge side.
If a model is available in Codex CLI or Claude but not shown in CC Pocket, please open an issue with the exact model name you want to use.
Tailscale is the easiest way to reach your Bridge Server outside your home or office network.
ws://<host-tailscale-ip>:8765 from the app.You can register machines in the app with host, port, API key, and optional SSH credentials.
When SSH is enabled, CC Pocket can trigger these remote actions from the machine card:
StartStop ServerUpdate BridgeThis flow supports macOS (launchd) and Linux (systemd) hosts.
The setup command automatically detects your OS and registers the Bridge Server as a managed background service.
npx @ccpocket/bridge@latest setup
npx @ccpocket/bridge@latest setup --port 9000 --api-key YOUR_KEY
npx @ccpocket/bridge@latest setup --uninstall
Global install variant:
ccpocket-bridge setup
On macOS, setup creates a launchd plist and registers it with launchctl. The service starts via zsh -li -c to inherit your shell environment (nvm, pyenv, Homebrew, etc.).
On Linux, setup creates a systemd user service. It resolves the full path to npx at setup time so that nvm/mise/volta-managed Node.js works correctly under systemd.
Tip: Run
loginctl enable-linger $USERto keep the service running after logout.
.gtrconfig)When starting a session, you can enable Worktree to automatically create a git worktree with its own branch and directory. This lets you run multiple sessions in parallel on the same project without conflicts.
Place a .gtrconfig file in your project root to configure file copying and lifecycle hooks:
| Section | Key | Description |
|---------|-----|-------------|
| [copy] | include | Glob patterns for files to copy (for example .env or config files) |
| [copy] | exclude | Glob patterns to exclude from copy |
| [copy] | includeDirs | Directory names to copy recursively |
| [copy] | excludeDirs | Directory names to exclude |
| [hook] | postCreate | Shell command(s) to run after worktree creation |
| [hook] | preRemove | S