GVNR sits between your agent and its tools and answers one question before each call: is this in budget, is it stuck in a loop, and is it allowed at all. Every answer goes on a hash-chained record.
Most of the time, nothing: your agent works as usual. Before something risky, like deleting a folder or reading a password file, it pauses and asks you. If a command has a safer version, you're shown that one instead. Something that's never allowed is simply refused, and the agent carries on. Only an agent that goes over its limit or gets stuck repeating itself is stopped, and it's told why.
Within limits. GVNR stays out of the way.
A safer form of the same command, like a force-push with a lease, shown before it runs.
Irreversible, sensitive, or spending too fast. Pauses and asks you.
Over its limit, looping, or not permitted. Never runs.
A daily cap only notices once the money's gone. GVNR pauses an agent that spends over $2 a minute or spawns a burst of subagents, caps each agent at $20, and adds daily, weekly and monthly limits when you want them.
The rules need no state, so they hold even when GVNR cannot read its own files. The spend checks need state, so if it is unreadable they let work through and say so in the reason, rather than blocking real work over a missing file.
No daemon, no port, no dashboard to leave open. GVNR decides inside your agent's own hooks, keeps its state in ~/.enforcer-governor, and uninstalls cleanly.
Hash-chained, naming the person the agent acted for, the tool, the rule that decided and what had been spent. Never the command text. Edit one line and /enforcer-governor:verify names it.
The same record answers questions in plain words. Signed in, the Enforcer MCP server lets Claude Code, Codex, Cursor or any MCP client ask your workspace directly. Spend and tool questions need Claude Code's telemetry switched on (/enforcer-governor:telemetry on).
“What did my agents cost this week, and on which models?”
“Which sessions were the most expensive, and what were they doing?”
“Show me spend per day for the last week.”
“Which tools fail most, and with what errors?”
“What were my agents asked about or refused, and by which rule?”
“Is anything unusual this week?”
Today GVNR is for personal use. Coming soon for teams: every install shares one record, and the governance console shows spend and decisions by person, project, model and rule. Illustrative numbers below.
sam@acme.dev
ria@acme.dev
lee@acme.dev
jo@acme.dev
Try it today for personal use. GVNR enforces in Claude Code, where it sees every tool call before it runs. Support for other agents is coming soon; meanwhile they can use your workspace through the Enforcer MCP server.
agents.md tells an agent how to install GVNR in whichever harness it runs in, headless. It stops for you at sign-in and before editing any settings file. Paste this into Claude Code, Codex, Cursor, Gemini CLI, Grok CLI or any other agent:
Read https://gvnr.io/agents.md and follow it to set up GVNR in this harness. Ask me before you change any settings file, and give me any sign-in link to open.