CodePilot Remote by Dream XV (V1)
Remote Control for AI Coding Agents. Your AI Workspace. Anywhere.
CodePilot Remote is a provider-agnostic, open-source remote control and permission approval system designed for terminal-based AI coding agents (such as Claude Code and Gemini CLI). When you walk away from your workspace, CodePilot Remote relays sensitive agent permission requests (like file writes, terminal executions, or web lookups) instantly to your mobile device, allowing you to review, approve, or deny actions from anywhere.
- 📲 Remote Permission Approval: Securely approve or deny commands, file actions, and API lookups from your mobile device.
- 🔄 Multi-Session Manager: Create, rename, delete, and switch between multiple running sessions (e.g. Claude Code and Gemini CLI) simultaneously.
- 🚀 Session Reconstruction (Resume): Restore and reconstruct closed or stopped sessions from metadata even after the desktop agent has been shut down or restarted.
- 📜 Session Timeline History: Persistent SQLite-backed logging of all activity timelines (such as file reads, writes, tests run, and approvals) to view offline.
- ⚙️ Risk-Based Notification Filtering: Toggle alerts for high-risk operations only, or customize notification behaviors inside the Settings screen.
- 🔐 Transient Cryptographic Pairing: Bond desktop and mobile devices in seconds using 6-digit one-time-use pairing codes.
- ⚡ Low-Latency WebSockets: Full-duplex WebSocket connections ensure lightning-fast communication and terminal frame synchronization.
- 🛡️ Secure Token-Based Auth: Cryptographically signed JSON Web Tokens (JWT) verify signatures and device-specific claims on every packet.
CodePilot Remote acts as a security gateway between your coding agent and your mobile device:
┌─────────────────┐ ┌───────────────┐ ┌────────────────┐
│ Desktop Agent │ │ Backend │ │ Mobile App │
│ (Claude Code) │ │ (FastAPI) │ │ (Flutter) │
└────────┬────────┘ └───────┬───────┘ └───────┬────────┘
│ │ │
│ Detects Prompt │ │
│ ───────────────────────────> │ │
│ │ Forward Request │
│ │ ──────────────────────────> │
│ │ │
│ │ │ Approve / Deny
│ │ │ <──────────────
│ │ Relay Decision │
│ <─────────────────────────── │ │
│ │ │
│ Sends Stdin to Agent │ │
v v v
Pre-compiled binary packages are provided directly in the repository for easy installation without compiling from source:
-
💻 Windows Standalone CLI & Installer: 👉 Download CodePilot-Setup.exe
Bundles the desktop agent, backend server, and dependencies. Python is not required to run this standalone package! -
📱 Android Mobile Application: 👉 Download CodePilot.apk
The companion application to review permission requests, monitor live terminal streams, and manage historic sessions.
Install and launch the agent on your workstation using the provider argument (e.g., claude):
codepilot start claudeThis automatically starts the local FastAPI server in the background and opens the agent terminal monitor.
If the workstation is unpaired, it will print a connection banner:
============================================================
UNPAIRED WORKSTATION DETECTED
Please link your mobile device to receive alerts.
Open the CodePilot App on your phone and enter this code:
>>> 839420 <<<
Pairing Code: 839420
Server URL: ws://192.168.1.100:8000
(Code expires in 1800 seconds)
============================================================
- Install and open the CodePilot App (
CodePilot.apk) on your Android phone. - In the connection prompt, enter the Server URL matching your PC's IP address (e.g.,
http://192.168.1.100:8000). - Enter the 6-digit Pairing Code (
839420) and tap Pair. - Once paired, the app is bound to your desktop using signature-secured JWT tokens. The status on both screens will update to
Mobile paired and online!.
codepilot (or codepilot.exe) exposes standard administration commands for ease of use:
| Command | Usage | Description |
|---|---|---|
start [provider] |
codepilot start claude |
Starts the background FastAPI server and wraps the terminal watch process for claude, gemini, or generic. |
pair |
codepilot pair |
Generates a new 6-digit cryptographic pairing code for connecting a mobile device. |
unpair |
codepilot unpair |
Revokes the current pairing mapping in the database and resets local credential files. |
status |
codepilot status |
Queries the local backend server and outputs debug connection states for both mobile and desktop. |
- Clone the repository and navigate to the directory:
git clone https://github.com/dreamxvofficial/codepilot-remote.git cd codepilot-remote/CodePilotRemote - Setup the virtual environment and install dependencies:
python -m venv .venv .venv\Scripts\activate # Windows pip install -r requirements.txt
- Run the CLI tool:
python codepilot.py start claude
- Navigate to the mobile app folder:
cd mobile-app - Fetch dependencies and launch:
flutter pub get flutter run --release
CodePilot Remote implements rigorous defensive security standards:
- Connection Handshakes: WebSockets are validated at connection time. The token query parameter must match a valid JWT signed with the server's local
JWT_SECRET, and the JWT subject claim (sub) must match the device identifier. - SQL Injection Prevention: All SQLite queries are fully parameterized via
aiosqliteto eliminate SQL injection risks. - Log Redaction: Automatic log filter middleware masks authentication tokens and credentials (
token=[REDACTED]) to prevent accidental leaks. - LAN / Public Encryption: When running publicly on the Web, you must configure a TLS-terminating reverse proxy (like Nginx or Caddy) to run connections over secure protocols (
https://andwss://).
Distributed under the MIT License. See LICENSE for details.
Disclaimer: CodePilot Remote is currently in active v1.0.0 release. Please evaluate the security profile of your workspace before deploying in highly confidential enterprise environments.
CodePilot Remote
by Dream XV
Remote Control for AI Coding Agents.

