Skip to main content

Cloider CLI overview and first session

The Cloider CLI, cloider, does from a terminal what the Cloider dashboard does: it creates and manages Kubernetes clusters, databases, buckets, container registry projects, apps, domains, DNS records and support requests, and shows usage and billing. It is a single binary for macOS, Linux and Windows, built for people at a terminal, for shell scripts and CI pipelines, and for AI agents through its built-in MCP server.

At a glance​

What it isThe official command line tool for Cloider, a single binary named cloider
Installcurl -fsSL https://cloider.com/install.sh | sh on macOS and Linux, irm https://cloider.com/install.ps1 | iex in PowerShell on Windows. See Install
Log incloider login through the browser, or an API token in CLOIDER_TOKEN. See Authentication
Command shapecloider <noun> <verb> [arguments] [flags], for example cloider cluster create staging
OutputTables for people, -o json or -o yaml for scripts, -q for ids only. See Output and scripting
UpdatesInstalls new versions by itself, checked once a day. See Updating
AI agentscloider mcp serves every command as an MCP tool. See cloider mcp
CostFree. You pay only for the resources you create, as in the dashboard

How does the CLI work?​

The CLI is a client of the public Cloider REST API, the same API the dashboard uses. Each command maps onto one or a few API calls at https://cloider.com/api, authenticated with an API token that belongs to one account. Anything the CLI creates shows up in the dashboard straight away, and the other way around.

Commands follow a cloider <noun> <verb> pattern. The noun is the kind of resource (cluster, db, bucket, registry, app, domain, dns, target, support), and the verb is what to do with it (list, get, create, delete, and verbs of its own like pause, kubeconfig or logs). Most nouns also have a plural alias, so cloider clusters list works too, and most list commands also answer to ls.

cloider cluster list
cloider db create orders-db --engine postgresql
cloider bucket upload acme-assets ./public -r --prefix static/
cloider app logs blog -f

A few commands are top level verbs: cloider deploy, cloider login, cloider logout, cloider whoami, cloider usage, cloider billing, cloider pricing, cloider version, cloider update, cloider completion and cloider mcp.

Tour of the command groups​

cloider --help lists the commands in two groups, Account and Resources, plus a few additional commands. Each group has a full reference page:

CommandWhat it managesReference
cloider clusterServerless Kubernetes clusters: create, pause, resume, kubeconfig, a kubectl shell and execcluster
cloider dbManaged PostgreSQL, MySQL, MongoDB and Redis: create, connect, backups, restore, resize, trusted sources, SSL, insightsdb
cloider bucketS3 compatible object storage: buckets, files, versions, policies, lifecycle and CORS rules and access keysbucket
cloider registryThe container registry: projects, docker login, images, tokens, retention and immutabilityregistry
cloider appApps: create, logs, environment variables, build settings, builds, shell and execapp
cloider deployDeploys a directory as an app, creating the app the first timedeploy
cloider gitGitHub, GitLab and Bitbucket connections apps deploy fromgit
cloider domainFree subdomains and custom domainsdomain
cloider dnsDNS records of custom domainsdns
cloider targetRoutes from a domain's paths to apps or cluster servicestarget
cloider supportSupport requests: open, reply, download attachmentssupport
cloider usage, billing, pricing, member, token, whoamiCosts, bills, prices, who has access, API tokens, the current identityaccount
cloider login, logout, profileLogging in and switching between accountsauth and profiles
cloider version, update, completionThe CLI itselftooling
cloider mcpAn MCP server for AI agentsmcp

Every command and subcommand is listed on one page in the command reference.

What can't the CLI do?​

Two things are deliberately left to the dashboard, so that a leaked token can't hand out more access:

  • Members and roles. cloider member list shows who has access, but member add, member role and member remove only print a link to Access Control in the dashboard.
  • API tokens. cloider token list shows the tokens, but token create and token revoke only print a link. cloider logout revokes the CLI's own token.

Connecting a git provider (cloider git connect) also finishes in the browser, because GitHub, GitLab and Bitbucket ask you to approve the connection there.

A first session​

This walk through takes you from nothing to a running Kubernetes cluster and a deployed app. It takes about five minutes.

1. Install the CLI. On Windows, run irm https://cloider.com/install.ps1 | iex in PowerShell instead, see Install.

curl -fsSL https://cloider.com/install.sh | sh
Output
Downloading cloider 0.6.0 for darwin/arm64
Installed cloider 0.6.0 to /usr/local/bin/cloider
Get started with: cloider login

2. Log in. Your browser opens; pick the account and Read and write, then click Authorize CLI.

cloider login
Output
Opening the browser to log in. If it doesn't open, visit:
https://cloider.com/cli/login?host=janes-macbook&port=53817&state=4qX0...
✓ Logged in as jane@example.com in account jane@example.com (Read & Write)

3. Check who you are.

cloider whoami
Output
User: jane@example.com
Account: jane@example.com
Role: Owner
Access: Read & Write
Token: Cloider CLI on janes-macbook
Profile: default
API: https://cloider.com/api
Token from: profile default (/Users/jane/.cloider/token)

4. Create a Kubernetes cluster and wait until it is ready. Without --version you get the newest Kubernetes version offered.

cloider cluster create staging --wait
Output
✓ Creating cluster staging (Kubernetes 1.34)
✓ Cluster staging is ready. Get its kubeconfig with `cloider cluster kubeconfig staging --merge`.

5. Point kubectl at it. --merge --use adds the cluster to ~/.kube/config as the context cloider-staging and switches to it.

cloider cluster kubeconfig staging --merge --use
kubectl get namespaces
Output
✓ Added context cloider-staging to /Users/jane/.kube/config
NAME STATUS AGE
default Active 2m
kube-node-lease Active 2m
kube-public Active 2m
kube-system Active 2m

6. Deploy an app from a project directory. The first deploy detects the language, framework and port, creates the app, claims a free subdomain, links the directory to the app, streams the build and prints the URL.

cd ~/code/blog
cloider deploy
Output
Packaged 37 files (84.2 KB)
Detected JavaScript Next.js
✓ Created app blog on port 3000
Linked . to blog in .cloider/app.json, later deploys from here update it.
...build output...
✓ Deployed version 1 of blog
https://blog-k3m9.cloider.app

Run cloider deploy again after changing the code, and it builds version 2 of the same app.

7. Look at what you have and what it costs.

cloider cluster list
cloider app list
cloider usage
Output
NAME VERSION STATUS CREATED
staging 1.34 Ready 2026-10-20 09:14

NAME STATUS VERSION URL CREATED
blog Ready 1 https://blog-k3m9.cloider.app 2026-10-20 09:21

NAME KIND STATUS MONTH TO DATE FORECAST THIS MONTH
staging cluster Ready $0.04 $2.31
blog app Ready $0.01 $0.87
Total $0.05 $3.18

8. Clean up when you are done. Deleting asks you to type the name back, unless you pass --yes.

cloider app delete blog
cloider cluster delete staging --wait
Output
This permanently deletes cluster staging.
Type staging to confirm: staging
✓ Deleting cluster staging
✓ Cluster staging is deleted

How do commands name resources?​

Commands take a resource by its name, its label or its id, whichever you have at hand:

cloider cluster get staging # by name
cloider cluster get k3m9x2p7q1 # by id
  • The id is the short random string Cloider gives every resource (the hashed_id field in the API). It never changes and never clashes. Tables hide ids; -o wide shows them.
  • The name (and the label, where a resource has both) is what you typed when you created it, as the dashboard shows it. A name is matched exactly first, then without regard to case.
  • If two resources share a name, the command stops and lists them with their ids, so you can pick one. It exits with code 2:
Error: 2 clusters are named "staging", pick one by id:
staging, staging (id k3m9x2p7q1)
staging-1, staging (id p8d2w4n6r0)
  • A name nothing has fails with no cluster named "stagin" and exit code 4.

Buckets and registry projects are named by their unique name or id; domains by their domain name. Details are in Output and scripting.

Getting help in the terminal​

Every command has built-in help with its arguments, flags and examples:

cloider --help
cloider db --help
cloider db create --help
cloider help db create # the same

Wrong or missing arguments are explained with the command's usage line:

Error: missing <name>, usage: cloider cluster create <name>

Turn on shell completion to complete commands and flags with the Tab key.

Global flags in one minute​

These flags work on every command. The full list, with environment variables, is in Configuration.

FlagWhat it does
-o, --outputtable (default), wide (adds ids), json or yaml
-q, --quietPrint only ids or names, one per line
--no-headersTables without the header row
-y, --yesDon't ask for confirmation
--profileUse another profile (account)
--token-fileRead the API token from a file
--api-urlTalk to another API URL
--no-colorNo colors
--debugLog every API request to stderr, never the token

Next steps​

Frequently asked questions

What is the Cloider CLI?

cloider is the official command line tool for Cloider. It manages Kubernetes clusters, databases, buckets, container registry projects, apps, domains, DNS records, support requests, usage and billing from a terminal, using the same REST API as the dashboard.

How do I install the Cloider CLI?

On macOS and Linux run curl -fsSL https://cloider.com/install.sh | sh. On Windows run irm https://cloider.com/install.ps1 | iex in PowerShell.

Is the CLI free?

Yes. The CLI itself costs nothing. You pay only for the resources you create with it, exactly as if you created them in the dashboard.

Can I use the CLI in CI/CD pipelines?

Yes. Set the CLOIDER_TOKEN environment variable to an API token, use -o json for machine readable output, pass --yes to skip confirmations and --wait to wait for changes to finish. Commands never prompt without a terminal.

Can I manage members and API tokens with the CLI?

You can list them with cloider member list and cloider token list. Adding members, changing roles, creating and revoking tokens are done in the dashboard only, so a leaked token can't grant more access.

How do I deploy an app with the CLI?

Run cloider deploy in the project directory. The first deploy detects the language, framework and port, creates the app, claims a free subdomain and links the directory, later deploys build a new version of the same app.

Can AI agents use the Cloider CLI?

Yes. cloider mcp starts a Model Context Protocol server that offers the CLI's commands as tools to Claude, Cursor, VS Code and other MCP clients, acting with the CLI's login.