CLI Reference
The chaser CLI is a thin client over the public Chaser API.
Installation
Download the latest release from the Chaser dashboard or build from source.
Configuration
Set credentials via environment variables or flags:
$ export CHASER_API_URL="https://api.chaser.sh" $ export CHASER_API_KEY="sk_your_key_here" $ export CHASER_ACCOUNT="personal" # or an organization name
Or pass them as flags:
$ chaser --api-url "$CHASER_API_URL" --api-key "$CHASER_API_KEY" --account personal <command>
Commands
Sessions
$ # Create sessions $ chaser browser --ephemeral --json $ chaser browser --workspace my-browser --json $ chaser sandbox --ephemeral --json $ chaser sandbox --workspace my-sandbox --json $ chaser sandbox --ephemeral --image ghcr.io/example/dev:latest --json $ $ # Interactive shell $ chaser shell <session_id> $ chaser shell <session_id> -c "ls -la" $ $ # List and inspect $ chaser sessions list --format table $ chaser sessions list --format json --type sandbox $ chaser sessions info <session_id> --json $ $ # Runtime diagnostic $ chaser sessions self-test <session_id> --json $ $ # Terminate $ chaser sessions terminate <session_id> $ chaser sessions bulk-terminate --all --json
Workspaces
$ # Create $ chaser workspaces create --session-type sandbox --name dev --json $ chaser workspaces create --session-type sandbox --name dev --image ghcr.io/example/dev:latest --json $ chaser workspaces create --session-type sandbox --name base --template --json $ chaser workspaces create --clone-from base --name feature --json $ $ # List and manage $ chaser workspaces list --format table $ chaser workspaces label <workspace> new-name $ chaser workspaces label <workspace> --clear $ chaser workspaces template set <workspace> $ chaser workspaces template set <workspace> --disable $ $ # Snapshots $ chaser workspaces snapshots create <workspace> --name checkpoint --json $ chaser workspaces snapshots list <workspace> --json $ chaser workspaces snapshots restore <workspace> checkpoint --force --json $ chaser workspaces snapshots delete <workspace> checkpoint --json $ $ # Delete $ chaser workspaces delete <workspace> --force $ chaser workspaces bulk-delete --all --json
File transfer
$ chaser upload <session_id> ./local-file /workspace/remote-file $ chaser download <session_id> /workspace/remote-file ./local-file $ chaser teleport <session_id> --local ./my-app --remote /workspace
Port forwarding
$ chaser forward <session_id> <guest_port> [local_port] [--open] [--wait <seconds>]
Jobs
$ # Execute $ chaser jobs exec --workspace dev "npm test" --wait --json $ chaser jobs exec --ephemeral --image ghcr.io/example/dev:latest "echo hi" --wait --json $ $ # Scrape $ chaser jobs scrape <browser_session_id> --url "https://example.com" --wait --json $ $ # List and inspect $ chaser jobs kinds --json
Accounts
$ # List accounts $ chaser accounts list --json $ chaser accounts current --json $ $ # Organizations $ chaser accounts create-org --name "Acme Engineering" --json $ $ # Members (on active organization account) $ chaser --account "Acme Engineering" accounts members list --json $ chaser --account "Acme Engineering" accounts members add --email user@example.com --role admin --json $ chaser --account "Acme Engineering" accounts members update <user_id> --role member --json $ chaser --account "Acme Engineering" accounts members remove <user_id> --json $ $ # Service accounts $ chaser --account "Acme Engineering" accounts service-accounts list --json $ chaser --account "Acme Engineering" accounts service-accounts create --name deploy-bot --json $ chaser --account "Acme Engineering" accounts service-accounts keys create <sa_id> \ > --name key-name --scope sessions.read --scope exec.write --json $ chaser --account "Acme Engineering" accounts service-accounts keys revoke <sa_id> <key_id> --json
API keys
$ chaser keys create --name automation --scope sessions.read --scope exec.write --json
Keys are bound to the account selected at creation time.
Webhooks
$ # Create $ chaser --account "Acme Engineering" webhooks create \ > --url https://example.com/webhooks \ > --event session.created --event session.terminated --json $ $ # Deliveries $ chaser --account "Acme Engineering" webhooks deliveries list --status failed --json $ chaser --account "Acme Engineering" webhooks deliveries replay <delivery_id> --json $ chaser --account "Acme Engineering" webhooks deliveries discard <delivery_id> --json
SSH
$ chaser ssh <session_id> --addr 127.0.0.1:2222 --mode human
Output formats
Most commands support --json for machine-readable output and --format table for human-readable tables. Use --help at any command depth for full syntax.
