Tiden CLI
The tiden CLI is a standalone REST client. It does not depend on protobuf
code generation or backend source code.
Install
brew install --cask qase-tms/tap/tiden
curl -fsSL https://tiden.ai/install.sh | bash
Windows:
irm https://tiden.ai/install.ps1 | iex
Configure
Preferred:
tiden setup
Manual:
tiden config set baseUrl https://app.tiden.ai
printf '%s' "$TOKEN" | tiden config set apiToken -
tiden config verify
Global flags
| Flag | Purpose |
|---|---|
--base-url, -u | API base URL |
--api-token, -t | API token |
--workspace-id, -w | Default workspace |
--timeout | Per-request timeout such as 30s |
--format, -f | json or text; defaults adaptively (see Output format). run results also accepts tree |
--verbose | Full per-item progress narration instead of the single-line spinner |
Output format
--format picks its default from whether stdout is a terminal:
- stdout is a terminal — default is
text, the styled human rendering. - stdout is piped or redirected (scripts, CI, AI coding agents) — default is
json, byte-identical to earlier releases. tiden setupandtiden doctoralways default totext.
Precedence, highest first:
- An explicit
--format json|textflag. TIDEN_FORMAT=json|text(any other value is ignored).setup/doctor's own text default.- The adaptive default above.
--format json is the stability promise. Anything that parses tiden's
stdout should pass it explicitly rather than rely on stdout not being a terminal
— some agent harnesses run shell commands under a pseudo-terminal, which tiden
correctly reads as interactive. Piped and non-interactive invocations are
otherwise unaffected; only running tiden yourself at a shell prompt changes.
Environment variables
Beyond TIDEN_BASE_URL, TIDEN_API_TOKEN, TIDEN_WORKSPACE_ID, and
TIDEN_TIMEOUT, the CLI honors:
| Variable | Effect |
|---|---|
TIDEN_FORMAT=json|text | Pins the output format, overriding the adaptive default |
TIDEN_FORCE_TTY=1 | Forces the styled rendering even when stdout/stderr are piped |
TIDEN_NO_PROGRESS=1 | Disables the progress spinner |
TIDEN_ACCESSIBLE=1 | Switches interactive prompts to a screen-reader-friendly mode |
NO_COLOR | Disables color |
CLICOLOR / CLICOLOR_FORCE | Standard CLICOLOR conventions; CLICOLOR_FORCE=1 forces color when piped |
CI | Disables the progress spinner |
Styling degrades on its own: color is downsampled or stripped to match the
terminal, and the Unicode status symbols fall back to ASCII outside a UTF-8
locale. Nothing carries meaning through color alone, so output stays legible
with NO_COLOR set.
Command groups
tiden config show|set|verify
tiden setup
tiden doctor
tiden auth me
tiden workspace list
tiden product list|create|bind
tiden requirement list|get|create|update|attribute|push|resume|rollback
tiden test list|get|create|delete|link-requirement|unlink-requirement|derive-links|ingest|push|resume|rollback|apply-pending-links
tiden branch list|create|delete|merge-preview|merge|link-proposals list|link-proposals review
tiden component list|create|update
tiden environment list|create|get|delete
tiden release list|create|get
tiden gate check|features|feature
tiden run list|get|create|exec|report|results|watch|complete|abort|delete|upload|attachment
tiden coverage-gaps
tiden trace
tiden draft dry-run
tiden agent types|config list|config create|config delete|run|runs|run-status
tiden intent start|refine|reconcile|nudge|resume|capture|distill|auto|install|uninstall|status|captures list|captures prune
tiden skill list|install|update|uninstall
tiden version
The MCP server is no longer a tiden subcommand. Use the standalone
tiden-mcp-server binary.
Exit codes
| Code | Meaning |
|---|---|
0 | Success |
1 | General error |
2 | Auth error |
130 | Interrupted |
Branch notes
Requirement and test commands support branch flags where branch-scoped behavior exists. Component branch flags are not yet wired in the CLI.