Zero the scale before you weigh.
Prove your coding agent starts without your personal setup, then measure it.
Your coding agent knows you. Every run loads your global instructions, memories, skills, MCP servers and connected accounts. At work that is the point. In an evaluation it is noise. Compare runs with and without a skill on your own machine, and both runs carry your setup. You measure your machine, not the skill.
tare starts the agent in a room that holds nothing of yours and proves the room is clean before every run. It works with Claude Code, Codex, Pi and Google's Antigravity CLI on Linux and WSL, and with the first three on macOS.
$ tare probe claude
tare probe · claude 2.1.289 · /home/me/tare
control your real setup shows: instructions, home path, mcp, skills, plugins, email, reach
leaks none
declared
email account email subscription login
credentials /home/tare/.claude-config/.credentials.json copy of the login, needed by the CLI
tare: 0.00
tare: 0.00 is the zeroed scale. Nothing of your setup reached the model except what the reading
declares. A reading with leaks names each one and the file it came from, and the agent does not
start.
Quick start
uv tool install tare-cli # or: pipx install tare-cli
tare probe claude # prove the room is clean
tare claude -- -p "fix the tests" # run Claude Code in it
On Linux and WSL, tare also needs bubblewrap (sudo apt install bubblewrap). The
install guide has the details per
platform, and Reading a probe explains
every line of the output above.
To compare agents, skills or models, tare calibrate, tare swap and tare cliff start many runs
and open a live dashboard that leads with the answer:
Features
- Measures what the model receives. The probe records the request the agent sends to a fake model server on your machine. It makes no paid calls and never asks the agent about itself, because an agent asked about its own context can refuse or be wrong. How it works
- Knows when it cannot see. A control run starts the agent in your real setup. If the probe could
not see your setup there, the reading is
tare: not proven (blind)instead of a0.00that proves nothing. Reading a probe - Keeps your files out and your login working. The room has no home directory of yours, no credentials of your other tools and no secret environment variables. It gets a fresh copy of your login, which tare deletes after the run. Running agents in rooms
- Compares skills, plugins and models.
tare calibratestarts each side several times from scratch and reports pass rates with their intervals. Calibrate - Scores what no test can decide.
tare judgelets a second agent score a page by your rubric, without agent or model names, andtare judge-noiseshows how far its scores vary. Judge - Tells the workspace from the agent.
tare swaplets two agents continue each other's unfinished work and reports whether the workspace or the agent decided the outcome. Swap - Finds the step where a failed run was lost (experimental).
tare cliffrestarts the run from its saved steps and names the step after which it no longer passes. Cliff - Live dashboard, cost and reruns. The dashboard leads with each run's answer and follows it
live, each report ends with tokens and cost, and
tare rerunrepeats a run from its recipe. Dashboard and rerun · Tokens and cost
When to use
| Use tare when | Look elsewhere when |
|---|---|
| you compare agent runs with and without a skill, plugin or prompt | you need protection from a hostile agent, because the room has network access and a working login |
| you benchmark agents on your own machine | you use the Antigravity CLI on macOS (not supported there yet) |
| you want a fresh-machine run without a fresh machine | you log in with an API key only (untested) |
| an agent failed a task and you want to know which step lost it | you want a single run explained without running the agent again, because Cliff runs it many times |
Documentation
| Getting started | Install · The words tare uses · Running agents in rooms · Reading a probe |
| Measuring | Overview · Calibrate · Judge · Swap · Cliff · Tokens and cost · Dashboard and rerun |
| Background | How it works · Concept: the design and every measurement · Experiments |
Status
tare is on PyPI as tare-cli. Claude Code, Codex and Pi run on Linux, WSL and macOS; the
Antigravity CLI runs on Linux and WSL, and stops with a message on macOS for now. What comes next
is in the open epics.
Contributing
Every change starts as an issue. Larger work is an epic, split into features, and one epic
becomes one branch and one pull request. AGENTS.md
describes the process, the checks and the conventions. Run the tests with uv run pytest.
License
MIT. See LICENSE.
Crafted with Readme Craft
Metadata
Release files for tare-cli 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tare_cli-0.4.0.tar.gz | 189.6 kB | Without provenance | Details for tare_cli-0.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tare_cli-0.4.0-py3-none-any.whl | Python 3 | none | any | Details for tare_cli-0.4.0-py3-none-any.whl |
Total release size: 353.4 kB
Release files / tare_cli-0.4.0.tar.gz
| Download URL | tare_cli-0.4.0.tar.gz |
|---|---|
| Size | 189.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2e94c9d415161c2682afbb736b7cac0d78c33243bf1f75cef78ac0170735ff17
|
|
BLAKE2b-256 checksum How to use checksums |
0d128356df84dbd0a129529aad625677d3a0169f1601ccc5d572ebb42f645505
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / tare_cli-0.4.0-py3-none-any.whl
| Download URL | tare_cli-0.4.0-py3-none-any.whl |
|---|---|
| Size | 163.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8580f9cf442c0878df894f220e99f03ecb2a572021489744092da1c0dd1fab95
|
|
BLAKE2b-256 checksum How to use checksums |
26164bde9d4b3f528f1cae1489548c10fe65cfbe6311b7d3f02db9441237d2f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for tare-cli 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.