Bring Claude Code into Your Browser: A Visual Guide for Desktop & Mobile
A complete walkthrough from installation to daily use—no command-line wizardry required
Have you ever wished you could check your Claude Code sessions on the train?
Do some team members avoid the terminal altogether?
This post shows—step by step—how to run the official CLI in a friendly web interface that works on laptops, tablets, and phones.
Table of Contents
-
What Claude Code and Claude Code UI Actually Are -
Quick-Start Checklist -
Three-Minute Installation -
First-Run Tour -
Turning Features On Safely -
Core Workflows -
Mobile-First Tips -
Troubleshooting the Top Five Errors -
Architecture at a Glance -
Contributing Without the Headache -
When to Use CLI vs. UI -
Next Steps
1. What Claude Code and Claude Code UI Actually Are
Claude Code
A command-line tool from Anthropic that understands your codebase, answers questions, and generates patches. Everything happens inside the terminal.
Claude Code UI
An open-source web layer built with Node.js and React. It forwards every message to the real CLI and shows answers in a browser. Nothing is re-implemented; the CLI remains the single source of truth.
Flow:
Browser (React) ⇄ Node.js Express ⇄ Claude CLI
All permissions stay identical to the CLI—no hidden escalations.
2. Quick-Start Checklist
Requirement | Minimum Version | Verify |
---|---|---|
Node.js | v20 or newer | node -v |
Claude CLI | any working install | claude --version |
Git | standard client | git --version |
3. Three-Minute Installation
-
Clone the repository
git clone https://github.com/siteboon/claudecodeui.git cd claudecodeui
-
Install dependencies
npm install
-
Prepare environment variables
cp .env.example .env # Open .env and set the port you prefer
-
Start the development server
npm run dev
The terminal prints:
Server running on http://localhost:3001
-
Open the browser
-
Desktop: navigate to http://localhost:3001
-
Phone: make sure you are on the same network, then visit http://<computer-ip>:3001
. Add to home screen for PWA mode.
-
4. First-Run Tour
Area | Purpose | Everyday Action |
---|---|---|
Left sidebar | Project & session list | Click a project to open it |
Central panel | Chat or file view | Default is chat |
Bottom input | Send messages | Multi-line, code blocks supported |
Top-right terminal icon | Drop into raw CLI | Opens an embedded shell |
5. Turning Features On Safely
Every tool that can write files or run scripts is disabled by default.
To enable:
-
Click the gear icon in the sidebar → Tools Settings -
Toggle only what you need -
Close the modal; settings are saved in the browser
Recommended order:
Order | Tool | Reason |
---|---|---|
1 | File Explorer | Read-only browsing |
2 | Git Explorer | View diffs before staging |
3 | Shell | Execute commands on demand |
6. Core Workflows
6.1 Project Management
-
Auto-discovery
The UI scans~/.claude/projects/
and lists every project that has ever runclaude
. -
Refresh
A refresh button in the sidebar adds new projects without restart. -
Rename / Delete
Right-click a project card. These actions only update the UI list; the actual folder remains untouched.
6.2 Chat Interface
-
Resume sessions
Each project shows past sessions. Click to continue; context is restored. -
Search
Filter messages by keyword. -
Export
Export single messages or entire sessions as.md
or.jsonl
.
6.3 File Explorer & Editor
-
Tree navigation
Expand folders on the left, preview files on the right. -
Syntax highlighting
Powered by CodeMirror, supports 100+ languages. -
Live save
PressCtrl+S
; the file is written to disk immediately and the CLI sees the change.
6.4 Git Explorer
-
Status overview
Modified, added, and deleted files are listed. -
Stage / unstage
Check or uncheck files. -
Commit
Write the message in the box, then click Commit. -
Branch switcher
Dropdown lists local branches; one click checks it out.
6.5 Session Management
-
Persistence
All conversations are stored as JSONL inside the project’s.claude/
folder. -
Cross-device sync
Push the project to GitHub; on any new machinegit pull
and refresh the page.
7. Mobile-First Tips
Scenario | Gesture / Action |
---|---|
Reading code on the train | Add to home screen → full-screen PWA |
Quick config tweak | File Explorer → long-press file → Edit → Save |
Reviewing a PR | Switch to chat → reference file → type /review → send |
8. Troubleshooting the Top Five Errors
8.1 “No Claude projects found”
-
Run claude
inside at least one project directory to initialize. -
Ensure ~/.claude/projects/
exists and is readable:
ls -ld ~/.claude/projects
8.2 File Explorer empty or slow
-
Verify project permissions:
chmod -R u+rwX .
-
Exclude large folders in .env
:
IGNORED_DIRS=node_modules,.git
-
For EMFILE
errors on macOS:
ulimit -n 65535
8.3 Shell commands not running after enabling the tool
-
Use the syntax /shell <command>
in the chat input. -
The shell tool only opens the channel; commands are still user-typed.
8.4 Mobile browser cannot connect
-
Ensure both devices are on the same Wi-Fi. -
Check firewall rules on the host computer.
8.5 High memory usage
-
The UI itself is lightweight; memory is usually the Claude CLI process. -
Close idle projects or exit long sessions.
9. Architecture at a Glance
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Frontend │ │ Backend │ │ Claude CLI │
│ React + Vite │◄──►│ Express + WS │◄──►│ Integration │
└──────────────┘ └──────────────┘ └──────────────┘
-
Frontend – Vite cold-starts in <1 s, hot reloads <50 ms. -
Backend – Stateless proxy with static file serving; no database. -
Protocol – JSON over WebSocket, one message per object, easy to log or replay.
10. Contributing Without the Headache
Step | Key Detail |
---|---|
Fork & clone | Same as installation |
Branch name | feature/description or fix/issue |
Code style | Run npm run lint && npm run format |
Commit message | Follow Conventional Commits: feat: , fix: , docs: |
Pull Request | Include screenshots for UI changes and test results |
Areas that welcome help:
-
Bug fixes -
UI/UX refinements -
Documentation improvements -
Performance tweaks
11. When to Use CLI vs. UI
Use Case | Recommended Tool |
---|---|
Daily coding on main workstation | CLI is faster, IDE integrations available |
Demo to non-technical teammates | UI is self-explanatory |
Commute or couch coding | Mobile browser + UI |
Multi-device session review | UI (data is portable) |
12. Next Steps
-
Deploy the UI on an internal server so the whole team shares the same project list. -
Use the BASE_PATH
variable in.env
to serve under/claude
alongside existing tools. -
Write a small cron job that exports daily sessions to your internal wiki, keeping documentation always up to date.
Enjoy your new visual Claude Code experience—on your desk, on your sofa, or on the go.