Skip to main content

Overview

The latitude CLI is a single, self-contained binary that exposes your Latitude organization on the command line. Like the MCP server, its commands are generated directly from the Latitude API, so the command surface automatically stays in sync with the platform. For the live list of commands and their input/output schemas, check the API reference. It’s built for two audiences:
  • Humans, a fast, scriptable way to inspect and manage projects, traces, datasets, members, keys, and more without leaving the terminal.
  • Agents, a zero-dependency way for an agent (Claude Code, Cursor, Codex, …) to act on Latitude without wiring up an MCP connection, using --format json for machine-readable output and --schema for machine-readable help.
Prefer a network connection? The MCP server exposes the same capabilities over OAuth.

Installation

The CLI ships as a pre-built binary on our GitHub Releases — grab the latest cli-vX.Y.Z release. Download the archive for your platform, extract it, and put the latitude binary somewhere on your PATH.
On MacOS the first run may be blocked by Gatekeeper. Allow it with xattr -d com.apple.quarantine /usr/local/bin/latitude, or via System Settings → Privacy & Security.
Then verify it works and, optionally, set up shell completion and the man page.

Authentication

The CLI authenticates with an organization-scoped API key. Create one in the Latitude UI under Settings → Keys → API Keys. There are two ways to give the key to the CLI:

Usage

The general shape is latitude <resource> <command> [flags], where each resource mirrors an area of the Latitude API:
Resources include projects, traces, datasets, and more — run latitude --help for the full list. Common examples:
A few global flags worth knowing (run latitude --help for the full list):
  • --query <JMESPath> — project/filter the response before it’s formatted, e.g. --query "items[].slug".
  • --dry-run — validate the request locally without sending it to the API.
  • --quiet / -q — suppress success output (errors still print to stderr).
  • --debug — dump the raw HTTP request and response to stderr.

Output formats

Every command accepts --format to control how results are rendered. This makes the CLI equally good for humans reading a terminal and for scripts or agents parsing output.
You can also set a default format for a session with the LATITUDE_OUTPUT environment variable (e.g. export LATITUDE_OUTPUT=json); the --format flag always overrides it.

Environment variables

The standard HTTPS_PROXY / HTTP_PROXY / NO_PROXY / SSL_CERT_FILE variables are honored as well.

Shell completion

Generate a completion script for your shell — bash, zsh, fish, powershell, or elvish — and load it to get tab-completion for every resource, command, and flag:

Man page

The CLI can emit its own manual page in roff format, so man latitude works like any native tool:

For Agents

The CLI pairs naturally with agents: --format json/jsonl for structured output, --schema for machine-readable help, and latitude generate-skills to teach an agent the command surface — everything it needs to drive Latitude locally with no MCP connection. Prefer the MCP server when you’d rather connect the agent over the network with OAuth.