# nevia

> Manage computers and managed databases from the terminal

> Nevia is in beta and open to selected teams. Public launch in Dec 2026. The CLI installs with `curl -fsSL https://get.nevia.cloud | sh`, and the MCP server is at https://api.nevia.cloud/mcp. A person signs in once in the browser.
> Setup, sign-in and requesting access: [SKILL.md](https://nevia.cloud/SKILL.md). When Nevia fits and when it doesn't: [why.md](https://nevia.cloud/why.md).

> For the complete documentation index, see [llms.txt](https://nevia.cloud/llms.txt). This page's HTML version: https://nevia.cloud/docs/reference/cli

**Version:** 0.1.7

The workspace comes from --workspace, NEVIA\_WORKSPACE, the nearest .nevia.toml, then your config. `nevia config` shows each value and where it came from.

Exit codes, one per class of failure (`--json` errors carry the same number as `error.exit_code`):

* 0  success
* 1  error: an operation failed or the response was unexpected
* 2  unauthorized: sign in again with `nevia login`
* 3  not found: no resource by that name in the workspace
* 4  forbidden: your role does not allow it
* 5  conflict: check the resource's state, then retry
* 6  retryable: the service was busy or unreachable, or --timeout ran out
* 7  invalid request: fix the flags or arguments
* 8  state: no credential or configuration, before any request

`nevia exec` exits with the remote command's status instead.

`nevia [FLAGS] <SUBCOMMAND>`

### Global options

* `--workspace <WS>` - Workspace ID or exact name
* `--json` - Print JSON on supported commands
* `--non-interactive` - Never prompt, launch a browser, or open an interactive session
* `-y, --yes` - Skip confirmations and install updates without asking

### Options

* `-h, --help` - Print help
* `-V, --version` - Print version

### Subcommands

* [`nevia login [--no-browser]`](https://nevia.cloud/docs/reference/cli/login.md)
* [`nevia logout`](https://nevia.cloud/docs/reference/cli/logout.md)
* [`nevia whoami`](https://nevia.cloud/docs/reference/cli/whoami.md)
* [`nevia config`](https://nevia.cloud/docs/reference/cli/config.md)
* [`nevia workspace <SUBCOMMAND>`](https://nevia.cloud/docs/reference/cli/workspace.md)
* [`nevia workspace create [--use] [--idempotency-key <KEY>] [NAME]`](https://nevia.cloud/docs/reference/cli/workspace/create.md)
* [`nevia workspace ls`](https://nevia.cloud/docs/reference/cli/workspace/ls.md)
* [`nevia workspace get [WS]`](https://nevia.cloud/docs/reference/cli/workspace/get.md)
* [`nevia workspace rm [--wait] [--timeout <DURATION>] [WS]`](https://nevia.cloud/docs/reference/cli/workspace/rm.md)
* [`nevia workspace use [--local] [--unset] [WS]`](https://nevia.cloud/docs/reference/cli/workspace/use.md)
* [`nevia workspace current`](https://nevia.cloud/docs/reference/cli/workspace/current.md)
* [`nevia access <SUBCOMMAND>`](https://nevia.cloud/docs/reference/cli/access.md)
* [`nevia access ls [WS]`](https://nevia.cloud/docs/reference/cli/access/ls.md)
* [`nevia access add [FLAGS] [WHO]`](https://nevia.cloud/docs/reference/cli/access/add.md)
* [`nevia access get <WHO>`](https://nevia.cloud/docs/reference/cli/access/get.md)
* [`nevia access set [FLAGS] <WHO>`](https://nevia.cloud/docs/reference/cli/access/set.md)
* [`nevia access rm <WHO>`](https://nevia.cloud/docs/reference/cli/access/rm.md)
* [`nevia access keys <SUBCOMMAND>`](https://nevia.cloud/docs/reference/cli/access/keys.md)
* [`nevia access keys rotate [FLAGS] <WHO>`](https://nevia.cloud/docs/reference/cli/access/keys/rotate.md)
* [`nevia access keys rm <WHO>`](https://nevia.cloud/docs/reference/cli/access/keys/rm.md)
* [`nevia access invites <SUBCOMMAND>`](https://nevia.cloud/docs/reference/cli/access/invites.md)
* [`nevia access invites ls [--state <STATE>] [--limit <LIMIT>] [WS]`](https://nevia.cloud/docs/reference/cli/access/invites/ls.md)
* [`nevia access invites rm [WS] <INV>`](https://nevia.cloud/docs/reference/cli/access/invites/rm.md)
* [`nevia new [FLAGS] [NAME]`](https://nevia.cloud/docs/reference/cli/new.md)
* [`nevia ls [-f --filter <KEY=VALUE>]`](https://nevia.cloud/docs/reference/cli/ls.md)
* [`nevia status [COMPUTER]`](https://nevia.cloud/docs/reference/cli/status.md)
* [`nevia set [FLAGS] [COMPUTER]`](https://nevia.cloud/docs/reference/cli/set.md)
* [`nevia rm [--wait] [--timeout <DURATION>] [COMPUTER]`](https://nevia.cloud/docs/reference/cli/rm.md)
* [`nevia suspend [--wait] [--timeout <DURATION>] [COMPUTER]`](https://nevia.cloud/docs/reference/cli/suspend.md)
* [`nevia awake [--wait] [--timeout <DURATION>] [COMPUTER]`](https://nevia.cloud/docs/reference/cli/awake.md)
* [`nevia branch [FLAGS] [NAME]`](https://nevia.cloud/docs/reference/cli/branch.md)
* [`nevia images`](https://nevia.cloud/docs/reference/cli/images.md)
* [`nevia exec [FLAGS] [COMPUTER] [-- CMD]…`](https://nevia.cloud/docs/reference/cli/exec.md)
* [`nevia checkpoint <SUBCOMMAND>`](https://nevia.cloud/docs/reference/cli/checkpoint.md)
* [`nevia checkpoint create [FLAGS]`](https://nevia.cloud/docs/reference/cli/checkpoint/create.md)
* [`nevia checkpoint ls [-c --computer <COMPUTER>] [--state <STATE>]`](https://nevia.cloud/docs/reference/cli/checkpoint/ls.md)
* [`nevia checkpoint status [-c --computer <COMPUTER>] <CHECKPOINT>`](https://nevia.cloud/docs/reference/cli/checkpoint/status.md)
* [`nevia checkpoint rm [FLAGS] <CHECKPOINT>`](https://nevia.cloud/docs/reference/cli/checkpoint/rm.md)
* [`nevia restore [FLAGS] <CHECKPOINT>`](https://nevia.cloud/docs/reference/cli/restore.md)
* [`nevia ops [-f --filter <KEY=VALUE>] [-n --limit <N>]`](https://nevia.cloud/docs/reference/cli/ops.md)
* [`nevia wait [--timeout <DURATION>] <OPERATION>`](https://nevia.cloud/docs/reference/cli/wait.md)
* [`nevia pg <SUBCOMMAND>`](https://nevia.cloud/docs/reference/cli/pg.md)
* [`nevia pg create [FLAGS] [NAME]`](https://nevia.cloud/docs/reference/cli/pg/create.md)
* [`nevia pg ls [-f --filter <KEY=VALUE>]`](https://nevia.cloud/docs/reference/cli/pg/ls.md)
* [`nevia pg status [DATABASE]`](https://nevia.cloud/docs/reference/cli/pg/status.md)
* [`nevia pg set [--name <NAME>] [--protected <BOOL>] [DATABASE]`](https://nevia.cloud/docs/reference/cli/pg/set.md)
* [`nevia pg rm [--wait] [--timeout <DURATION>] [DATABASE]`](https://nevia.cloud/docs/reference/cli/pg/rm.md)
* [`nevia pg branch [FLAGS] [DATABASE]`](https://nevia.cloud/docs/reference/cli/pg/branch.md)
* [`nevia pg connect [FLAGS] [DATABASE]`](https://nevia.cloud/docs/reference/cli/pg/connect.md)
* [`nevia pg reset-password [DATABASE]`](https://nevia.cloud/docs/reference/cli/pg/reset-password.md)
* [`nevia pg suspend [--wait] [--timeout <DURATION>] [DATABASE]`](https://nevia.cloud/docs/reference/cli/pg/suspend.md)
* [`nevia pg awake [--wait] [--timeout <DURATION>] [DATABASE]`](https://nevia.cloud/docs/reference/cli/pg/awake.md)
* [`nevia secrets [--file <PATH>] [NAME] [SUBCOMMAND]`](https://nevia.cloud/docs/reference/cli/secrets.md)
* [`nevia secrets ls`](https://nevia.cloud/docs/reference/cli/secrets/ls.md)
* [`nevia secrets unset <NAME>…`](https://nevia.cloud/docs/reference/cli/secrets/unset.md)
* [`nevia variables [--value <TEXT>] [--file <PATH>] [NAME] [SUBCOMMAND]`](https://nevia.cloud/docs/reference/cli/variables.md)
* [`nevia variables ls`](https://nevia.cloud/docs/reference/cli/variables/ls.md)
* [`nevia variables unset <NAME>…`](https://nevia.cloud/docs/reference/cli/variables/unset.md)
* [`nevia variables .env <-f --file <PATH>>`](https://nevia.cloud/docs/reference/cli/variables/dotenv.md)
* [`nevia update [--dry-run] [VERSION]`](https://nevia.cloud/docs/reference/cli/update.md)
* [`nevia auth <SUBCOMMAND>`](https://nevia.cloud/docs/reference/cli/auth.md)
* [`nevia auth access-token`](https://nevia.cloud/docs/reference/cli/auth/access-token.md)
* [`nevia auth use-key-file [--local] [--unset] [FILE]`](https://nevia.cloud/docs/reference/cli/auth/use-key-file.md)
