anycloud job
Run and list finite Jobs on dedicated VMs or inside persistent Kubernetes Deployments.
The deprecated names anycloud run and anycloud submit still run
anycloud job, with a warning. They will be removed in a future release.
anycloud job [image] [-- command...] [options]
Use -- before a container command that has its own flags.
Omitting the image in an interactive terminal opens the GHCR image picker. In
CI or another non-interactive shell, pass the image as the first argument.
The bare names list and ls select listing. To launch an image with either
name, include its tag, for example anycloud job list:latest.
anycloud job list
anycloud job list [options]
anycloud job ls --status running
anycloud job list --deployment deployment-id -n 400
anycloud job list --json
List only Jobs, using the same filters, limits, automatic agent session scope,
and JSON/CSV/ID output as anycloud list.
The command prints directly without a view picker. Its type is fixed;
--type is not accepted. Put listing options after list or ls.
For listing, --deployment takes an immutable Deployment ID and can be combined with
other filters or a larger limit. It skips both pickers and can retrieve Jobs
for a deleted Deployment. For submission, anycloud job --deployment accepts an
active ID or name and creates a Job.
anycloud job list --watch opens the node pool and Deployment pickers and refreshes
the selected Deployment's Jobs. It requires an interactive terminal and cannot be
combined with filters, including --deployment, or machine-readable output.
Creation options
| Option | Description |
|---|---|
-i, --id ID | Custom workload ID |
-e, --env KEY=VALUE | Environment value; repeatable. -e KEY reads the current shell |
--env-file FILE | Load values from a dotenv file |
--secret NAME | Inject a named Secret; repeatable |
--deployment ID-OR-NAME | Run the Job on a Deployment, which supplies image and placement |
--credentials NAME | Select one saved compute credential |
--region REGION | Pin one compute region |
--vm-type TYPE | Exact VM; repeat for an ordered fallback pool |
--gpu-type TYPE | GPU model and optional count; repeat for an ordered fallback pool |
--spot | Use spot/preemptible capacity |
--disk-size GB | Root disk capacity |
--disk-tier TIER | medium, high, or ultra |
--zone ZONE | Availability zone |
--input-bucket NAME | Read-only input at /mnt/input |
--output-bucket NAME | Writable output at /mnt/output |
--checkpoint-bucket NAME | Existing read-write checkpoint at /mnt/checkpoint |
--input-storage-credentials NAME | Cross-account input identity |
--input-storage-region REGION | Cross-account input Bucket region; omit for Cloudflare R2 |
--output-storage-credentials NAME | Cross-account output identity |
--output-storage-region REGION | Cross-account output Bucket region; omit for Cloudflare R2 |
--checkpoint-storage-credentials NAME | Cross-account checkpoint identity |
--checkpoint-storage-region REGION | Cross-account checkpoint Bucket region; omit for Cloudflare R2 |
--gpus VALUE | Docker GPU exposure: all or a count |
--shm-size SIZE | Shared memory, such as 8g |
--memory LIMIT | Container memory limit |
--cpus COUNT | Container CPU limit |
--runtime RUNTIME | Docker runtime |
--ipc MODE | host, private, or shareable |
--ulimit VALUE | Docker ulimit; repeatable |
--bind BIND... | Host bind mounts |
--wait | Wait until the Job completes; exit codes as in anycloud wait |
--wait submits, prints the ID, then waits like
anycloud wait: it exits 0 when the
Job completes and 1 when it fails.
--gpu-type and --vm-type are mutually exclusive. --credentials may
appear once. If omitted for VM-backed compute, the CLI selects the sole saved
credential or shows a picker in an interactive terminal. Multiple credentials
in non-interactive use require --credentials. Local compute is
credentialless.
--deployment selects the targeted form. It cannot be combined with an image,
command, environment, secret, compute or storage placement, GPU/VM, disk,
Docker, or bucket option. The Deployment owns that configuration;
the Job carries only its ID. --id remains optional but is useful when the
application uses the Job ID to find its invocation data.
An explicit --checkpoint-bucket works with spot or on-demand Jobs, must
already exist, and is always retained. Without that flag, a spot Job uses its
automatic workload-named checkpoint bucket and deletes it when the Job
finishes.
AWS, Azure, and GCP dedicated Jobs use the selected compute identity for automatic spot checkpoints and do not need explicit checkpoint storage flags. Lambda and Local Jobs do not have a compatible native bucket identity, so a checkpoint bucket requires explicit checkpoint storage credentials and region. Scoped cross-identity storage currently requires AWS credentials.
Examples
anycloud job ghcr.io/acme/train:latest \
--credentials my-aws \
--gpu-type h100:8 \
--spot \
--gpus all \
-- python train.py --epochs 10
anycloud job ghcr.io/acme/app:latest \
--credentials my-aws \
--vm-type t3.medium
anycloud job --deployment model-deployments --id request-123
The target must be an active Deployment. See
cluster and node-pool and
deployment for node pool and Deployment setup.
GITHUB_TOKEN supplies GitHub authentication in non-interactive use; see
anycloud login.
ANYCLOUD_CREDENTIALS_NAME is the credentials-name fallback when the flag is
absent.
For field precedence and constraints, see Configuration.