Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.baseten.co/llms.txt

Use this file to discover all available pages before exploring further.

Baseten provides command-line tools to author and ship models and to manage the workspace around them. Two CLIs do that work, and both are open source and actively developed. The Truss CLI is the model-development tool. You use it to write a config.yaml, package a model.py and its dependencies into a Truss bundle, iterate against your code with truss watch, and push releases to Baseten. It also includes the framework workflows for Chains, Training, and Loops. Truss is Python; install with uvx truss or pip install truss. The Baseten CLI Private beta is the workspace-operations tool. You use it to manage organizations, API keys, secrets, and the deployment lifecycle: promoting development deployments to production, activating or deactivating environments, terminating individual replicas, and so on. It also calls models and the Baseten API. Every Baseten-native command supports --output json and --jq filtering, which makes it the right tool to reach for in CI pipelines, scripts, and runbooks. The Baseten CLI is Go; download a release from GitHub releases. Access is limited during the beta. Both CLIs authenticate against the same Baseten backend and the two are designed to coexist.

Which one do I use?

Most of the time the answer is clear from your context.
You’re doing this…CLI
Authoring model.py or config.yaml and iterating with truss watchTruss
Deploying a model from your editorTruss (truss push)
Deploying a model from a CI workflow that parses outputBaseten CLI (baseten model push)
Authoring a Chain, Training job, or LoopTruss (truss chains, truss train, truss loops)
Rotating an org API keyBaseten CLI (baseten org api-key)
Promoting a development deployment to productionBaseten CLI (baseten model deployment promote)
Querying a model from a shell pipelineBaseten CLI (baseten model predict --jq ...)
Managing org secretsBaseten CLI (baseten org secret)
Inspecting or terminating deployment replicasBaseten CLI (baseten model deployment replica)

Overlapping commands

A small set of commands intentionally exists in both CLIs so each is self-sufficient.
ActionTrussBaseten CLIPick based on
Authenticatetruss loginbaseten auth loginWhichever CLI you already have installed. Both hit the same backend.
Deploy a modeltruss pushbaseten model pushtruss push while iterating locally (supports --watch). baseten model push from CI (structured output, scriptable errors).
Call a modeltruss predictbaseten model predictbaseten model predict if you need --jq or --output json. truss predict for an ad-hoc smoke test.
Tail logstruss model-logsbaseten model deployment logsMatch the workflow you’re already in.

Using both together

The Baseten CLI ships with a baseten truss passthrough that forwards arguments to the truss binary on your PATH. If you prefer a single command in muscle memory, run baseten truss push as a synonym for truss push. The passthrough is permanent: the Baseten CLI composes with Truss without absorbing it.

Next steps

Author a model

Use Truss to package and deploy your first model.

Manage your workspace

Use the Baseten CLI for orgs, deployments, and automation.

Build a Chain

Create multi-step inference pipelines with truss chains.

Wire CI/CD

Use baseten model push in GitHub Actions and other pipelines.