loomctl

Every loomctl command, grouped by what it does, with its main flags.

loomctl is Loomplane's command-line client and MCP server. It calls the API with an API key through pkg/client, so anything it does, a script can do the same way. Run loomctl --help, or loomctl <command> --help, for the flags on your version.

Install

brew install xraph/tap/loomctl

You can also install it from the xraph Scoop bucket, or unpack a release archive. To build from source, make build-cli writes bin/loomctl.

Connect to Loomplane

loomctl finds the server and key in LOOMPLANE_URL and LOOMPLANE_API_KEY, which suit CI, or in the file loomctl login writes (loomctl.json under loomplane in your user config directory, readable only by you). The environment wins over the saved login.

CommandWhat it does
login --url URL --key KEYChecks the key and saves where Loomplane is. --key - reads the key from standard input
logoutForgets the saved key. It still works until you revoke it
whoami [--json]Who the key acts as and what it may do

Projects and analysis

CommandWhat it does
projects [--json]Lists the organization's projects
projects create NAME --repo REPOCreates a project. Repeat --repo for each repository, and write alias=repository to name one
analyze PROJECT [--source ALIAS] [--ref REF] [--no-wait]Reads a project's repositories. --source is repeatable. --ref is a branch, tag or commit for one repository
manifest PROJECT [--draft]Prints the saved loomplane.yaml, or a draft from the latest analysis
manifest save PROJECT [-f FILE]Saves a new revision. The file defaults to loomplane.yaml, and - reads standard input
vars PROJECT [--json]Lists variables. Secrets show no value
vars set PROJECT KEY=VALUE [--env E] [--service S] [--secret]Sets a variable. KEY=- reads the value from standard input

Plans and deployments

CommandWhat it does
plan PROJECT [--env production] [--scope ALIAS] [--catalog] [--no-wait] [--json]Plans a manifest for an environment. --scope is repeatable. --catalog plans standalone resources
plans PROJECT [--json]Lists a project's plans
show PLAN_ID [--json]Shows what a plan would do and anything in the way
approve PLAN_ID [--yes] [--note TEXT] [--no-wait]Approves a plan, which deploys it, and follows the deployment
reject PLAN_ID [--note TEXT]Rejects a plan
deployments PROJECT [--json]Lists a project's deployments
deployment ID [--watch] [--json]Shows a deployment step by step. --watch follows it
retry DEPLOYMENT_ID [--no-wait]Retries a failed deployment from the step that failed
status PROJECT [--json]What runs each service and resource, with addresses and drift

Database services and recovery

CommandWhat it does
services create NAME --target CONN [--kind K] [--provider P] [--region R] [--env E] [--json]Plans a standalone database service. --kind is postgres (default), mysql, mariadb, redis or valkey. --provider is server (default), kubernetes, rds or cloud-sql
services add PROJECT_ID --kind K --name RESOURCE --target CONN [--provider P] [--version V] [--env E]Plans a catalog service added to an existing project (server or kubernetes)
backups PROJECT, backups show ID, backups create PROJECT --resource NAME, backups retry IDList, read, create and retry backups. create takes --env and --request-id
backups policy PROJECT --resource NAME --every-hours N [--disable], backups policies PROJECTSet and list backup schedules
backups retention ID, backups retire ID, retirements ...Preview and run retention. retirements, retirements show, retirements history, retirements retry follow them
backups retention-policy, retention-set, retention-history, retention-pauseAutomatic deletion policy
backups native-sources, native-inventory, native-refreshNative cloud snapshot history
backups native-copies review, create, show, cleanupNative recovery copies
restores PROJECT, restores create BACKUP_ID, restores show ID, restores delete ID --yesIsolated test restores
storage CONNECTION_ID [--json]Read-only storage inventory

Recovery commands that wait take --wait and --timeout (45 minutes by default, and it must be positive), plus --json.

Clouds, targets and infrastructure

CommandWhat it does
clouds [PROJECT] [--organization], clouds create, show, update, deleteManage Clouds. With --organization no project argument is needed
clouds assignment, assign, switch-defaultAssign a Cloud to an environment and change its default placement
cloud-targets, show, create, update, delete, switchManage targets within a Cloud
cloud-grants CLOUD, grant CLOUD PROJECT [--targets IDS], revoke CLOUD PROJECTProject access to a Cloud
cloud-syncs, show, wait, retry, revert, routing, applyFollow and recover a placement change
cloud-servers CLOUD, options, check, usage, preview, apply, drain, operations, show, retry, cancelServers inside an organization Cloud
cloud-pools CLOUD, save, move, recoverServer pools
dns-zones, create, update, verify, remove, projectOrganization DNS zones
domain-routes PROJECT, preview, apply, show, retry, verify, remove, ttl, historyDomain routes

Most of these review before they act and apply only with --yes. Many take --wait, --timeout and --request-id. Cloud targets, Adopting and moving services and Your own servers show them in context.

AI agents

CommandWhat it does
mcp [--allow-deploy]Serves Loomplane's tools over MCP on standard input and output. --allow-deploy also offers approve_plan and retry_deployment. See MCP server

Server commands

The loomplane binary has its own commands, run with the same configuration the server runs with:

CommandWhat it does
loomplane (also serve, start, run)Serves the API and dashboard
loomplane infoPrints name, version and environment
loomplane extensionsLists registered extensions
loomplane backup --out FILEBacks up the database to a file. backup inspect FILE reads it
loomplane restore FILE [--force]Restores a backup into an empty database
loomplane migrationsShows applied and pending migrations
loomplane migrateApplies pending migrations

loomplane-worker runs repository analysis. loomplane-agent is the federation destination agent, which isn't ready for production.

On this page