tanomis agent deploy
Generated from the tanomis command tree on 2026-10-01. Flags and defaults match the binary; run tanomis agent deploy –help for the version you have installed.
tanomis agent deploy [PATH] [flags]Description
Section titled “Description”Turn local Python agent source into a remote build (feature 260703d1d).
Preflights PATH (default “.”): parses agent.yaml, requires a harness (framework), rejects a stray Dockerfile or an unsupported top-level build field, and flags secret-looking files (.env, *.pem, *.key, or a name containing “credentials”) — those are excluded from the package as well as warned about. Packages PATH deterministically (a repackage of the same tree yields an identical checksum), enforces the Python lock policy (a remote build requires a uv.lock or a pinned requirements.txt; a bare pyproject.toml is rejected), then creates a build job, uploads the bundle, and streams its progress to the terminal.
--dry-run stops after packaging and prints the plan: no build is created and no bytes
are uploaded. Public egress additionally performs an authenticated read-only ceiling validation.
--stage builds and registers the version, ready to start sessions, and enables it for
nobody: the tenant keeps the version it serves. Test it with tanomis eval ci, then
release it with tanomis agent promote, naming the version and the tenant.
| Flag | Type | Description |
|---|---|---|
--allow-unlocked |
bool | Not supported for a remote build: the build service requires a uv.lock or a pinned requirements.txt (using this flag now returns a clear error rather than failing the remote build). |
--build-profile |
string | Build profile (only python-managed is supported in v1). Default python-managed. |
--dry-run |
bool | Preflight and package without creating a build or uploading source; public egress validates the ceiling. |
--force-rebuild |
bool | Reserved for a future server-side build cache; currently a no-op. |
--name |
string | Agent name (default: agent.yaml’s name). |
--no-stream-logs |
bool | Disable streaming build events (poll for terminal status instead). |
--no-wait |
bool | Return immediately after the source uploads, without waiting for the build. |
--scope |
string | Registration scope: organization, workspace or platform (default: organization where the platform enables it, else workspace). |
--stage |
bool | Build and register the version without enabling it for the tenant (test it before release). |
--stream-logs |
bool | Stream build events to the terminal (default: on when stdout is a terminal). Default true. |
--tenants |
string | Platform deployment targets: all or a comma-separated tenant list (requires --scope platform). |
--version |
string | Version label (default: agent.yaml’s version). |
--wait |
bool | Wait for the build to reach a terminal status before exiting. Default true. |
Global flags
| Flag | Type | Description |
|---|---|---|
--config |
string | Config file path. |
--context |
string | Config context to use. |
-o, --output |
string | Output format: table|json. |
--tenant |
string | Tenant id (X-Tenant-ID). |
--verbose |
bool | Verbose output. |
Examples
Section titled “Examples”Validate the package locally without uploading anything:
tanomis agent deploy ./agents/support-copilot --tenant "$TANOMIS_TENANT" --dry-runBuild an immutable version and enable it for your tenant:
tanomis agent deploy ./agents/support-copilot --tenant "$TANOMIS_TENANT"