> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notte.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI

> Drive Notte browser sessions, functions, and vaults from your terminal

<Tip>
  Read [the Notte skill](https://notte.cc/skill.md) and follow its setup instructions when setting up Notte or building browser automation. This is the shared source for CLI setup, authentication, and the browser-to-code workflow.
</Tip>

The [Notte CLI](https://github.com/nottelabs/notte-cli) gives you every Notte resource from the command line. Pair it with shell scripts, CI pipelines, or coding agents.

## Installation

```bash theme={null}
# Install script (macOS and Linux)
curl -fsSL https://notte.cc/install-cli.sh | sh

# Homebrew
brew tap nottelabs/notte-cli https://github.com/nottelabs/notte-cli.git
brew install notte

# Go
go install github.com/nottelabs/notte-cli/cmd/notte@latest
```

Verify the installation:

```bash theme={null}
notte version
```

## Authentication

The CLI reads your API key from, in order: the `NOTTE_API_KEY` environment variable, the system keyring (set by `notte auth login`), then `~/.notte/cli/config.json`. See [Authentication](/api-reference/authentication) to get a key.

```bash theme={null}
export NOTTE_API_KEY=your_api_key_here
# or, for local development
notte auth login
```

## Commands

<Columns cols={2}>
  <Card icon="key" title="Auth" href="/cli-reference/auth">
    Manage authentication
  </Card>

  <Card icon="file" title="Files" href="/cli-reference/files">
    Manage stored files
  </Card>

  <Card icon="code" title="Functions" href="/cli-reference/functions">
    Manage functions
  </Card>

  <Card icon="hand-pointer" title="Page" href="/cli-reference/page">
    Execute page actions (syntactic sugar for sessions execute)
  </Card>

  <Card icon="credit-card" title="Payment" href="/cli-reference/payment">
    Request a temporary card for a browser session
  </Card>

  <Card icon="user" title="Personas" href="/cli-reference/personas">
    Manage personas
  </Card>

  <Card icon="fingerprint" title="Profiles" href="/cli-reference/profiles">
    Manage browser profiles
  </Card>

  <Card icon="browser" title="Sessions" href="/cli-reference/sessions">
    Manage browser sessions
  </Card>

  <Card icon="robot" title="Skill" href="/cli-reference/skill">
    Manage Notte skills for AI coding assistants
  </Card>

  <Card icon="network-wired" title="Tunnel" href="/cli-reference/tunnel">
    Route sessions through this machine's internet connection
  </Card>

  <Card icon="chart-line" title="Usage" href="/cli-reference/usage">
    Show API usage statistics
  </Card>

  <Card icon="lock" title="Vaults" href="/cli-reference/vaults">
    Manage vaults
  </Card>

  <Card icon="terminal" title="Other commands" href="/cli-reference/other">
    `clear`, `health`, `search`, `version`
  </Card>
</Columns>

## Global flags

These flags work with every command.

| Flag | Description |
| - | - |
| `--no-color` | Disable color output |
| `--output <string>`, `-o` | Output format (text, json) (default: `text`) |
| `--timeout <int>` | API request timeout in seconds (default: `60`) |
| `--verbose`, `-v` | Verbose output |
| `--yes`, `-y` | Skip confirmation prompts |

## JSON output

Commands that return data accept `--output json` (or `-o json`) for machine-readable output. Commands that wrap another tool, such as `skill add`, print that tool's output as is:

```bash theme={null}
notte sessions start -o json
notte functions list -o json
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.