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 < comman d > [options]
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:
This opens your browser to authenticate with your Ensemble Cloud account. The CLI stores credentials securely in your system keychain.
Options:
Option Description --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 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:
Option Description --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:
Option Description --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:
Option Description --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:
Option Description --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:
Option Description --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:
Option Description --team <team>Filter by team --jsonOutput as JSON
ensemble cloud projects create
Create a new cloud project:
ensemble cloud projects create < nam e > [options]
Options:
Option Description --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 < nam e > [options]
Options:
Option Description --forceSkip confirmation prompt
Environment Management
ensemble cloud env list
List environments:
ensemble cloud env create
Create a new environment:
ensemble cloud env create < nam e > [options]
Options:
Option Description --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 < nam e > [value] [options]
Options:
Option Description --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 < nam e > [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 < emai l > [options]
Options:
Option Description --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
Variable Description ENSEMBLE_CLOUD_TOKENAPI token for authentication ENSEMBLE_CLOUD_PROJECTOverride project name ENSEMBLE_CLOUD_ENVDefault target environment
Exit Codes
Code Description 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