Tinspec

Free, local-first API workbench. No account — nothing leaves your machine.

Choose your platform

Last updated 21 Sept 2026 v0.1.0-preview.11 7 new in this release

Apple silicon & Intel — one universal app, signed & notarized

Requires macOS 12 Monterey or newer

Download .dmg macOS — Universal (.dmg) Tinspec_0.1.0-preview.11_universal.dmg · 39 MB

Verify the download

shasum -a 256 ~/Downloads/Tinspec_0.1.0-preview.11_universal.dmg

Open the .dmg and drag Tinspec into Applications. Signed and notarized — no Gatekeeper prompt.

All files for v0.1.0-preview.11

Also available

tinspec — the CLI

v0.1.1 13 Sept 2026

The same engine, headless. Run a saved chain in CI and fail the build on it — and unlike every other runner, --sender performs the real login on each run instead of replaying a token pasted into a CI secret, so the auth flow is covered too.

Homebrew — macOS

brew tap tinspec/tap https://gitlab.com/tinspec/homebrew-tap.git
brew install tinspec/tap/tinspec

Homebrew 6 may answer with invalid syntax in tap!. Nothing is wrong with the formula — Homebrew refuses taps it doesn't know yet. Run brew trust --formula tinspec/tap/tinspec and repeat the two commands above. Older Homebrew has no brew trust and needs none.

Or download the binary

tar -xzf tinspec_*.tar.gz && sudo mv tinspec /usr/local/bin/

The macOS build is a universal binary, Developer ID–signed and notarized. A notarization ticket can't be attached to a bare executable, so a tarball downloaded in a browser is checked with Apple online the first time it runs — brew install and curl downloads aren't quarantined and skip that entirely.

What's new in v0.1.0-preview.11

Agents that know which org they are in, ask for less, and keep their own record

Full changelog →
  • macOS and Linux. The Windows build waits for next month's CI minutes; if you are on Windows, this update is not offered yet and your current version keeps working.
  • Choose the organization a token is for. A user in two orgs can now be tested in both: Clerk makes it the active organization, Keycloak requests the organization scope, Auth0 and Firebase get their own parameter, and your own login request or script sees {{org}}. Providers with no such concept say so instead of quietly using the default.
  • Every agent send says who it went out as, and which org the token itself carries — so a 403 as the wrong org no longer reads like a tenancy bug. The Agent view shows the same, in amber when the two differ.
  • Agents ask for less: a jq `select` returns only the fields they need, `bodyMode: summary` returns the shape of a body, `expect` answers pass/fail instead of the body, and long arrays and strings are clipped with every cut reported. Response headers now come back only when asked for.
  • `waitUntil` polls a job until it is done — one approval for the whole poll, and only the last response comes back.
  • Agent sessions: an agent opens a session (title and goal) before sending anything, and can list exactly its own requests in it afterwards. "Allow all" on the approval card lasts for that session, the Agent view groups by it, and the agent's closing summary shows up there.
  • The Agent view's detail pane no longer hides its tabs and buttons against its own background, and session summaries show the path a request really went to instead of an encoded template.

Signed and verifiable

macOS builds are Developer ID–signed and notarized. Every artifact publishes its SHA-256.

Updates itself

New versions are offered on launch and installed in one click; update payloads are signature-checked.

Yours, offline

Collections are plain YAML in your project; secrets stay in the OS keychain. No account, ever.