Skip to main content

CUA CLI

Unified command-line interface for CUA (Computer-Use Agents).

Installation

pip install cua-cli

Usage

# Authentication
cua auth login              # Authenticate with run.cua.ai device authorization
cua auth login --no-browser # Print the verification URL without opening a browser
cua auth status             # Show local session status
cua auth logout             # Revoke the refresh token and remove local credentials

# Sandbox Management
cua sb list                 # List all sandboxes
cua sb create --os linux --size medium --region north-america
cua sb get <name>           # Get sandbox details
cua sb start <name>         # Start a stopped sandbox
cua sb stop <name>          # Stop a running sandbox
cua sb restart <name>       # Restart a sandbox
cua sb suspend <name>       # Suspend a sandbox
cua sb delete <name>        # Delete a sandbox
cua sb vnc <name>           # Open sandbox in browser

# Image Management
cua image list              # List cloud images
cua image list --local      # List local images
cua image push <name>       # Upload image to cloud
cua image pull <name>       # Download image from cloud
cua image delete <name>     # Delete cloud image

# Skills Management
cua skills list             # List recorded skills
cua skills read <name>      # Read a skill's content
cua skills record <name>    # Record a new skill
cua skills replay <name>    # Replay a skill
cua skills delete <name>    # Delete a skill
cua skills clean            # Delete all skills

# MCP Server (for AI assistants)
cua serve-mcp               # Start MCP server with all permissions
cua serve-mcp --permissions sandbox:all,computer:readonly

Installation Options

# Basic installation
pip install cua-cli

# With MCP server support
pip install cua-cli[mcp]

# With skills recording (VLM captioning)
pip install cua-cli[skills]

# Full installation
pip install cua-cli[all]

MCP Integration

To use CUA with Claude Code or other MCP-compatible AI assistants:

# Add CUA as an MCP server
claude mcp add cua -- cua serve-mcp

# With specific permissions
claude mcp add cua -- cua serve-mcp --permissions sandbox:all,computer:readonly

# With a default sandbox
claude mcp add cua -- cua serve-mcp --sandbox my-sandbox

Available Permissions

  • all - All permissions
  • sandbox:all - Full sandbox management
  • sandbox:readonly - List and get sandboxes only
  • computer:all - Full computer control
  • computer:readonly - Screenshots only
  • skills:all - Full skills management
  • skills:readonly - List and read skills only

Individual permissions: sandbox:list, sandbox:create, sandbox:delete, sandbox:start, sandbox:stop, sandbox:restart, sandbox:suspend, sandbox:get, sandbox:vnc, computer:screenshot, computer:click, computer:type, computer:key, computer:scroll, computer:drag, computer:hotkey, computer:clipboard, computer:file, computer:shell, computer:window, skills:list, skills:read, skills:record, skills:delete

Environment Variables

  • Authentication uses OIDC device authorization discovered from https://auth.cua.ai/realms/cyclops-cs, while authenticated cloud requests use https://run.cua.ai. Tokens are stored in the operating system credential vault; the CLI does not read API keys from environment variables or write them to .env files.
  • CUA_MCP_PERMISSIONS: Default MCP permissions (comma-separated)
  • CUA_SANDBOX: Default sandbox name for computer commands

Cloud Authentication

cua auth login uses the standard OAuth device authorization flow. It discovers Keycloak endpoints from https://auth.cua.ai/realms/cyclops-cs, while the short verification UI is served from https://run.cua.ai/device. The CLI prints a verification URL and code, so it also works over SSH or in CI-style terminals; use --no-browser to prevent an automatic browser attempt. Complete the verification in any browser, then return to the terminal while the CLI polls for approval.

Access tokens refresh automatically before authenticated run.cua.ai requests. cua auth logout asks the issuer to revoke the refresh token and always removes the local credential-vault entry, even when the network is unavailable. The CLI never prints access or refresh tokens.

GitHub Actions workload identity

Use cua wif-token github from a GitHub Actions job to obtain a GitHub OIDC token for Fleets. The command runs only in GitHub Actions, requests the fleets audience, and prints only the raw token. It does not use the interactive cua auth login session.

permissions:
  id-token: write
  contents: read

steps:
  - name: Get GitHub WIF token for Fleets
    run: |
      FLEETS_TOKEN="$(cua wif-token github)"
      test -n "$FLEETS_TOKEN"

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cua_cli-0.1.13.tar.gz (65.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cua_cli-0.1.13-py3-none-any.whl (75.0 kB view details)

Uploaded Python 3

File details

Details for the file cua_cli-0.1.13.tar.gz.

File metadata

  • Download URL: cua_cli-0.1.13.tar.gz
  • Upload date:
  • Size: 65.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.9

File hashes

Hashes for cua_cli-0.1.13.tar.gz
Algorithm Hash digest
SHA256 d51864bea4e167eec7e4cd10dbba00d1dea5a5aaf7b1f6ba2aa0d38bdff8d885
MD5 14d8eb257251b999413cfb5bc43e9285
BLAKE2b-256 e15cbb802c7da94bc8957fca92665fe1111d6c6240003d551b363493d5c1ce47

See more details on using hashes here.

File details

Details for the file cua_cli-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: cua_cli-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 75.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.9

File hashes

Hashes for cua_cli-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 4569fed0764c301a113c946f8400f4e3813c0c0b975472d18cd7890cd8a1846c
MD5 ce74339125ca8ecfbc046d19adc6ae28
BLAKE2b-256 df881ac29a7d407d3827b6569900c6c2b7dff8567e198e980dd43d252e488c56

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page