deploy command creates a new agent deployment or updates an existing one. It builds a deployment manifest with the provided parameters and monitors the deployment status until the agent is ready.
When no image is specified, the CLI will offer to build your agent using Pipecat Cloud Build. This handles building and deploying without requiring you to manage a container registry. A Dockerfile must be present in your build context directory.
If the agent name already exists, you’ll be prompted to confirm the update. Use --force to skip this prompt and also force a new deployment even if the configuration hasn’t changed (replacing all running pods).
This command will wait for the active deployment / revision to enter a ready state before returning. If the deployment fails, the command will exit with an error with more information.
Usage
Unique string identifier for the agent deployment. Must not contain spaces.
Defaults to
agent_name in pcc-deploy.toml; the deploy exits 1 when neither
is set.URL of the Docker image to deploy. Must be a valid Docker image URL. For
example:
docker.io/my-repo/my-image:latest. Not required when using cloud
builds or --build-id.Path to an alternate deploy config file. Defaults to
pcc-deploy.toml in the
current directory. Can also be set via the PIPECAT_DEPLOY_CONFIG_PATH
environment variable, with the flag taking precedence.Name of the image pull secret to use for accessing private repositories. The
secret must be previously created using the
pipecat cloud secrets image-pull-secret command, and must be in the
ready
state at deploy time.Organization to deploy the agent to. If not provided, uses the current
organization from your configuration.
Name of the secret set to use for the deployment. The secret set must exist in
the specified organization and must be in the
ready
state — deploys that bind a pending or failed set are rejected.Minimum number of agent instances to keep warm at all times. Default is 0,
which means the agent will scale down to zero when not in use. Setting this to
1 or higher avoids cold starts.
Maximum number of allowed agent instances, at least 1. Omitted, the value
isn’t sent, so an existing agent keeps its current maximum. The default cap is
50; if you need more agents, please contact us at help@daily.co or via
Discord.
Enable Krisp VIVA noise cancellation with the specified audio filter model.
Valid values are:
tel: Telephony model (up to 16kHz)pro: WebRTC model (up to 32kHz)
KrispVivaFilter() for your transport. See the Krisp VIVA documentation for more information.Maximum session duration in seconds. When a session reaches this limit, the
session is stopped: the bot is cancelled, with no opportunity for it to say
goodbye first. Valid range:
60 to 14400 (4 hours). Defaults to 7200 (2 hours) when unset.See Session duration limits
for more information.The agent profile to use for resource allocation: a platform profile
(
agent-1x, agent-2x, agent-3x) or, in a self-hosted region, one your
organization defined with agent profiles create. Omitted, the CLI
sends no profile, so a new agent gets the platform default, agent-1x.See Agent Profiles for more information.Explicit sizing for agents in self-hosted
regions, as
cpu=<quantity>,memory=<quantity> (e.g. cpu=2,memory=4Gi). Mutually
exclusive with --profile: passing one clears the other from
pcc-deploy.toml. Requires pipecatcloud 1.2.0 or later.CPU architecture the agent image requires:
amd64 or arm64. Omitted, the
region’s default applies. When a region is set by flag or in
pcc-deploy.toml, the choice is validated against that region’s supported
architectures (see regions list)
before anything is uploaded. Must match how the image was built. Requires
pipecatcloud 1.2.0 or later.Region where the agent will be deployed. If not specified, uses your
organization’s default region (typically
us-west). Choose a region close to
your users for optimal latency. Must be a region of the organization in use.Force a new deployment even if the configuration hasn’t changed, replacing all
running pods. Useful for picking up updated container images when using
mutable tags like
latest, or for refreshing modified secret values.Skip all confirmation prompts, including cloud build prompts. Useful for CI/CD
pipelines. When used without an image, automatically triggers a cloud build.
Deploy using an existing cloud build ID instead of building a new image. Takes
precedence over
image. You can find build IDs using pipecat cloud build list.Deploy without an image pull secret. Without
--yes or --force, an image
deploy that names neither --credentials nor an image_credentials in the
config file is refused, since a private image would fail to pull. Pass this
when the image is public.GitHub source
Create an agent that builds from a GitHub repository instead of an image. The organization must be connected to GitHub first.Repository as
owner/repo. Skips the image build and push entirely — Pipecat
Cloud builds from the repository.Path to the Dockerfile within the repository. Distinct from
--dockerfile,
which applies to cloud builds from a local context.image, --build-id, or
--resources / [resources]: a deploy is built from a repository or from an
image, not both, and a GitHub-sourced agent is sized with --profile. The
first deploy is followed through its build, so the command reports whether it
succeeded rather than returning as soon as it’s queued.
Examples
Deploy a new agent:Configuration File (pcc-deploy.toml)
Thedeploy command supports a configuration file for repeatable deployments. Create a pcc-deploy.toml file in your project root to define deployment settings that can be shared across your team and version controlled.
File Location
Placepcc-deploy.toml in the same directory where you run the pipecat cloud deploy command. The CLI will automatically detect and use this file.
To use an alternate config file (e.g. for different environments), pass --config-file:
PIPECAT_DEPLOY_CONFIG_PATH environment variable, with the --config-file flag taking precedence.
Precedence
Values are applied with the following order of precedence:- CLI arguments (highest priority)
pcc-deploy.tomlvalues- Default values (lowest priority)
Configuration Options
Required Fields
Name of the agent to deploy. Must start with a lowercase letter or number, can
include hyphens, and must end with a lowercase letter or number. Maximum 54 characters.
You must specify either
image or build_id, or omit both to trigger a cloud
build at deploy time.Optional Fields
Region where the agent will be deployed. If not specified, uses your
organization’s default region (typically
us-west).Name of the secret set to use for environment variables. The secret set must
exist in the same region as the agent and must be in the
ready
state — deploys that bind a pending or failed set are rejected.Name of the image pull secret for private registries. The image pull secret must exist in the same region as the agent and must be in the
ready state.CPU architecture the agent image requires:
amd64 or arm64. Omitted, the region’s default applies. See Pipecat Enterprise Agent Sizing.Explicit sizing for agents in self-hosted regions, using Kubernetes quantities. Mutually exclusive with
agent_profile.Maximum session duration in seconds. When a session reaches this limit, the
session is stopped: the bot is cancelled, with no opportunity for it to say
goodbye first. Valid range:
60 to 14400 (4 hours). See
Session duration limits
for more information.Authentication required on the agent’s WebSocket endpoint.
none for no
authentication, or token to require an HMAC session token from /start. See
WebSocket authentication.Scaling Configuration
Define auto-scaling behavior in a[scaling] section:
Minimum number of agent instances to keep warm. Setting to 0 allows scaling to zero but may result in cold starts.
Maximum number of agent instances allowed, at least 1. Omitted, an existing agent keeps its current maximum.
Krisp VIVA Configuration
Configure Krisp VIVA noise cancellation in a[krisp_viva] section:
Krisp VIVA audio filter model. Valid values:
tel (telephony, up to 16kHz) or pro (WebRTC, up to 32kHz). Omit or set to null to disable.Cloud Build Configuration
Configure cloud build behavior in a[build] section:
Additional file patterns to exclude from the build context. Common patterns like
.git, .env, __pycache__, and .venv are excluded automatically.GitHub Source Configuration
Build from a repository instead of an image, in a[git] section. Command-line
flags take precedence over these values.
Like
--repo, a [git] section only applies when the agent is created. Once
the agent exists, a pipecat cloud deploy with a [git] section exits 1, so
remove the section after the first deploy and ship later commits with agent deploy --github.Complete Example
- With cloud build
- With custom image
- Self-hosted region
Using the Configuration File
Once you have apcc-deploy.toml file, simply run: