The Triform CLI
The Triform CLI is the fastest way to drive your platform from a terminal. It
ships as a single binary under three names — triton (the primary), with
triform and triform-cli kept as aliases for existing automation — plus a
MCP server (triform-mcp) that exposes the same tools to
any MCP-capable coding agent.
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)
triton auth login
# 3. List the tools available in your circle
triton tools
If triton 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 its SHA-256 checksum, and installs triton, triform, triform-cli,
and triform-mcp into ~/.triform/bin. 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.TRIFORM_BIN_DIR=/usr/local/bin— install somewhere other than~/.triform/bin.
Verify
triton --version # prints the version + build SHA
triton --help # full command reference
Troubleshooting
-
triton: 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/triton. -
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/{triton,triform-mcp} onto your PATH
Authenticate
Triton talks to a circle on your behalf. Authenticate once and it remembers:
triton auth login # interactive browser login
triton auth login --no-browser # print a URL to open elsewhere (headless / SSH)
triton auth set-api-key <trif_…> # use a bearer token instead of a browser
triton auth status # show who you're authenticated as
triton 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
triton 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):
triton config show # the resolved circle + URLs
triton config set-circle <name> # default circle for commands
triton 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).
Chat with Triton
Triton is Triform’s own terminal coding agent — bring your own model and agent, use ours, or mix both against one platform:
triton # open chat; prompts for login when needed
triton "your prompt" # open chat with an initial prompt
triton -p "your prompt" # print one response and exit (scriptable)
triton -p --raw "prompt" # print only the response body and exit
triton -c # continue the latest chat in this directory
triton -r <conversation> # resume a specific chat by name or id
Manage elements
Slug-addressed shorthands cover the element lifecycle without remembering URLs:
triton create <slug> --type <T> --name <N> [--description <D>] [--circle <C>]
triton get <slug> # fetch an element (with its _actions/_lifecycle)
triton delete <slug> --confirm
triton enable <slug>
triton 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:
triton tools # list the tools available in your circle
triton <tool> <action> [--field value ...]
triton <tool> --action <action> [--field value ...]
triton <tool> --input '{"field":"value"}'
triton <tool> --help # schema + actions for one tool
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.
Related
- MCP server — the same tools over the Model Context Protocol
- API structure — the underlying HTTP surface
- Authentication & access — tokens, sessions, and circles