v1.20Grok Build CLI support →

Cloud dispatch

Dispatch agent tasks to remote infrastructure, stream live output via SSE, and manage running tasks — all without keeping a local session open.

The model

Three providers ship today: Rush Cloud (GitHub-repo-backed pods), Codex Cloud (pre-built Codex environments), and Factory (Droid and computer-use targets). Every dispatched task is tracked in a local SQLite store, so agents cloud list shows the full history across all providers. Tasks continue running after you disconnect — reconnect any time with agents cloud logs <id>.

The default provider is read from cloud.default_provider in ~/.agents/agents.yaml. If unset, it falls back to rush.

Dispatch a task

agents cloud run "fix the flaky e2e in tests/checkout.spec.ts" \
  --provider rush \
  --repo acme/monorepo \
  --branch main

The CLI dispatches, then streams the task output via SSE until it completes. Text output goes to stdout; thinking content and tool calls go to stderr. Stream disconnect does not cancel the task.

Multi-repo dispatch

Rush Cloud supports dispatching against multiple repositories in a single task. Each repo is cloned into /workspace/<owner>/<name>/ in the pod. Pass --repo more than once:

agents cloud run "rename POST /v1/charge -> /v2/charge across server + extension" \
  --provider rush \
  --repo acme/server \
  --repo acme/extension

Fire and forget

Use --no-follow to dispatch and exit immediately. Reconnect later with the task ID:

TASK=$(agents cloud run "bump tailwind to v4 and fix the breaks" \
  --provider rush --repo acme/monorepo --no-follow --json | jq -r .id)

# Reconnect any time
agents cloud logs "$TASK"

Manage running tasks

agents cloud list                            # all tasks, most recent first
agents cloud list --provider rush --status running
agents cloud status tsk_4f2a91               # detail + latest status
agents cloud logs tsk_4f2a91                 # stream output
agents cloud cancel tsk_4f2a91              # cancel a running task

When a task pauses at input_required, unblock it with a follow-up message:

agents cloud message tsk_4f2a91 "Looks good — also update the OpenAPI spec"

Balanced strategy

For Factory targets, --balanced rotates task dispatch across all healthy accounts when a rate limit is hit:

agents cloud run "..." --provider factory --balanced

Provider configuration

Per-provider defaults live in ~/.agents/agents.yaml:

cloud:
  default_provider: rush

  providers:
    codex:
      env: env_a1b2c3          # default Codex Cloud environment ID
    factory:
      computer: linux-vm-1     # default computer target

Rush Cloud uses the session token injected by agents — no separate config key is needed.

Related