---
title: Command Reference
description: Every Bolder CLI command — auth, shops, products, orders, webhooks, theme verbs, console and run.
---

Run `bolder --help` or `bolder <command> --help` for the same information in your terminal. `bolder --version` (`-V`) prints the installed version.

## Authentication

| Command | Description |
|---------|-------------|
| `bolder login` | Authenticate in your browser (OAuth 2.0 PKCE). |
| `bolder login --token` | Paste a personal access token instead of opening a browser. |
| `bolder logout` | Remove the stored access token. |
| `bolder whoami` | Show the current session: token, shop and API base. `--verify` also calls the API to confirm the token works. |

The browser flow listens for the redirect on a local port in the range 33100–33110, so make sure one of them is free. `BOLDER_TOKEN` overrides any stored login.

## shops

| Command | Description |
|---------|-------------|
| `bolder shops list` | List the shops you can access. `-o table\|csv\|json` (default `table`). |
| `bolder shops use` | Choose the default shop for future commands. |

## products

| Command | Description |
|---------|-------------|
| `bolder products list` | List products. `-q <text>` for full-text search, `-o table\|csv\|json` (default `table`). |
| `bolder products get <id>` | Show one product. `-o table\|json` (default `json`). |

## orders

```bash
bolder orders list [options]
```

| Flag | Description |
|------|-------------|
| `-s, --status <status>` | Shortcut for `-p status=<status>`. |
| `-q, --query <text>` | Shortcut for `-p q=<text>`. |
| `-p, --param <key=value>` | Any other filter or sort parameter. Repeatable, e.g. `-p updated_on_gte=2024-01-01`. |
| `-o, --output <format>` | `table` (default), `csv` or `json`. |

## webhooks

| Command | Description |
|---------|-------------|
| `bolder webhooks list` | List webhook subscriptions. `-o table\|json` (default `table`). |
| `bolder webhooks create <event> <url>` | Subscribe `<url>` to `<event>`. |
| `bolder webhooks delete <id>` | Delete a subscription. |

## Projects and themes

A project directory is bound to one shop (and, for hosted projects, one theme) by a `.bolder.json` file. `bolder new` and `bolder pair` write it, and the theme verbs below read it, which is why they take no shop or theme argument.

| Command | Description |
|---------|-------------|
| `bolder new [name]` | Scaffold a project: headless (Vite or plain script tag) or hosted (existing theme or empty v2 scaffold). |
| `bolder pair` | Bind the current directory to an existing shop and theme. |
| `bolder themes` | List the themes available on the current shop. |
| `bolder pull [dir]` | Download the project's theme templates. |
| `bolder diff` | Compare local templates against the remote theme. |
| `bolder push [file]` | Upload one changed template, or every changed or new one when no file is given. |
| `bolder watch` | Watch local templates and push on every change. |
| `bolder dev` | Create a dev theme cloned from the live theme. Needed before pushing to a project scaffolded as empty. |
| `bolder publish` | Publish the project's dev theme to live. |

## Scripting

| Command | Description |
|---------|-------------|
| `bolder console` | Start a REPL with an authenticated `bolder` client. |
| `bolder run <file>` | Run a script whose default export receives the `bolder` client: `export default async function (bolder) { ... }`. |
