Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
manaflow-ai avatar

Cmux

  • 3.7k installs
  • 1.1k repo stars
  • Updated August 3, 2026
  • manaflow-ai/manaflow

cmux is a CLI that provisions cloud development sandboxes, syncs local files to remote VMs, and provides browser automation via Chrome CDP.

About

cmux is a CLI tool for provisioning and managing remote cloud development sandboxes. Developers use it to spin up isolated VMs, sync local project directories to the cloud, and access environments via VS Code, VNC, or interactive terminal sessions. Key workflows include local-to-cloud directory sync with cmux start, bidirectional file transfer with upload/download commands, and headless browser automation via Chrome CDP using the cmux computer subcommand suite for navigation, element interaction, screenshots, and accessibility tree inspection. It supports Docker-enabled sandboxes, sandbox lifecycle management, and one-off command execution. The tool enforces security rules around E2B port-forwarded URLs, directing developers to use VNC for dev server access instead of raw public URLs. Provisions cloud sandboxes from local directories with cmux start, syncing files automatically and returning a sandbox ID Provides browser automation via Chrome CDP with commands for navigation, element clicking, form filling, screenshots, and accessibility snapshots

  • Provisions cloud sandboxes from local directories with cmux start, syncing files automatically and returning a sandbox I
  • Provides browser automation via Chrome CDP with commands for navigation, element clicking, form filling, screenshots, an
  • Supports bidirectional file transfer with upload/download, including watch mode, exclusion patterns, and remote path tar
  • Offers multiple access modes: VS Code in browser via cmux code, VNC desktop via cmux vnc, and interactive terminal via c
  • Enforces security by prohibiting exposure of unauthenticated E2B port-forwarded URLs and routing dev server access throu

Cmux by the numbers

  • 3,682 all-time installs (skills.sh)
  • Ranked #45 of 1,437 DevOps & CI/CD skills by installs in the Skillselion catalog
  • Security screen: HIGH risk (skills.sh audit)
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
At a glance

cmux capabilities & compatibility

Capabilities
cloud sandbox provisioning · file sync · browser automation · terminal access · screenshot capture · accessibility tree inspection · docker support · sandbox lifecycle management
Works with
docker · chrome
Use cases
devops · web scraping · testing · debugging
Platforms
macOS · Windows · Linux
Runs
Remote server
Pricing
Bring your own API key
From the docs

What cmux says it does

cmux manages cloud sandboxes for development. Use these commands to create, manage, and access remote development environments with built-in browser automation.
SKILL.md
Control Chrome browser via CDP in the sandbox's VNC desktop.
SKILL.md
npx skills add https://github.com/manaflow-ai/manaflow --skill cmux

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs3.7k
repo stars1.1k
Security audit1 / 3 scanners passed
Last updatedAugust 3, 2026
Repositorymanaflow-ai/manaflow

What it does

Create and manage cloud development sandboxes via CLI, with file sync, terminal access, VS Code, and Chrome CDP browser automation.

Who is it for?

Developers building agents or CI workflows that require remote isolated environments with browser automation capabilities.

Skip if: Teams needing persistent production hosting or full container orchestration platforms.

When should I use this skill?

A developer needs to spin up a remote sandbox, sync project files to the cloud, or automate browser interactions like login flows or data scraping within an isolated environment.

What you get

Developers get on-demand cloud sandboxes accessible via VS Code, terminal, or VNC, with built-in browser automation for scraping, testing, and web interaction.

  • Running cloud sandbox accessible via VS Code, VNC, or terminal
  • Uploaded project files synced to remote /home/user/workspace
  • Browser screenshots and accessibility snapshots from CDP automation

By the numbers

  • Over 20 cmux subcommands documented across lifecycle, file transfer, access, and browser automation categories
  • Browser automation supports 2 selector types: element refs from snapshot (@e1, @e2) and CSS selectors
  • File upload supports 4 flags: -r for remote path, --watch for live sync, --delete for cleanup, -e for exclusion patterns

Files

SKILL.mdMarkdownGitHub ↗

cmux - Cloud Sandboxes for Development

cmux manages cloud sandboxes for development. Use these commands to create, manage, and access remote development environments with built-in browser automation.

Installation

npm install -g cmux

Quick Start

cmux login                      # Authenticate (opens browser)
cmux start ./my-project         # Create sandbox, upload directory → returns ID
cmux start .                    # Or use current directory
cmux code <id>                  # Open VS Code
cmux pty <id>                   # Open terminal session
cmux upload <id> ./my-project   # Upload files/directories to sandbox
cmux download <id> ./output     # Download files from sandbox
cmux computer screenshot <id>   # Take browser screenshot
cmux stop <id>                  # Stop sandbox
cmux delete <id>                # Delete sandbox
cmux ls                         # List all sandboxes
Preferred: Always use cmux start . or cmux start <local-path> to sync your local directory to a cloud sandbox. This is the recommended workflow over cloning from a git repo.

Commands

Authentication

cmux login               # Login (opens browser)
cmux logout              # Logout and clear credentials
cmux whoami              # Show current user and team

Sandbox Lifecycle

# Preferred: local-to-cloud (syncs your local directory to the sandbox)
cmux start .             # Create sandbox from current directory (recommended)
cmux start ./my-project  # Create sandbox from a specific local directory
cmux start -o .          # Create from local dir and open VS Code immediately

# Alternative: clone from git
cmux start --git user/repo  # Clone a git repo into sandbox

cmux start --docker      # Create sandbox with Docker support
cmux ls                  # List all sandboxes
cmux status <id>         # Show sandbox details and URLs
cmux stop <id>           # Stop sandbox
cmux extend <id>         # Extend sandbox timeout
cmux delete <id>         # Delete sandbox permanently
cmux templates           # List available templates

Access Sandbox

cmux code <id>           # Open VS Code in browser
cmux vnc <id>            # Open VNC desktop in browser
cmux pty <id>            # Interactive terminal session

Work with Sandbox

cmux pty <id>                  # Interactive terminal session (use this to run commands)
cmux exec <id> <command>       # Execute a one-off command
Important: Prefer cmux pty for interactive work. Use cmux exec only for quick one-off commands.

File Transfer

Upload and download files or directories between local machine and sandbox.

# Upload (local → sandbox)
cmux upload <id>                            # Upload current dir to /home/user/workspace
cmux upload <id> ./my-project               # Upload directory to workspace
cmux upload <id> ./config.json              # Upload single file to workspace
cmux upload <id> . -r /home/user/app        # Upload to specific remote path
cmux upload <id> . --watch                  # Watch and re-upload on changes
cmux upload <id> . --delete                 # Delete remote files not present locally
cmux upload <id> . -e "*.log"              # Exclude patterns

# Download (sandbox → local)
cmux download <id>                          # Download workspace to current dir
cmux download <id> ./output                 # Download workspace to ./output
cmux download <id> . -r /home/user/app      # Download from specific remote path

Browser Automation (cmux computer)

Control Chrome browser via CDP in the sandbox's VNC desktop.

Navigation
cmux computer open <id> <url>    # Navigate to URL
cmux computer back <id>          # Navigate back
cmux computer forward <id>       # Navigate forward
cmux computer reload <id>        # Reload page
cmux computer url <id>           # Get current URL
cmux computer title <id>         # Get page title
Inspect Page
cmux computer snapshot <id>             # Get accessibility tree with element refs (@e1, @e2...)
cmux computer screenshot <id>           # Take screenshot (base64 to stdout)
cmux computer screenshot <id> out.png   # Save screenshot to file
Interact with Elements
cmux computer click <id> <selector>      # Click element (@e1 or CSS selector)
cmux computer type <id> "text"           # Type into focused element
cmux computer fill <id> <sel> "value"    # Clear input and fill with value
cmux computer press <id> <key>           # Press key (Enter, Tab, Escape, etc.)
cmux computer hover <id> <selector>      # Hover over element
cmux computer scroll <id> [direction]    # Scroll page (up/down/left/right)
cmux computer wait <id> <selector>       # Wait for element to appear
Element Selectors

Two ways to select elements:

  • Element refs from snapshot: @e1, @e2, @e3...
  • CSS selectors: #id, .class, button[type="submit"]

Sandbox IDs

Sandbox IDs look like cmux_abc12345. Use the full ID when running commands. Get IDs from cmux ls or cmux start output.

Common Workflows

Create and develop in a sandbox (preferred: local-to-cloud)

cmux start ./my-project        # Creates sandbox, uploads files
cmux code cmux_abc123          # Open VS Code
cmux pty cmux_abc123           # Open terminal to run commands (e.g. npm install && npm run dev)

File transfer workflow

cmux upload cmux_abc123 ./my-project     # Push local files to sandbox
# ... do work in sandbox ...
cmux download cmux_abc123 ./output       # Pull files from sandbox to local

Browser automation: Login to a website

cmux computer open cmux_abc123 "https://example.com/login"
cmux computer snapshot cmux_abc123
# Output: @e1 [input] Email, @e2 [input] Password, @e3 [button] Sign In

cmux computer fill cmux_abc123 @e1 "user@example.com"
cmux computer fill cmux_abc123 @e2 "password123"
cmux computer click cmux_abc123 @e3
cmux computer screenshot cmux_abc123 result.png

Browser automation: Scrape data

cmux computer open cmux_abc123 "https://example.com/data"
cmux computer snapshot cmux_abc123   # Get structured accessibility tree
cmux computer screenshot cmux_abc123 # Visual capture

Clean up

cmux stop cmux_abc123      # Stop (can restart later)
cmux delete cmux_abc123    # Delete permanently

Security: Dev Server URLs

CRITICAL: NEVER share or output raw E2B port-forwarded URLs.

When a dev server runs in the sandbox (e.g., Vite on port 5173, Next.js on port 3000), E2B creates publicly accessible URLs like https://5173-xxx.e2b.app. These URLs have NO authentication — anyone with the link can access the running application.

Rules:

  • NEVER output URLs like https://5173-xxx.e2b.app, https://3000-xxx.e2b.app, or any https://<port>-xxx.e2b.app URL
  • NEVER construct or guess E2B port URLs from sandbox metadata
  • ALWAYS tell the user to view dev servers through VNC: cmux vnc <id>
  • VNC is protected by token authentication (?tkn=) and is the only safe way to view dev server output
  • Only VSCode URLs (cmux code <id>) and VNC URLs (cmux vnc <id>) should be shared — these have proper token auth

When a dev server is started:

✓ Dev server running on port 5173
  View it in your sandbox's VNC desktop: cmux vnc <id>
  (The browser inside VNC can access http://localhost:5173)

NEVER do this:

Frontend: https://5173-xxx.e2b.app   ← WRONG: publicly accessible, no auth

Tips

  • Run cmux login first if not authenticated
  • Use --json flag for machine-readable output
  • Use -t <team> to override default team
  • Use -v for verbose output
  • Always run snapshot first to see available elements before browser automation
  • Use element refs (@e1) for reliability over CSS selectors

Related skills

How it compares

Use cmux for agent-friendly cloud dev sandboxes; use Docker-only workflows for local container isolation without remote VMs.

FAQ

How do I create a sandbox from my local project?

Run cmux start . or cmux start ./my-project to upload your local directory to a new cloud sandbox. The command returns a sandbox ID like cmux_abc12345.

How do I automate browser interactions in a sandbox?

Use cmux computer subcommands: open a URL, run snapshot to get element refs like @e1, then use click, fill, type, or press to interact with elements.

How do I safely view a dev server running in the sandbox?

Use cmux vnc <id> to open the VNC desktop, which is protected by token authentication. Never share raw E2B port-forwarded URLs like https://5173-xxx.e2b.app.

DevOps & CI/CDdeployinfrasupport

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.