runcrate run starts a job: your command on a fresh GPU machine that stops, and stops billing, as soon as the command exits.
Run a command
python is Python 3. ubuntu-train has PyTorch 2.8 for CUDA 12.8 with Transformers, TRL and PEFT, and ubuntu-inference has vLLM 0.11; the default ubuntu-devbox has no PyTorch. See Templates and Python.
Everything after -- is the command. A single argument is run as written. Several arguments are joined with spaces, and any argument holding spaces or shell characters is quoted first, so -- python -c 'print(1)' runs as typed.
The command and its logs are visible to everyone in the workspace, so pass tokens with --env (or keep them in your environment’s secrets), never inside the command.
run prints the job id, then follows the logs until the job ends.
Flags
Detach and re-attach
Press Ctrl-C whilerun follows logs to detach. The job keeps running, and run prints how to come back to it:
jobs cancel for that.
Exit codes
runcrate run exits with the job’s result, so scripts and agents can check it:
List jobs
Job status
Logs
Cancel a job
cancelled. Files under /workspace are saved to the volume.
Wait for a job
jobs wait polls with a growing gap (2 s up to 30 s) and exits like runcrate run: 0, the command’s exit code, 124 or 130. With --timeout it exits 75 when the time passes first; the job keeps running.
Outputs
Files your command writes to$RUNCRATE_OUTPUT_DIR are kept 30 days after the job ends.
download keeps each file’s path, checks its SHA-256, and never replaces a file that exists unless you pass --force.
Rerun a job
--env adds or replaces values; any other flag (--gpu, --gpu-count, --max-runtime, --capacity-wait, --retries, --tag, --name, --region, --image, --template, --volume) replaces that setting. It follows the logs like run, or returns with --detach.
Groups
--count or --params start a group: run prints each job’s id and returns.