Skip to main content
The truss loops command provides subcommands for the Loops deployment lifecycle: pushing a deployment for a base model, viewing runs and samplers, and listing or deploying checkpoints from a run.
truss loops [OPTIONS] COMMAND [ARGS]...
CommandDescription
pushProvision a session, run, and sampler for a base model.
deactivateShut down the active deployment for a base model.
viewList active Loops deployments.
logsFetch logs from a Loops deployment or its sampler.
runs viewList Loops runs.
samplers viewList Loops samplers.
checkpoints viewList checkpoints for a Loops run.
checkpoints deployDeploy checkpoints from a Loops run.

push

Provision a Loops session, run, and paired sampler for a base model. If the project already has an active Loops deployment for the base model, the command fails with a validation error.
truss loops push [OPTIONS] BASE_MODEL

Arguments

BASE_MODEL
TEXT
required
Hugging Face model ID for the base model (for example, Qwen/Qwen3-8B).

Options

}
--project-id
TEXT
Training project ID to associate the deployment with.
--remote
TEXT
Name of the remote in .trussrc to deploy to.
--log
humanfriendly | W | WARNING | I | INFO | D | DEBUG
default:"humanfriendly"
Logging verbosity. humanfriendly (default) is pretty-printed; INFO, DEBUG, WARNING produce structured logs.
--non-interactive
Disable interactive prompts. Use in CI/automated contexts where stdin isn’t a TTY.
Example:
truss loops push Qwen/Qwen3-8B

deactivate

Shut down the active Loops deployment for a base model. Saved checkpoints remain accessible after deactivation.
truss loops deactivate [OPTIONS] BASE_MODEL

Arguments

BASE_MODEL
TEXT
required
Hugging Face model ID of the deployment to shut down.

Options

}
--remote
TEXT
Name of the remote in .trussrc.
-y, --yes
Skip the confirmation prompt.
--log
humanfriendly | W | WARNING | I | INFO | D | DEBUG
default:"humanfriendly"
Logging verbosity. humanfriendly (default) is pretty-printed; INFO, DEBUG, WARNING produce structured logs.
--non-interactive
Disable interactive prompts. Use in CI/automated contexts where stdin isn’t a TTY.
Example:
truss loops deactivate Qwen/Qwen3-8B --yes

view

List the caller’s active Loops deployments. Deployments whose latest status is STOPPED are filtered out server-side.
truss loops view [OPTIONS]

Options

}
--remote
TEXT
Name of the remote in .trussrc.
--all
Include deployments in terminal states (STOPPED, FAILED).
-o, --output-format
cli-table | json
default:"cli-table"
Output format: cli-table (default) or json.
--log
humanfriendly | W | WARNING | I | INFO | D | DEBUG
default:"humanfriendly"
Logging verbosity. humanfriendly (default) is pretty-printed; INFO, DEBUG, WARNING produce structured logs.
--non-interactive
Disable interactive prompts. Use in CI/automated contexts where stdin isn’t a TTY.
Example:
truss loops view
The command prints a table with the deployment ID, base model, base URL, and deployment URL.

logs

Fetch logs from one half of a Loops deployment. A Loops deployment and its sampler have separate log streams, so pass exactly one of --loops-deployment-id or --sampler-deployment-id depending on which side you’re debugging.
truss loops logs [OPTIONS]

Options

}
--loops-deployment-id
TEXT
Fetch logs from a Loops deployment. The id is the Deployment ID column in truss loops view.
--sampler-deployment-id
TEXT
Fetch logs from the sampler’s inference deployment. The id is the Sampler Deployment ID column in truss loops samplers view. The companion model id is resolved automatically by matching against the caller’s active Loops deployments.
--tail
Continue polling for new log lines until the deployment goes inactive (or Ctrl+C).
--remote
TEXT
Remote to use.
--log
humanfriendly | W | WARNING | I | INFO | D | DEBUG
default:"humanfriendly"
Customizes logging.
--non-interactive
Disables interactive prompts, use in CI / automated execution contexts.
Examples:
truss loops logs --loops-deployment-id <deployment_id>
Stream the sampler’s logs and keep polling until the deployment goes inactive:
truss loops logs --sampler-deployment-id <sampler_deployment_id> --tail
Get the deployment IDs from truss loops view (Deployment ID) and truss loops samplers view (Sampler Deployment ID).

runs view

List Loops runs visible to the caller. Both filters are optional and can be combined; omit both to list every run.
truss loops runs view [OPTIONS]

Options

}
--run-id
TEXT
Filter to a specific run ID.
--base-model
TEXT
Filter runs by base model name.
-r, --reverse
Reverse the default order (oldest first) so the most recent run is shown first.
--remote
TEXT
Name of the remote in .trussrc.
--log
humanfriendly | W | WARNING | I | INFO | D | DEBUG
default:"humanfriendly"
Logging verbosity. humanfriendly (default) is pretty-printed; INFO, DEBUG, WARNING produce structured logs.
--non-interactive
Disable interactive prompts. Use in CI/automated contexts where stdin isn’t a TTY.
Example: List the most recent runs for a base model:
truss loops runs view --base-model Qwen/Qwen3-8B --reverse

samplers view

List Loops samplers visible to the caller.
truss loops samplers view [OPTIONS]

Options

}
-r, --reverse
Reverse the default order (oldest first) so the most recent sampler is shown first.
--remote
TEXT
Name of the remote in .trussrc.
--log
humanfriendly | W | WARNING | I | INFO | D | DEBUG
default:"humanfriendly"
Logging verbosity. humanfriendly (default) is pretty-printed; INFO, DEBUG, WARNING produce structured logs.
--non-interactive
Disable interactive prompts. Use in CI/automated contexts where stdin isn’t a TTY.
Example:
truss loops samplers view --reverse

checkpoints view

List checkpoints for a Loops run. Identify the run with --run-id, or pass --base-model to pick the most recent run for that base model. The two filters are mutually exclusive.
truss loops checkpoints view [OPTIONS]

Options

}
--run-id
TEXT
Loops run ID to list checkpoints for. Mutually exclusive with --base-model.
--base-model
TEXT
Base model name. Resolves to the most recent Loops run for that model. Mutually exclusive with --run-id.
--sort
checkpoint-id | size | created | type
default:"created"
Sort checkpoints by checkpoint ID, creation time, size, or type.
--order
asc | desc
default:"asc"
Sort order.
-o, --output-format
cli-table | csv | json
default:"cli-table"
Output format.
--remote
TEXT
Name of the remote in .trussrc.
--log
humanfriendly | W | WARNING | I | INFO | D | DEBUG
default:"humanfriendly"
Logging verbosity. humanfriendly (default) is pretty-printed; INFO, DEBUG, WARNING produce structured logs.
--non-interactive
Disable interactive prompts. Use in CI/automated contexts where stdin isn’t a TTY.
Examples: List checkpoints for the most recent run of a base model:
truss loops checkpoints view --base-model Qwen/Qwen3-8B
Get the largest checkpoints first, as JSON:
truss loops checkpoints view --run-id <run_id> --sort size --order desc -o json

checkpoints deploy

Deploy checkpoints from a Loops run as a vLLM-backed inference deployment. You must pass one of --run-id, --checkpoint-ids, or --config.
truss loops checkpoints deploy [OPTIONS]

Options

}
--run-id
TEXT
Loops run ID. Opens an interactive picker so you can choose checkpoints from the run. Cannot be combined with --checkpoint-ids.
--checkpoint-ids
TEXT
Comma-separated Loops checkpoint IDs (for example, vL3pQrS8,wK4tUvW9). Bypasses the interactive picker. Use truss loops checkpoints view to find IDs. Cannot be combined with --run-id or --config.
--config
TEXT
Path to a Python file that defines a DeployCheckpointsConfig. The config must populate checkpoint_details.loops_checkpoint_ids. Cannot be combined with --checkpoint-ids.
--dry-run
Render the generated truss config to stdout without deploying.
--remote
TEXT
Name of the remote in .trussrc.
--log
humanfriendly | W | WARNING | I | INFO | D | DEBUG
default:"humanfriendly"
Logging verbosity. humanfriendly (default) is pretty-printed; INFO, DEBUG, WARNING produce structured logs.
--non-interactive
Disable interactive prompts. Use in CI/automated contexts where stdin isn’t a TTY.
Examples: Pick checkpoints interactively from a run:
truss loops checkpoints deploy --run-id <run_id>
Deploy specific checkpoint IDs:
truss loops checkpoints deploy --checkpoint-ids vL3pQrS8,wK4tUvW9
Render the generated config without deploying:
truss loops checkpoints deploy --run-id <run_id> --dry-run