Skip to main content
The Terminal CLI is in beta. Commands, flags, and arguments may change before a 1.0 release. Please share feedback via our shared Slack channel or support@withterminal.com.
The Terminal CLI is an open-source command line for the Terminal API, published as @terminal-api/cli. Its commands are generated from the Terminal OpenAPI spec. For setup steps, see the Agents guide.

Configuration

The CLI authenticates with a secret key and, for connection-scoped commands, a connection token. See Authentication.
Environment variables take precedence over the config file. The config file lives at ~/.terminal/config.json; terminal config show prints the active values and terminal config path prints the file location.

Profiles

Profiles keep separate credentials, for example sandbox and production. The CLI ships with prod (default) and sandbox profiles.
Set TERMINAL_PROFILE to choose a profile without passing --profile.

Usage

Run terminal with no arguments to open an interactive TUI for browsing and running commands.

Global options

Commands

Each Terminal API operation is a command named after the operation in kebab-case. For example, List Vehicles is terminal list-vehicles. Unlike the MCP server, the CLI includes write operations such as passthrough and request sync. Path, query, and body parameters are flags with the same names as the API parameters:
Commands are grouped the same way as the API reference: authentication, connections, data-management, devices, drivers, fault-codes, groups, hours-of-service, ifta, issues, link, providers, safety, trailers, trips, vehicle-utilization, and vehicles. Run terminal --help for the full list, or terminal <command> --help for a command’s flags.

Response schemas

Append schema to any command to print its response schema without calling the API:

Shell completions

Agent skills

The CLI repo ships skills and commands for Cursor, Claude Code, and OpenCode. Copy them into your project so the agent knows how to call the CLI.

Rate limits

CLI commands are ordinary Terminal API requests and count toward the same rate limits. --all fetches pages one at a time.