Tiden is live on Product Hunt. See the launch.

Tiden CLI

Verify AI-written codeagainst what you asked.

The tiden CLI checks AI-written code against what you asked for: your agent starts each session from a working contract and can't close it over unverified work. One command wires Claude Code, Codex and your repository, and merging stays with you.

Grey Day by the North Sea, with Surf, Thorvald Niss, 1890

The session loop

Each session ends with a verdict.

The loop commands open and end with the verdict and name the next move, in JSON when piped. The merge stays your call.

The agent starts from a contract.

The start-intent skill runs tiden intent start with the task you gave it. The working contract lists the specs in scope, how many more the change may affect, and the ones no test verifies. The session's promises are frozen right then, so the close is measured against what was asked before any code existed.

  • Specs in scope, impact and coverage gaps
  • Promises frozen when the session starts
  • Claude Code plan mode starts from specs

Tests report back through Tiden.

tiden run exec -- go test ./... runs your Go suite unchanged, reports every result and stamps the run with the open session. Any tool that writes JUnit XML reports through tiden run report, and Tiden has reporters for Playwright, Vitest, Jest, PHPUnit and Swift. tiden intent progress shows the agent its verdict, spec by spec.

  • Your tests stay in your repository
  • Stale passes name their run and commit
  • Failures grouped by cause, with a count

The session closes on evidence.

tiden intent close computes the session's verdict and refuses unverified work with exit code 3. The only way past a red verdict is on the record: a risk acceptance that names the spec and the reason, or a proposed test. The close prints a review card with the branch and its diff, and the merge stays your call.

  • Exit 3 means the loop owes a move
  • tiden gate check stops a deploy step
  • Risk acceptances show on the review card
Skagen Beach in Moonlight, P.S. Krøyer, 1899

Getting started

From one install to your first verdict.

  1. 01

    Install the CLI

    Paste the install line, or use Homebrew or PowerShell. It checks the SHA256, and later releases install themselves in the background.

  2. 02

    Run tiden setup

    Approve the CLI in your browser. Setup binds the repository to its product, then wires the agent hooks and the 6 skills.

  3. 03

    Start a session

    Give your agent a task. It runs tiden intent start and builds against the working contract it gets back.

  4. 04

    Review and merge

    The close prints a review card with the branch and its diff. You merge in Tiden, or ask your agent to.

84%
of developers use or plan to use AI tools, up from 76% in 2024. Stack Overflow 2025
46%
actively distrust the accuracy of AI tools; 33% trust it. Stack Overflow 2025
66%
name answers that are almost right, but not quite, as their top frustration. Stack Overflow 2025

Questions, answered.

Which coding agents does the Tiden CLI work with?

Claude Code and Codex get the 6 skills (start-intent, product-context, capture-intent, generate-tests, link-coverage, triage-issues), a hook that asks the agent to open a session, and a Stop hook that sends back a claim of done while the session's ledger is incomplete. Cursor, Gemini and Copilot sessions are captured through hooks and git. Any MCP-capable agent reaches the same specs and gates through the MCP server.

What does tiden setup change, and how do I undo it?

After you approve the CLI in the browser, it stores your login in ~/.tiden/config.json, binds the repository to a Tiden product, wires the agent hooks and a git post-commit hook, and installs the skills. It asks before it adds Claude Code permission rules or Codex network access. tiden uninstall --dry-run lists every file the uninstall would delete or edit.

Do my tests have to change?

They stay as they are, in your repository, run by their own runner. Go suites report through tiden run exec -- go test ./..., any tool that writes JUnit XML reports through tiden run report, and Tiden has reporters for Playwright, Vitest, Jest, PHPUnit and Swift. The link-coverage skill then links each test to the specs it verifies.

Can the agent close a session over missing or failing tests?

Only on the record. tiden intent close refuses unverified work and exits 3. The way past is a risk acceptance that names the spec and the reason, or a proposed test. Risk acceptances show on the review card, and you decide whether the branch merges.

How do I run the CLI in CI?

Set it up headless with tiden setup --api-token "$TIDEN_API_TOKEN" --workspace-id <id> --yes. tiden gate check prints the verdict per component and exits non-zero when the gate is blocked, not verified or waiting on a risk acceptance, so tiden gate check && deploy stops a release. Pass --format json wherever a script reads the output. The CLI never updates itself when CI is set.

Does Tiden know whether I asked for the right thing?

Tiden checks the change against the intent captured before the session: the task, its promises and the specs in scope. If that intent was wrong, Tiden confirms you built the wrong thing. Whether the ask was right stays a human judgement, and the review card is where you make it.

Midsummer Night at Tisvilde Beach, Julius Paulsen, 1886

Install the CLI once. Then merge with proof.

Run tiden setup, then start your next agent session from a contract.