Skip to content

Access GitHub Copilot CLI from the web.

License

Notifications You must be signed in to change notification settings

ChrisRomp/copilot-remote

Repository files navigation

! WORK IN PROGRESS - STILL BUGGY !

The basics work but this is being actively developed so don't expect much yet.

Copilot Remote

Copilot Remote

A web application that provides a browser-based interface to GitHub Copilot CLI via the @github/copilot-sdk. Access your Copilot sessions from any device — including your phone — over your local network or Tailscale.

Features

  • Remote access — interact with Copilot CLI sessions from any browser, anywhere on your network
  • Mobile-friendly — responsive UI with touch-optimized controls, works great on phones
  • Multi-session — run and switch between multiple Copilot sessions in parallel
  • Session persistence — resume previous sessions with full conversation history
  • Permissions — configurable rules for tool approvals (auto-approve, supervised, or read-only)
  • Authentication — GitHub OAuth device flow, static token, or open access
  • HTTPS/TLS — optional built-in TLS support for secure connections
  • Dark mode — automatic (system), light, or dark theme

Prerequisites

Quick Start

# Install dependencies
npm install

# Start in development mode
npm run dev

Open http://localhost:3001 in your browser.

Production

# Build everything
npm run build

# Start the production server
npm start

The production server serves the React app and API on a single port (default: 3001).

Configuration

Copy .env.sample to .env and adjust values as needed. All settings are optional.

Variable Default Description
PORT 3001 Server port
HOST 127.0.0.1 Bind address (0.0.0.0 for all interfaces, or a specific IP)
GITHUB_CLIENT_ID (none) GitHub OAuth App Client ID — enables "Sign in with GitHub" device flow (recommended)
AUTH_TOKEN (none) Static auth token — the web UI prompts for the token on login
SESSION_TIMEOUT_MS 1800000 (30 min) Idle timeout before session SDK resources are released
BASE_PATH User home dir Base directory for the session folder browser (set to / for full access)
CLI_URL (none) External Copilot CLI server (host:port) for remote CLI connections
MCP_SERVERS (none) JSON config for MCP server connections
EXCLUDED_TOOLS (none) Comma-separated tools to disable
AGENT_PLUGIN_DIRS (none) Comma-separated extra directories to scan for custom agent plugins
ALLOWED_ORIGINS (none) Comma-separated CORS origins (only needed if UI is served from a different origin)
TLS_CERT_FILE (none) Path to TLS certificate file (enables HTTPS when paired with TLS_KEY_FILE)
TLS_KEY_FILE (none) Path to TLS private key file

Authentication

Auth mode is auto-detected based on which variables are set:

Mode Config Description
GitHub OAuth Set GITHUB_CLIENT_ID Users sign in with their GitHub account via device flow. The server verifies the GitHub user matches the Copilot CLI login. Recommended for remote access.
Static token Set AUTH_TOKEN Simple shared-secret auth. The web UI prompts for the token.
Open access Neither set No authentication. Suitable for localhost-only or trusted networks.

To set up GitHub OAuth, create an OAuth App at github.com/settings/developers → "OAuth Apps" → "New OAuth App". The callback URL can be any placeholder (e.g., http://localhost) since the device flow doesn't use it.

Accessing from your phone

  1. Start the server on your workstation with HOST=0.0.0.0 (required for remote access)
  2. Find your LAN IP: ipconfig getifaddr en0 (macOS) or hostname -I (Linux)
  3. Open http://<your-ip>:3001 on your phone
  4. For security, set GITHUB_CLIENT_ID (recommended) or AUTH_TOKEN — the web UI will prompt for login

With Tailscale: use your Tailscale hostname instead of LAN IP. Set HOST to your Tailscale IP to bind to that interface only.

HTTPS / TLS

For direct HTTPS without a reverse proxy:

TLS_CERT_FILE=/path/to/cert.pem
TLS_KEY_FILE=/path/to/key.pem

Alternatively, run behind a reverse proxy (nginx, Caddy, etc.) that terminates TLS.

Development

npm run dev          # Start server + client in dev mode
npm run build        # Build everything for production
npm run test         # Run tests
npm start            # Start production server

See docs/ARCHITECTURE.md for technical details, project structure, and API reference.

License

MIT

About

Access GitHub Copilot CLI from the web.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages