# Arcjet CLI

The Arcjet CLI gives you terminal access to the
[Arcjet](https://arcjet.com) security platform. Manage your sites,
inspect traffic, and configure security rules — directly from the command line
or through AI coding agents.

See the [Arcjet docs](https://docs.arcjet.com) for the full platform
documentation.

## Installation

Run with [npx](https://docs.npmjs.com/cli/v11/commands/npx) — no install
required, works on macOS, Linux, and Windows:

```bash
npx -y @arcjet/cli@latest --help
```

Or install globally via [npm](https://www.npmjs.com) for a shorter
invocation and shell completions:

```bash
npm --global install @arcjet/cli
```

Or install via [Homebrew](https://brew.sh) (macOS and Linux):

```bash
brew install arcjet/tap/arcjet
```

Or use the install script (macOS and Linux):

```bash
curl -sSfL https://arcjet.com/cli/install.sh | bash
```

Pin the install script to a specific version:

```bash
curl -sSfL https://arcjet.com/cli/install.sh | ARCJET_CLI_VERSION=v1.0.0 bash
```

For internal redistribution or air-gapped environments, download the
release archive for your platform from
[GitHub Releases](https://github.com/arcjet/cli/releases), extract it,
and place the `arcjet` binary on your `PATH`.

## Authentication

Log in via your browser:

```bash
arcjet auth login
```

This opens a URL and displays a one-time code. Confirm the code in your browser
to complete login.

Check your authentication status:

```bash
arcjet auth status
```

Log out:

```bash
arcjet auth logout
```

For non-interactive use (CI, scripts, agents), set the `ARCJET_TOKEN`
environment variable instead of logging in interactively.

## Usage

```bash
# List your teams
arcjet teams list

# List sites for a team
arcjet sites list --team-id team_01abc123

# Get the SDK key for a site
arcjet sites get-key --site-id site_01abc123

# Get a security briefing
arcjet briefing --site-id site_01abc123

# Watch live requests
arcjet watch --site-id site_01abc123
```

Use `--output json` for machine-readable output. When stdout is not a TTY, JSON
is the default. Use `--fields` to limit output to specific keys.

Run `arcjet --help` to see all available commands, or
`arcjet <command> --help` for details on a specific command.

## Shell completions

Generate completion scripts for your shell:

```bash
# bash (current session)
source <(arcjet completion bash)
# bash (persist)
arcjet completion bash > /etc/bash_completion.d/arcjet

# zsh
arcjet completion zsh > "${fpath[1]}/_arcjet"

# fish (current session)
arcjet completion fish | source
# fish (persist)
arcjet completion fish > ~/.config/fish/completions/arcjet.fish
```

## Agent skills

Arcjet's agent-facing skills live in
[arcjet/skills](https://github.com/arcjet/skills) and are installed into
your coding agent (Claude Code, Cursor, VS Code Copilot, etc.) via the
[agentskills.io](https://agentskills.io/) tooling rather than this binary:

```bash
npx skills add arcjet/skills
```

## Get help

Need help with anything?
[Email us](mailto:support@arcjet.com) or
[join our Discord](https://arcjet.com/discord) to get support from our
engineering team.
