Agents and CLI

The aria command line

Install the aria CLI and use it: sign in, link a repository, deploy, check, read logs, manage variables and databases. Every command and flag.

Updated Markdown

In this page
  1. How do I install it?
  2. How do I sign in?
  3. How do I connect a repository?
  4. What commands are there?
  5. What does deploying look like?
  6. What waits for my approval?
  7. How do agents use the CLI?
  8. What are the exit codes?

The aria command line deploys and runs your app from a terminal. Install it with one command, sign in with a code you confirm in Aria, and from then on aria deploy, aria status, aria check and aria logs do what the dashboard does. It needs Node.js 22 or newer.

How do I install it?

Terminal
curl -fsSL https://api.getaria.cloud/v1/downloads/cli/install.sh | sh

The script checks your Node.js version, downloads the CLI, verifies its checksum, installs it as ~/.aria/bin/aria and remembers which Aria it came from. If ~/.aria/bin is not on your PATH, the script prints the line to add. Check it with:

Terminal
aria --version

How do I sign in?

Terminal
aria login

The terminal shows a code. Confirm it in Aria, on the web or in the app, and choose which workspace and project the terminal can reach. You never type a password into the terminal. Useful options:

  • --no-browser prints the code and the link without opening a browser.
  • --app confirms the code in the Mac app instead of the browser.
  • --name NAME names this terminal in your list of keys.

aria whoami shows who and what the terminal is signed in to. aria logout signs out and revokes the terminal’s access.

How do I connect a repository?

Terminal
aria link
aria init

aria link chooses which project this repository deploys to and writes .aria/link.json at the repository root. aria init does that if needed, then installs the Aria skill for your agent into .claude/skills/aria/SKILL.md, adds or refreshes an Aria section in AGENTS.md, and connects Claude Code over MCP. Running it twice changes nothing. Options are --no-mcp and --reconnect.

To connect a different agent:

Terminal
aria mcp add --agent codex

See Connect a coding agent. Inside the Mac app and the web dashboard you can do most of this by asking Aria AI.

What commands are there?

Command What it does
aria login [--no-browser] [--app] [--name NAME], logout, whoami Sign in, sign out, show who you are.
aria link [--workspace NAME] Choose the project this repository deploys to.
aria init [--no-mcp] [--reconnect] Install the Aria skill, update AGENTS.md, connect MCP.
aria mcp add --agent AGENT Add Aria to claude-code, codex, gemini-cli, antigravity, cursor or other. Options: --app wsp_…, --can LIST, --no-browser, --in-app.
aria deploy [SERVICE] [--wait] Apply aria.yaml, or deploy one service.
aria status List services with their status and addresses.
aria check Check every service, database, migration, Supabase part and domain. Exits 1 if anything fails.
aria logs [SERVICE] [--follow] [--lines N] Show recent output. N is 1 to 2000, default 200.
aria open [SERVICE] Open the service’s web address.
aria env ls List variables, their sources and whether they are set.
aria env add NAME [--service SVC] [--stdin] Set a value with hidden input.
aria env import FILE [--yes] [--no-deploy] Send a .env file’s values to Aria. Prints names only.
aria env rm NAME [--service SVC] Remove a value you set.
aria env pull [--file F] [--service SVC] Write values to a local file, after you approve it in Aria.
aria db url [--database NAME] [--ttl MIN] [--read-only] [--owner] A temporary database login, after you approve it.
aria db migrate FILE [--database NAME] [--name N] Run a SQL file once, after you approve it.

Options on every command:

Option What it does
--workspace NAME The project to act on. The default is the repository’s link.
--api URL The Aria API to talk to. The default is the repository’s link, then the one you installed from.
--json Machine-readable output.
-h, --help Show help.
-v, --version Show the version.

What does deploying look like?

Terminal
aria deploy --wait

This applies aria.yaml to the whole project and follows each step until it finishes. Without --wait it prints an operation id and returns. If aria.yaml changed since the last deploy, aria status tells you. Once the app is live, pushing to GitHub deploys the services your commit touched.

Terminal
aria deploy web
aria logs web --follow

What waits for my approval?

Some commands ask for your approval in the Aria app, and wait until you give it: aria env pull, aria db url and aria db migrate. They reveal secrets or change data, and an agent can drive a terminal, so a typed confirmation in the terminal is not enough. Secret values are typed by a person: aria env add refuses to run without a person at the keyboard unless you pass --stdin.

How do agents use the CLI?

Add --json to get output a program can read. aria check --json exits 1 when something fails, which makes it easy to use in a loop that fixes things. aria env import prints names, never values, so it is safe for an agent to run with your approval.

What are the exit codes?

0 means success. 1 means a failure, including aria check finding a failing check. 2 means a usage error, such as a missing argument.

Account · Terms

We’ve updated our terms.

Please read and accept the current terms of service and privacy policy to keep using Aria.