The Triform CLI
The Triform CLI is the fastest way to drive your platform from a terminal. The
classic platform client is triform, with triform-cli kept as a
compatibility alias. The installer also provides the local triton agent
(triton2 is its temporary compatibility alias) and a
MCP server (triform-mcp).
One install gives you all of it: a chat agent, a uniform command for every element operation, and the MCP bridge your editor’s agent can call.
Quickstart
Three commands take you from nothing to a live call:
# 1. Install (auto-detects your OS + architecture)
curl -fsSL https://triform.cloud/downloads/install.sh | sh
# 2. Authenticate (opens your browser; or use a token — see Authenticate)
triform auth login
# 3. List the tools available in your circle
triform tools
If triform isn’t found after step 1, add the install dir to your PATH (the
installer prints the exact line) and re-open your shell:
export PATH="$HOME/.triform/bin:$PATH"
Install
The installer detects your OS/arch, downloads the matching prebuilt binary,
verifies each SHA-256 checksum, and installs triform, triform-cli,
triform-mcp, triton, and triton2 into ~/.triform/bin. The platform CLI
and local agent have independent release channels and cannot update over one
another. Prebuilt binaries are published for
Linux (x86_64, arm64), macOS (Apple Silicon + Intel), and Windows
(x86_64).
Linux & macOS:
curl -fsSL https://triform.cloud/downloads/install.sh | sh
Windows (PowerShell):
irm https://triform.cloud/downloads/install.ps1 | iex
Options (set as environment variables before the command):
TRIFORM_VERSION=0.1.2— pin a specific version instead of the latest.TRITON_VERSION=0.2.0— independently pin the local agent version.TRIFORM_BIN_DIR=/usr/local/bin— install somewhere other than~/.triform/bin.
Verify
triform --version # prints the version + build SHA
triform --help # full command reference
triton --version # local-agent version
triton --help # local-agent command reference
Troubleshooting
-
triform: command not found— the install dir isn’t on yourPATH. Addexport PATH="$HOME/.triform/bin:$PATH"to your shell rc (~/.zshrc,~/.bashrc) and re-open the terminal. -
macOS “cannot be opened because the developer cannot be verified” — the installer already strips the Gatekeeper quarantine flag; if you moved the binary by hand, run
xattr -dr com.apple.quarantine ~/.triform/bin/triform. -
macOS binary not found right after a brand-new release — Mac builds are added natively shortly after each release, so a just-cut version may briefly lag. Retry in a moment, pin an older version with
TRIFORM_VERSION=…, or build from source (no SDK needed beyond the Xcode Command Line Tools):cargo build --release -p triform-cli -p triform-mcp # then copy target/release/{triform,triform-mcp} onto your PATH # build the local agent separately from the triton/ workspace
Authenticate
Triform talks to a circle on your behalf. Authenticate once and it remembers:
triform auth login # interactive browser login
triform auth login --no-browser # print a URL to open elsewhere (headless / SSH)
triform auth set-api-key <trif_…> # use a bearer token instead of a browser
triform auth status # show who you're authenticated as
triform auth logout # clear stored credentials
For production (triform.cloud) and CI, don’t use a browser login — mint a
trif_ token from an api-token element in your circle and pass it to
triform auth set-api-key, or set it inline with TRIFORM_API_KEY. See
Authentication & access.
Point the CLI at a target and circle (persisted in your config):
triform config show # the resolved circle + URLs
triform config set-circle <name> # default circle for commands
triform config set-url <url> # API target, e.g. https://triform.cloud
You can also override per-command with --circle, --api-url, and --api-key
(or the matching TRIFORM_CIRCLE / TRIFORM_API_URL / TRIFORM_API_KEY
environment variables).
Platform chat
The classic CLI retains its server-backed chat path for compatibility:
triform # open chat; prompts for login when needed
triform "your prompt" # open chat with an initial prompt
triform -p "your prompt" # print one response and exit (scriptable)
triform -p --raw "prompt" # print only the response body and exit
triform -c # continue the latest chat in this directory
triform -r <conversation> # resume a specific chat by name or id
Work locally with Triton
Triton runs its agentic loop on your machine, executes tools in the current working directory, and sends model traffic only through the Triform platform gateway:
triton # interactive local agent
triton "summarize this repository" # start with a prompt
triton prompt "fix the failing test" # one non-interactive turn
triton circle status # circle-aware git porcelain
triton update --check # check only the triton-v* channel
Authenticate once with triform auth login; Triton reuses the same platform
session and never asks for a vendor API key.
Manage elements
Slug-addressed shorthands cover the element lifecycle without remembering URLs:
triform create <slug> --type <T> --name <N> [--description <D>] [--circle <C>]
triform get <slug> # fetch an element (with its _actions/_lifecycle)
triform delete <slug> --confirm
triform enable <slug>
triform disable <slug>
Call any element operation
Every element operation is reachable as a uniform CLI command — the same shape
for a python function, an sql query, or a slack message:
triform tools # list the tools available in your circle
triform <tool> <action> [--field value ...]
triform <tool> --action <action> [--field value ...]
triform <tool> --input '{"field":"value"}'
triform <tool> --help # schema + actions for one tool
Slug-addressed fields (like --slug) resolve against your default circle, so
set one first with triton config set-circle (or pass --circle /
TRIFORM_CIRCLE per-command, as shown above) — without it you’ll see a
Missing path param: element_path error.
Control the output format with -o json|yaml|table (default table).
The tool catalog the CLI scripts, the MCP server exposes to agents, and the HTTP API serves are the same surface — a workflow you script one way is callable verbatim the others.
Wire it into your coding agent (MCP)
The installer also drops triform-mcp. Point any MCP-capable agent at it and it
gains the same tool catalog. For example, with Claude Code:
claude mcp add triform \
--env TRIFORM_API_URL=https://triform.cloud \
--env TRIFORM_API_KEY=trif_your_token \
-- "$HOME/.triform/bin/triform-mcp"
See the MCP server guide for other clients and the full tool surface.
Prefer your own editor + Claude Code?
The CLI isn’t the only way in. Your circle is a real git repo — you can
git clone it and run Claude Code (or any agent) directly against a normal
checkout, no MCP bridge required. See
Clone your circle + run Claude Code.
Related
- Clone your circle + run Claude Code — skip the CLI, work in your own editor
- MCP server — the same tools over the Model Context Protocol
- API structure — the underlying HTTP surface
- Authentication & access — tokens, sessions, and circles