Skip to main content

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

FlagPurpose
--base-url, -uAPI base URL
--api-token, -tAPI token
--workspace-id, -wDefault workspace
--timeoutPer-request timeout such as 30s
--format, -fjson or text; defaults adaptively (see Output format). run results also accepts tree
--verboseFull 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 setup and tiden doctor always default to text.

Precedence, highest first:

  1. An explicit --format json|text flag.
  2. TIDEN_FORMAT=json|text (any other value is ignored).
  3. setup / doctor's own text default.
  4. 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:

VariableEffect
TIDEN_FORMAT=json|textPins the output format, overriding the adaptive default
TIDEN_FORCE_TTY=1Forces the styled rendering even when stdout/stderr are piped
TIDEN_NO_PROGRESS=1Disables the progress spinner
TIDEN_ACCESSIBLE=1Switches interactive prompts to a screen-reader-friendly mode
NO_COLORDisables color
CLICOLOR / CLICOLOR_FORCEStandard CLICOLOR conventions; CLICOLOR_FORCE=1 forces color when piped
CIDisables 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

CodeMeaning
0Success
1General error
2Auth error
130Interrupted

Branch notes

Requirement and test commands support branch flags where branch-scoped behavior exists. Component branch flags are not yet wired in the CLI.