Expose your local Claude Code through web terminal anywhere - perfect for remote access and mobile devices.
β° Auto-Exit Feature: Sessions automatically exit after 2 days to prevent resource waste and ensure security. You can disable this with --auto-exit=false if needed.
π Remote Access
- Access your Claude Code from anywhere in the world
- Work on your projects while traveling
- No need to expose your local machine directly
π± Mobile Devices
- Use Claude Code on your phone or tablet
- Perfect for quick code reviews and responses
- Full terminal experience in mobile browser
- Installed Claude Code CLI:
npm install -g @anthropic-ai/claude-code - Configured your API key:
export ANTHROPIC_API_KEY='your-key'orclaude auth login
Install and start in one command:
curl -fsSL https://raw.githubusercontent.com/friddle/claude-web-remote/main/install.sh | bashThis will:
- Download the
claudedbinary to/usr/local/bin - Connect to the demo server at
clauded.friddle.me - Generate a random session and password
- Print the browser URL to access your Claude Code
Download and run the binary directly:
# Download the binary
wget https://github.com/friddle/claude-web-remote/releases/download/v0.3/clauded-linux-amd64
# Make it executable
chmod +x clauded-linux-amd64
# Run with custom settings
./clauded-linux-amd64 \
--env ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropic \
--env ANTHROPIC_AUTH_TOKEN=helloworld \
--flags="--allow-dangerously-skip-permissions --dangerously-skip-permissions"For better security and control, deploy your own server:
1. Deploy the server on your remote machine:
cd cmd/server
docker-compose up -dThe server will expose:
- Port
80- for both client connections and browser access
2. Connect your local machine:
# Set your API key
export ANTHROPIC_API_KEY='your-key'
# Start clauded
clauded --remote=your-server.com --session=my-session --password=mypass3. Access in browser:
http://your-server.com/my-session/
When prompted, enter your password.
Client running example:
tmux session example:
# Local testing (if server is running locally)
clauded --remote=http://localhost --session=my-session --password=mypass
# Remote server
clauded --remote=https://myserver.com --session=my-session --password=mypass
# Demo server
clauded --remote=https://clauded.friddle.me --session=my-session --password=mypass# Method 1: Environment variable
export ANTHROPIC_API_KEY='your-key'
clauded --remote=myserver.com --session=my-session --password=mypass
# Method 2: Pass via --env
clauded --remote=myserver.com --session=my-session --password=mypass \
--env ANTHROPIC_API_KEY='your-key'
# Method 3: Use .env file in your project directory
echo "ANTHROPIC_API_KEY=your-key" > .env
clauded --remote=myserver.com --session=my-session --password=mypass# Use specific model
clauded --remote=myserver.com --session=my-session --password=mypass \
--flags='--model opus'
# Multiple flags
clauded --remote=myserver.com --session=my-session --password=mypass \
--flags='--model opus --max-tokens 4096'Forward additional local ports to access them remotely:
# Forward a single port (e.g., local web server on port 3000)
clauded --remote=myserver.com --session=my-session --password=mypass \
--attach-ports 3000
# Forward multiple ports
clauded --remote=myserver.com --session=my-session --password=mypass \
--attach-ports 3000 --attach-ports 8080 --attach-ports 5000Access forwarded ports at:
http://myserver.com/my-session/3000/β forwards tolocalhost:3000http://myserver.com/my-session/8080/β forwards tolocalhost:8080
Note: Port forwarding does not support authentication (username/password). Ensure your server is properly secured.
# Claude (default)
clauded --remote=myserver.com --session=my-session --password=mypass
# OpenCode
clauded --remote=myserver.com --session=my-session --password=mypass \
--codecmd=opencode
# Kimi
clauded --remote=myserver.com --session=my-session --password=mypass \
--codecmd=kimi
# Gemini
clauded --remote=myserver.com --session=my-session --password=mypass \
--codecmd=geminiGemini example:
# Start session on your local machine
clauded --remote=myserver.com --session=mobile --password=pass123
# Access on your phone at: http://myserver.com/mobile/Run multiple sessions simultaneously:
# Terminal 1 - work session
clauded --remote=localhost --session=work --password=workpass
# Terminal 2 - test session
clauded --remote=localhost --session=test --password=testpass
# Terminal 3 - mobile session
clauded --remote=localhost --session=mobile --password=mobilepassWeb interface example:
| Parameter | Short | Default | Description |
|---|---|---|---|
--remote |
- | https://clauded.friddle.me |
Server address (URL or host:port) |
--session |
- | Auto-generated | Session ID for URL and auth |
--password |
- | Auto-generated | Password for authentication |
--codecmd |
- | claude |
AI tool to use (claude, opencode, kimi, gemini) |
--flags |
- | Empty | Flags to pass to codecmd |
--env |
- | Empty | Environment variables (repeatable) |
--attach-ports |
- | Empty | Additional local ports to forward (repeatable) |
--auto-exit |
- | true |
Enable 2-day auto exit |
--daemon |
-d |
true |
Run as daemon in background |
Access URL: All browser access goes through http://your-server-ip/
Ensure firewall allows:
- Port
80(HTTP) and443(HTTPS) - for both client and browser connections.
claude for remote automatically finds:
claudein system PATH
If not found, it will attempt to install it automatically. You can also install it manually:
npm install -g @anthropic-ai/claude-codeYour Local Machine Remote Server Browser (Any Device)
βββββββββββββββ ββββββββββββββββ βββββββββββββββ
β Claude Codeβ β β β β
β β β Go Server βββββββββββββ Web Browserβ
β clauded βββββββββββββΊβ :80 β β β
β (gotty+ β piko β β β β
β piko) β :80 β Piko Proxy β β β
βββββββββββββββ ββββββββββββββββ βββββββββββββββ
MIT



