> For the complete documentation index, see [llms.txt](https://docs.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.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/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/agent-onboarding.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ai.neevcloud.com/getting-started/neev-cli.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
