> For the complete documentation index, see [llms.txt](https://docs.stg.ai.neevcloud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stg.ai.neevcloud.com/getting-started/neev-cli.md).

# NeevCloud CLI

`neev-cli` is the command-line interface for NeevCloud. Use it to sign in, choose the organization and project you are working in, and manage sandboxes from a terminal or CI.

## Install

### macOS and Linux

```bash
curl -fsSL https://raw.githubusercontent.com/NeevCloudAI/neev-cli/main/install.sh | sh
```

The script detects your operating system and architecture, downloads the matching release archive, verifies its checksum, and installs `neev-cli` to `/usr/local/bin` — or `~/.local/bin` if that is not writable.

Pin a version, or change where it installs:

```bash
curl -fsSL https://raw.githubusercontent.com/NeevCloudAI/neev-cli/main/install.sh | NEEV_CLI_VERSION=v0.8.1 sh
curl -fsSL https://raw.githubusercontent.com/NeevCloudAI/neev-cli/main/install.sh | NEEV_CLI_INSTALL_DIR="$HOME/bin" sh
```

### Windows

There is no install script for Windows. Download `neev-cli_windows_amd64.zip` (or `neev-cli_windows_arm64.zip`) from the [latest release](https://github.com/NeevCloudAI/neev-cli/releases/latest), extract it, and add the folder to your `PATH`.

### Verify

```bash
neev-cli version
```

## Sign In

Sign in once with a Personal Access Token, which you mint in the console. Input is hidden when you are on a terminal.

```bash
neev-cli auth login
neev-cli auth status      # exits non-zero when signed out
neev-cli auth logout
```

For scripts and CI, avoid the interactive prompt:

```bash
echo "$NEEV_API_TOKEN" | neev-cli auth login --token-stdin
```

Or skip signing in and authenticate a single command through the environment:

```bash
export NEEV_API_TOKEN="pat-nc-..."
neev-cli org list
```

There is deliberately no flag that takes a token directly. A secret on the command line leaks into your shell history and the process list — use the prompt, `--token-stdin`, or the environment.

### You Do Not Have to Sign In

Signing in saves a session so you can stop thinking about credentials. It is a convenience, not a requirement. `NEEV_API_TOKEN` takes precedence over any saved session, so with it set every command works on its own — no session, no state on disk.

That is the right approach for CI, containers, and anywhere without an interactive terminal to type into:

```bash
export NEEV_API_TOKEN="pat-nc-..."
neev-cli sandbox list --org-id <org-id> --project-id <project-id>
```

Without a saved session there is no current context either, so pass `--org-id` and `--project-id` explicitly on each command. Discover them with `neev-cli org list` and `neev-cli project list`, which work the same way off the environment variable.

## Choose an Organization and Project

Most commands need both. A context saves the pair so you stop passing flags.

```bash
neev-cli context list                            # organizations and projects you can use
neev-cli context set dev <org-id> <project-id>   # save it and make it current
neev-cli context current
neev-cli context use <name>
```

An explicit `--org-id` or `--project-id` always overrides the current context.

## Two Credentials

The CLI uses two credentials that are not interchangeable. The Personal Access Token covers your account — which organizations and projects exist, plus billing and AI runtime. The API key (`sk-nc-…`) covers sandboxes themselves.

```bash
export NEEV_API_KEY="sk-nc-..."   # needed for sandbox work
neev-cli sandbox list
```

See [Connecting to a Sandbox](/agentic-studio/overview/development-and-connectivity/connecting-to-a-sandbox.md) for the full explanation.

If you set only the API key, sandbox commands work but account commands fail:

```
Error: HTTP 401 ... {"code":"unauthorized","message":"missing authorization header"}
```

The message says "missing" because the API key is never sent to the account service — it is not a credential there. Set `NEEV_API_TOKEN`, or sign in, to use `org`, `project`, `context`, and `billing`.

## Common Commands

```bash
neev-cli sandbox create
neev-cli sandbox list
neev-cli sandbox pause <id>
neev-cli sandbox resume <id>
neev-cli sandbox delete <id>

neev-cli sandbox exec --sandbox-id <id> -- python --version
neev-cli sandbox fs write --sandbox-id <id> --path src/app.py --in ./app.py
neev-cli sandbox fs list --sandbox-id <id> --path src
neev-cli sandbox process start --sandbox-id <id> -- npm run dev
```

Run `neev-cli --help`, or `--help` on any subcommand, for the full list.

## Setting Up with a Coding Agent

If you would rather have your coding agent install and configure this for you, see [Set Up with Your Coding Agent](/agentic-studio/overview/development-and-connectivity/agent-onboarding.md).
