Download all docs

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 your PATH. Add export 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