# CLI

> Install the coordinate CLI, sign in, and use the log, triggers, secrets, and MCP from a shell.

The `coordinate` CLI is the agent tools as shell commands (JSON in, JSON out), a stdio MCP server, and the log's `verify` and export.

## Install

```bash
curl -fsSL https://usecoordinate.com/install.sh | sh
```

macOS and Linux, amd64 and arm64. The script checks the download against the published `SHA256SUMS` and installs to `~/.local/bin` (set `COORDINATE_INSTALL_DIR` to change it).

## Sign in

```bash
coordinate login
```

Prints a link and a code; approve it in the browser where you're signed in. The CLI gets a configure-level token for that workspace (`coordinate whoami` shows which).

## Use it from Claude Code

```bash
claude mcp add --scope user coordinate -- coordinate mcp
```

## Commands

| Command | What it does |
| --- | --- |
| `coordinate status [--trigger NAME] [--detail full]` | What's set up; `--detail full` includes sources, triggers, secrets, and the log |
| `coordinate query "<sql>" [--time_range today]` | Read-only SQL over the log |
| `coordinate emit <source> <type> --payload '{...}'` | Append an event |
| `coordinate trigger '<json>'` | Create or replace a trigger ([triggers](/docs/triggers)) |
| `coordinate untrigger NAME [delete\|pause\|resume]` | Remove, pause, or resume one |
| `coordinate configure '<json>'` | Sources, the time zone, history imports; a new HTTP source returns its ingest token |
| `coordinate poll <source>` | Check a polled source now, for example after fixing it |
| `coordinate token <source>` | A new ingest token for an HTTP source, shown once |
| `coordinate secret set NAME [--hosts h]` | Store a secret from a hidden prompt or stdin (`printf %s "$KEY" \| coordinate secret set NAME`) |
| `coordinate secret list` / `delete NAME` | Secret names only; values are never readable |
| `coordinate tail [--until '<matcher>']` | Stream new events; `--until` exits on the first match |
| `coordinate log verify` / `log export` | Recompute the hash chain; export the log in its [open format](https://usecoordinate.com/log-format.md) |
| `coordinate feedback --text "..."` | Send feedback to the people who build Coordinate |

Add `--json` to any command for machine-readable output.
