Skip to main content
The Truss CLI authors and deploys models: write a config.yaml, iterate with truss watch, and push to Baseten. It also runs the Chains, Training, and Loops workflows. Install with uvx truss or pip install truss. The Baseten CLI Beta manages your workspace: organizations, API keys, secrets, and the deployment lifecycle, from promoting deployments to terminating replicas. It also calls models and the Baseten API. All commands except the baseten truss passthrough support --output json and --jq filtering for scripts and CI. Install with Homebrew. The Baseten Switch CLI Beta routes Claude Code and Codex CLI to Model APIs through a local gateway, and can install Pi’s direct Baseten provider. See Baseten Switch CLI. Truss and the Baseten CLI are open source and authenticate against the same Baseten backend. Switch authenticates with the current Baseten CLI profile.

Which one do I use?

Overlapping commands

A few commands exist in both CLIs:

Use both together

baseten truss runs truss through uv tool run and forwards this CLI’s credentials, so baseten truss push works as a synonym for truss push without a separate truss login. The baseten train and baseten loops command trees manage training jobs and Loops runs natively, and delegate to truss for the commands that need a Python config file (train push, train init, loops checkpoint deploy).

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.

Baseten Switch CLI

Route Claude Code, Codex CLI, or Pi to Model APIs.