polpo <command> --help for the installed build’s authoritative option list.
Cloud project setup
polpo create
empty, chat, chat-widget, and multi-agent. Scenario IDs are none, data-analyst, marketing-researcher, and product-manager. Skill scope is global, project, or skip.
polpo link
Links a directory, pulls the project resources, writes .polpo/project.json, and creates local environment configuration.
polpo migrate
Converts legacy aggregate project files to the directory-based project layout. Migration is explicit: normal CLI and runtime operations continue to read legacy projects without rewriting them.
--dry-run first to validate every agent, team, and destination path. A successful migration writes one directory per agent and one file per team, moves a legacy polpo.json config to project.json when present, and retains the original aggregate files as *.v1.json backups.
polpo install
claude-code, cursor, codex, copilot, windsurf, cline, trae, roo-code, qoder, and opencode.
Authentication
Deployment
polpo deploy synchronizes the local .polpo/ project to Cloud, including agents, teams, skills, runtime hook packs, memory, missions, playbooks, schedules, vault metadata, loop definitions, custom tools, and avatars when present.
--all imports tasks and sessions. There is no run-history deploy option.
--force overrides supported remote resources without prompting.
Project commands default to Development on every invocation. Use --prod
or --env production explicitly for Production. The target is not persisted in
.polpo/project.json, and --prod --env development is rejected. The same
environment options apply to tools, Connections, Channels, volumes, Memory,
BYOK, Data, status, logs, and skill commands that deploy.
Custom tools
Custom tools are TypeScript files that default-exportdefineTool(...).
run --args must be a JSON object. rm and remove are aliases.
Runtime hooks
.polpo/hooks/<name>.json; the filename and pack name must match.
polpo deploy validates and uploads packs before the agents that reference them.
Active Run steering
steer submits a durable instruction for the next safe agent boundary. follow_up
waits until the Run would otherwise finish. Reuse --id when retrying an uncertain
request, then inspect whether delivery became delivered, too_late, cancelled,
or failed with steering get.
Connections
Sandbox volumes
--env <development|production> and --prod.
The catalog defines the maximum volume policy. A grant can only preserve or
narrow that policy. Runtime sandbox.volumes selections may narrow it again,
but cannot create a volume, add a grant, change its mount path, or widen access.
Deletion and revocation require confirmation; use --yes only in deliberate
non-interactive automation.
Agentic loops
validate checks JSON and TypeScript definitions under .polpo/loops. compile emits canonical loop JSON; --out is valid only when compiling one source file.
BYOK
Projects and organizations
Cloud monitoring
Local runtime
The OSS CLI also exposes local project operations:Update
update and upgrade are aliases.
Application databases
create accepts {name,schema}. execute accepts {operations,idempotencyKey?}.
query accepts {sql,params?,mode?,maxRows?,idempotencyKey?}; the default mode is
read and writes require "mode":"write". migrate is additive and accepts
{expectedVersion,schema}. migrate-sql accepts
{id,expectedVersion,statements:[{sql,params?}],allowDestructive?}.
Schema administration requires manage access. Data uses the same selected
project environment and the same Polpo key as the other runtime APIs. Commands
default to Development; use --prod or --env production for Production.
polpo deploy and polpo pull do not execute database migrations.
For a self-hosted endpoint, set POLPO_API_KEY and pass
--url http://localhost:3890/api. See Databases for SQL
coverage, grants and request/result limits.