All plugins

claim-check

Receipts for agent claims: checks the success claims in each final reply ("all tests pass", "I created src/app.py", "committed and pushed", "installed requests", "ran make build successfully", "server is running on port 8000") against the session's actual tool results and appends a ✅ verified / ⚠️ unsupported / ❌ contradicted footer citing the tool call. Optional nudge feeds contradictions back into the next turn; `/receipts` and the `claimcheck_report` tool show the evidence ledger. Deterministic, pure stdlib, works with any model. Disclosure — the post_tool_call hook sees every tool's name, args and result and writes a per-session JSONL ledger (tool, file path or first 500 chars of the command, exit status, last 300 chars of output; max 500 entries) under its plugin-data directory only; transform_llm_output appends a footer without holding the stream; pre_llm_call injects context only when `nudge` is enabled; no network calls, LLM calls, subprocesses, credentials, telemetry, background processes or self-updater.

cryptobanditToolsv0.1.0Updated 2 hours ago

About

Receipts for agent claims: checks the success claims in each final reply ("all tests pass", "I created src/app.py", "committed and pushed", "installed requests", "ran make build successfully", "server is running on port 8000") against the session's actual tool results and appends a ✅ verified / ⚠️ unsupported / ❌ contradicted footer citing the tool call. Optional nudge feeds contradictions back into the next turn; `/receipts` and the `claimcheck_report` tool show the evidence ledger. Deterministic, pure stdlib, works with any model. Disclosure — the post_tool_call hook sees every tool's name, args and result and writes a per-session JSONL ledger (tool, file path or first 500 chars of the command, exit status, last 300 chars of output; max 500 entries) under its plugin-data directory only; transform_llm_output appends a footer without holding the stream; pre_llm_call injects context only when `nudge` is enabled; no network calls, LLM calls, subprocesses, credentials, telemetry, background processes or self-updater.

claim-check — receipts for agent claims

Agents say "all tests pass ✅" when pytest exited 1. claim-check catches that.

It records every tool result in a local evidence ledger, then checks the success claims in the agent's
final reply against what actually happened, and appends a receipt:

---
**claim-check receipts**
✅ file: “I created `calc.py` and all tests pass.” — write_file /repo/calc.py (tool #1)
❌ tests: “I created `calc.py` and all tests pass.” — `pytest -q` exit 1 (tool #2)

A prompt or skill can't do this: it asks the same model that made the claim to check itself.
claim-check reads the real tool results through Hermes hooks and gives the same verdict every time.

Claim types

| Kind | Example claim | Evidence it checks |
|---|---|---|
| file | "I created src/app.py" | write_file/patch to that path (or a shell write) succeeded |
| tests | "all tests pass" | latest test command (pytest, npm test, go test, cargo test, …) exited 0 and no edits since |
| command | "ran make build successfully" | that command (or latest build) exited 0 |
| git | "committed and pushed" | git commit / git push exited 0 |
| install | "installed requests" | a pip/npm/uv/apt… install naming it exited 0 |
| server | "server is running on port 8000" | a start/probe command mentioning it exited 0 |

Verdicts: ✅ verified · ⚠️ unsupported (no evidence, unknown exit, or stale) · ❌ contradicted (the tool result says otherwise).

Install

hermes plugins install claim-check

Use

  • Automatic: verdicts get appended to replies that make claims.
  • /receipts: shows this session's ledger and the last verdicts.
  • Tool claimcheck_report: the agent can check its own ledger before saying it's done.

Settings (plugins.entries.claim-check.settings)

| key | default | |
|---|---|---|
| mode | annotate | annotate · warn_only (footer only when something is ⚠️/❌) · off |
| nudge | false | When a claim is contradicted, inject a correction note into the next turn so the agent fixes it |

Disclosure

  • Hooks: post_tool_call (sees every tool's name, args and result), transform_llm_output (appends the footer;
    streaming is not held), pre_llm_call (only when nudge is on).
  • Data: writes a per-session JSONL ledger under <HERMES_HOME>/plugin-data/claim-check/ledgers/. Each entry
    keeps the tool name, the file path or command (first 500 chars), the exit status, and the last 300 chars of output.
    Capped at 500 entries per session. Nothing is read outside this directory.
  • No network calls, LLM calls, subprocesses, credentials, telemetry, background processes or self-updater.
    Pure Python stdlib.

Develop

python3 -m pytest -q
hermes plugins validate . --install-deps

MIT © 2026 Crypto Bandit (cryptobandit)

README from the reviewed commit 4a0e655; it updates when the author re-pins.

Developer Mode

Explore built-in Hermes toolsets and actions.

HermesAgent

Developer?

Create a Hermes extension for Desktop or agent workflows.

Developer Section