Your own Claude Code UI. Open source, self-hosted, runs entirely on your machine.
Try it live: claudex.pro
- Local or cloud sandbox - Run locally with Docker or in the cloud with E2B.
- Use your own plans - Claude Max, Z.AI Coding, or OpenRouter.
- Full IDE experience - VS Code in browser, terminal, file explorer.
- Extensible - Skills, agents, slash commands, MCP servers.
git clone https://github.com/Mng-dev-ai/claudex.git
cd claudex
docker compose up -dRun AI agents in isolated environments. Choose between:
- Docker - Local execution, no external dependencies
- E2B - Cloud execution via E2B
- VS Code editor in the browser
- Terminal with full PTY support
- File system management
- Port forwarding for web previews
- Environment checkpoints and snapshots
Switch between providers in the same chat:
- Anthropic - Use your Max plan
- Z.AI - Use your Coding plan
- OpenRouter - Access to multiple model providers
- Custom Skills - ZIP packages with YAML metadata
- Custom Agents - Define agents with specific tool configurations
- Slash Commands - Built-in (
/context,/compact,/review,/init) - MCP Servers - Model Context Protocol support (NPX, BunX, UVX, HTTP)
Automate recurring tasks with Celery workers.
- Fork chats from any message point
- Restore to any previous message in history
- File attachments with preview
- Web preview for running applications
- Mobile viewport simulation
- File previews: Markdown, HTML, images, CSV, PDF, PowerPoint
- Browse and install plugins from official catalog
- One-click installation of agents, skills, commands, MCPs
- Environment variables for sandbox execution
- System prompts for global context
- Custom instructions injected with each message
Configure in the Settings UI after login:
| Setting | Description |
|---|---|
| Sandbox Provider | Docker (local) or E2B (cloud) |
| E2B API Key | Only needed if using E2B sandbox |
| Claude OAuth Token | For Max plan |
| Z.AI API Key | For Coding plan |
| OpenRouter API Key | For OpenRouter models |
You only need one AI provider key.
Docker Sandbox:
No tunnel needed. Docker containers connect via host.docker.internal.
E2B Sandbox:
E2B sandboxes run remotely and cannot reach localhost. Expose your backend via a tunnel:
# Using ngrok
ngrok http 8080
# Or Cloudflare Tunnel
cloudflared tunnel --url http://localhost:8080Then set BASE_URL to your tunnel URL:
BASE_URL=https://your-tunnel-url.ngrok.io docker compose up -d┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │────▶│ FastAPI │────▶│ PostgreSQL │
│ React/Vite │ │ Backend │ │ Database │
└─────────────────┘ └────────┬────────┘ └─────────────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌─────────────────┐
│ Redis │ │ Celery │ │ Sandbox │
│ Pub/Sub │ │ Workers │ │ Docker or E2B │
└───────────┘ └───────────┘ └─────────────────┘
Frontend: React 19, TypeScript, Vite, TailwindCSS, Zustand, React Query, Monaco Editor, XTerm.js
Backend: FastAPI, Python 3.13, SQLAlchemy 2.0, Celery, Redis, Granian
| Service | Port |
|---|---|
| Frontend | 3000 |
| Backend API | 8080 |
| PostgreSQL | 5432 |
| Redis | 6379 |
docker compose up -d # Start
docker compose down # Stop
docker compose logs -f # Logs- API Docs: http://localhost:8080/api/v1/docs
- Admin Panel: http://localhost:8080/admin
Default admin: admin@example.com / admin123
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a Pull Request
MIT - see LICENSE

