Run Claude Code in your browser

A lightweight, real‑time web UI for Claude Code CLI — secure by default, multi‑session, and fast to start.

npx claude-code-web
# optional flags:
# --port 8080 --auth YOUR_TOKEN
# --ngrok-auth-token NGROK_TOKEN --ngrok-domain your-subdomain
$ npx claude-code-web
▶ Server listening on http://localhost:32352
🔐 Generated auth token: ••••••••••
🧠 Claude session ready — open your browser!

Features

🌐 Web‑based

Access Claude Code from any modern browser with a responsive UI.

🚀 Real‑time

Low‑latency streaming via WebSockets with full ANSI terminal emulation.

🔐 Secure by default

Authentication enabled by default with token-based access.

🔄 Multi‑session

Create, join, and persist multiple sessions across reconnects.

🎛️ Customizable

Adjust themes, font size, working directory, and plan options.

🌍 Remote access

Built‑in ngrok integration for secure public tunnels when needed.

Quick Start

Install or run instantly

# Run without installing
npx claude-code-web

# Or install globally
npm install -g claude-code-web
cc-web --port 8080
              

Common flags

# Development mode (verbose logs)
cc-web --dev

# Provide an auth token
cc-web --auth YOUR_TOKEN

# Public access via ngrok
cc-web --ngrok-auth-token NGROK_TOKEN --ngrok-domain your-subdomain
              

Security

  • Auth required by default — automatic token generation on startup.
  • Public access via ngrok — provide --ngrok-auth-token and --ngrok-domain to create a tunnel.
  • Session scope — authentication covers REST and WebSocket endpoints.

FAQ

What are the requirements?

Node.js 16+, Claude/Code CLI on PATH, and a modern browser with WebSocket support.

How do I develop locally?

Clone the repo, run npm install, then npm run dev. See the README for full details.

Is it open source?

Yes — MIT licensed. Contributions are welcome!