Skip to main content

Overview

The Ensemble Cloud CLI provides commands for deploying and managing your projects on Ensemble Cloud. Access these commands through the unified Ensemble CLI:
ensemble cloud <command> [options]
Ensemble Cloud is currently in private beta. Join the waitlist to get early access.

Getting Started

No installation needed - use npx to run the CLI:
# Run cloud commands via npx (no installation required)
npx @ensemble-edge/ensemble cloud --help

# Or if you have ensemble installed
ensemble cloud --help

Authentication

ensemble cloud login

Authenticate with Ensemble Cloud:
ensemble cloud login
This opens your browser to authenticate with your Ensemble Cloud account. The CLI stores credentials securely in your system keychain. Options:
OptionDescription
--token <token>Use an API token instead of browser auth
--no-browserPrint login URL instead of opening browser
Examples:
# Interactive browser login
ensemble cloud login

# Use API token (for CI/CD)
ensemble cloud login --token $ENSEMBLE_CLOUD_TOKEN

ensemble cloud logout

Remove stored credentials:
ensemble cloud logout

ensemble cloud whoami

Display current authenticated user:
ensemble cloud whoami
# Output: Logged in as alice@example.com (team: acme-corp)

Deployment

ensemble cloud deploy

Deploy your project to Ensemble Cloud:
ensemble cloud deploy [options]
Options:
OptionDescription
--env <environment>Target environment (staging, production)
--message <msg>Deployment message
--dry-runPreview deployment without executing
--waitWait for deployment to complete
Examples:
# Deploy to production
ensemble cloud deploy

# Deploy to staging
ensemble cloud deploy --env staging

# Preview what would be deployed
ensemble cloud deploy --dry-run

# Deploy with message
ensemble cloud deploy --message "Fix payment processing bug"

ensemble cloud rollback

Rollback to a previous deployment:
ensemble cloud rollback [deployment-id] [options]
Options:
OptionDescription
--env <environment>Target environment
--steps <n>Roll back n deployments (default: 1)
Examples:
# Rollback to previous deployment
ensemble cloud rollback

# Rollback to specific deployment
ensemble cloud rollback dep_abc123

# Rollback 3 deployments
ensemble cloud rollback --steps 3

Monitoring

ensemble cloud status

View cloud connection and deployment status:
ensemble cloud status [options]
Options:
OptionDescription
--env <environment>Target environment (default: production)
--jsonOutput as JSON
--compactCompact single-line format
Example Output (Full):
┌─────────────────────────────┐
│ ✓ ☁️  Cloud Status          │
│                             │
│ Environment: production     │
└─────────────────────────────┘

Connection
  Status:         ✓ Enabled
  GitHub Repo:    acme/my-project

Deployment
  Worker URL:     https://my-project.workers.dev
  Health:         ✓ Reachable (v2.4.0)

Docs: https://docs.ensemble.ai/cloud
Example Output (Compact):
ensemble cloud status --compact
☁️  Cloud Status

Environment: production
Status:      ✓ Enabled
Worker:      ✓ (v2.4.0) https://my-project.workers.dev
Example Output (JSON):
ensemble cloud status --json
{
  "enabled": true,
  "environment": "production",
  "github_repo": "acme/my-project",
  "workerUrl": "https://my-project.workers.dev",
  "stealthMode": false,
  "health": {
    "ok": true,
    "version": "2.4.0"
  }
}
When stealthMode is enabled in your conductor.config.ts, the health endpoint is hidden and the status command will show a 404 error with a helpful tip about stealth mode.

ensemble cloud logs

Stream or view logs:
ensemble cloud logs [options]
Options:
OptionDescription
--follow, -fStream logs in real-time
--env <environment>Target environment
--ensemble <name>Filter by ensemble
--level <level>Filter by log level (debug, info, warn, error)
--since <duration>Show logs since duration (1h, 30m, 1d)
--limit <n>Number of log entries (default: 100)
Examples:
# Stream production logs
ensemble cloud logs -f

# View staging errors from last hour
ensemble cloud logs --env staging --level error --since 1h

# Filter by ensemble
ensemble cloud logs --ensemble company-intel --limit 50

ensemble cloud metrics

View performance metrics:
ensemble cloud metrics [options]
Options:
OptionDescription
--env <environment>Target environment
--period <duration>Time period (1h, 24h, 7d, 30d)
--ensemble <name>Filter by ensemble
--jsonOutput as JSON
Example Output:
Metrics (last 24h) - production

Requests:     1.2M total
  Success:    1.18M (98.3%)
  Errors:     24K (1.7%)

Latency (p50/p95/p99):
  company-intel:    45ms / 120ms / 250ms
  data-pipeline:    230ms / 890ms / 1.2s
  email-processor:  89ms / 210ms / 450ms

AI Operations:
  Total:      890K
  Tokens:     45M input / 12M output
  Cost:       $127.45

Project Management

ensemble cloud projects list

List all projects:
ensemble cloud projects list [options]
Options:
OptionDescription
--team <team>Filter by team
--jsonOutput as JSON

ensemble cloud projects create

Create a new cloud project:
ensemble cloud projects create <name> [options]
Options:
OptionDescription
--team <team>Team to create project in
--region <region>Primary region (us, eu, asia)

ensemble cloud projects delete

Delete a project:
ensemble cloud projects delete <name> [options]
Options:
OptionDescription
--forceSkip confirmation prompt

Environment Management

ensemble cloud env list

List environments:
ensemble cloud env list

ensemble cloud env create

Create a new environment:
ensemble cloud env create <name> [options]
Options:
OptionDescription
--copy-from <env>Copy configuration from existing environment
--region <region>Primary region
Examples:
# Create staging environment
ensemble cloud env create staging

# Create preview environment copying from staging
ensemble cloud env create preview --copy-from staging

Secrets Management

ensemble cloud secrets set

Set a secret:
ensemble cloud secrets set <name> [value] [options]
Options:
OptionDescription
--env <environment>Target environment (default: all)
--from-file <path>Read value from file
Examples:
# Set secret (prompts for value)
ensemble cloud secrets set ANTHROPIC_API_KEY

# Set with value
ensemble cloud secrets set DATABASE_URL "postgres://..."

# Set for specific environment
ensemble cloud secrets set API_KEY --env staging

ensemble cloud secrets list

List secret names (not values):
ensemble cloud secrets list [options]

ensemble cloud secrets delete

Delete a secret:
ensemble cloud secrets delete <name> [options]

Team Management

ensemble cloud team members

List team members:
ensemble cloud team members [options]

ensemble cloud team invite

Invite a team member:
ensemble cloud team invite <email> [options]
Options:
OptionDescription
--role <role>Role: admin, developer, viewer

CI/CD Integration

GitHub Actions

name: Deploy to Ensemble Cloud

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Deploy
        run: npx @ensemble-edge/ensemble cloud deploy --wait
        env:
          ENSEMBLE_CLOUD_TOKEN: ${{ secrets.ENSEMBLE_CLOUD_TOKEN }}

Environment Variables

VariableDescription
ENSEMBLE_CLOUD_TOKENAPI token for authentication
ENSEMBLE_CLOUD_PROJECTOverride project name
ENSEMBLE_CLOUD_ENVDefault target environment

Exit Codes

CodeDescription
0Success
1General error
2Authentication required
3Project not found
4Deployment failed
5Invalid configuration

Next Steps

Cloud Overview

Learn about Ensemble Cloud

Join Waitlist

Get early access

Self-Host Guide

Deploy on your own infrastructure

Unified CLI

Full CLI documentation