Skip to main content
Deploy models on dedicated model inference, manage the resulting endpoints and deployments, and test or replace deployments with A/B tests, shadow experiments, and rollouts. Commands run within a Together project.
These commands require Together CLI 3.0 or later. In CLI 2.x, they were tg beta endpoints, and tg endpoints managed the retired v1 dedicated endpoints.

Deploy

Deploy a model to a new endpoint. If you pass the name or ID of an existing endpoint to --endpoint, the model deploys to that endpoint. If you pass a new name, the CLI creates the endpoint first, then deploys. The model is passed as the positional MODEL argument.
Shell
When a model has more than one deployment profile, pass the profile’s exact modelName (from tg models public) as MODEL to select that profile, or re-run with --config <cr_...>. If the name still matches more than one profile, deploy returns an error that lists each profile’s modelName, config ID, quantization, GPUs, and parallelism, and shows an example --model <modelName> --config <cr_...> command. When a model has a single profile, the CLI selects it automatically. When MODEL is a low-rank adapter (LoRA), pass --attach-adapter or --merge. --attach-adapter attaches the adapter to a deployment of its base model on the endpoint whose deployment profile serves adapters. If the endpoint has no such deployment, the CLI creates one, then attaches the adapter. --merge creates a new deployment that serves the adapter merged into its base model. See Multi-LoRA deployment for the attach workflow.
Shell
The CLI defaults --min-replicas and --max-replicas to 1, which may differ from the raw API defaults. If you pass only one bound, the CLI infers the other: --min-replicas alone mirrors into the max (including 0 to create the deployment stopped), and --max-replicas 0 alone lowers the min to 0. Passing 0 for one bound and a positive value for the other is an error.

Parameters

List

List endpoints in the current project.
Shell

Parameters

Get

Print details for an endpoint, deployment, or rollout. Pass an endpoint name or ID (ep_...) to see its deployments, traffic split, and active rollout, a deployment name or ID (dep_...) to inspect that deployment directly, or a rollout ID (rol_...) to see the rollout’s state, strategy, and progress. You can also omit get and pass the name or ID as the first argument (tg endpoints <name_or_id>). Endpoint responses include at most the 10 newest deployment summaries per endpoint. To list every deployment, use the deployments list API.
Shell
If more than one deployment shares the same bare name across endpoints, the CLI errors and asks you to pass a deployment ID (dep_...) or a fully qualified deployment name. For an endpoint, each deployment row lists the LoRA adapters attached to it. For a deployment, the output also shows its config’s selectors, such as adapter_mode. With --json, endpoint responses expose deployment state under deployments[].state, while deployment responses expose it under status.state.

Parameters

Update

Update a deployment’s parameters: change its replica bounds, adjust autoscaling, set its share of endpoint traffic, or change an A/B variant’s percent. Pass the deployment ID (dep_...). The CLI resolves its parent endpoint automatically. At least one option must be set. Deployment names are immutable after creation.
Shell
To stop a deployment, pass both --min-replicas 0 and --max-replicas 0. Passing only one zero bound returns an error. Partial nonzero updates (for example, only --min-replicas 3) still patch that field alone.

Parameters

A deployment serves LoRA adapters only if its config has adapter_mode set to dynamic or fixed. You can’t change a deployment’s config with update, so to serve adapters, create a new deployment with such a config or let deploy --attach-adapter create one.

Delete

Delete an endpoint, deployment, A/B test, shadow experiment, or rollout. To detach a LoRA adapter from a deployment, pass the adapter attachment ID (dad_...). The command infers the resource type from the ID prefix (see Resource IDs).
Shell
Alias: tg endpoints -d.

Parameters

Events

List an endpoint’s audit and lifecycle events, newest first. The feed merges endpoint-scoped events with the deployment-scoped events of every deployment under the endpoint. See Monitoring for how to read the feed.
Shell
The command prints one page of events with time, type, source, and message columns. When more events remain, it prints the --after command that displays the next page. Add --json for the raw event objects, including fields the table view omits, such as the event ID, level, and source kind.

Parameters

A/B test

Fork a percentage of an endpoint’s live traffic from a control deployment to a new variant model, then compare the two. See A/B testing for the full workflow.
Shell

Parameters

Shadow

Mirror a fraction of an endpoint’s live traffic to a new model without affecting responses returned to clients. The model is the positional argument, and the source endpoint is passed with --endpoint. See Shadow deployments for details.
Shell

Parameters

Rollout

Shift traffic from a source deployment to a target deployment under the same endpoint, or control the endpoint’s active rollout. See Rollouts for the full workflow, strategies, and requirements. To create a rollout, pass the target deployment and one strategy flag (--blue-green, --canary, or --rolling). A canary rollout can also carry a single metric gate, set with the --metric* flags. To control an active rollout, pass the endpoint (preferred), the deployment, or the rollout ID, plus one control flag.
Shell
If the target deployment is a shadow experiment target or an A/B test member, pass --detach and the CLI detaches it from the experiment first (deleting the experiment if it can’t continue without the deployment), then starts the rollout.

Parameters

The control flags (--cancel, --pause, --resume, and --promote) are mutually exclusive with each other and with the create options.

Global options

Every command also accepts the global parameters, including --json for machine-readable output and --project to override the target project. To set the project without --project, export the TOGETHER_PROJECT_ID environment variable. With neither set, the CLI uses the project you selected with tg login or tg switch. If you authenticate with an API key, an interactive deploy asks you to confirm the key’s project. CI jobs, agents, --non-interactive mode, and --json mode can’t answer that prompt, so set the project explicitly in those contexts before deploying:
Shell

Resource IDs

An endpoint is a stable address that points at one or more deployments. Most commands take a resource ID, and its prefix identifies the resource type: