Skip to content

v2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Oct 15:07
· 38 commits to main since this release
e4114e0

Coding agents get stuck. AgentGuard 2.0 stops them in Claude Code.

agentguard hook claude-code runs as a Claude Code hook. Before a tool call runs, it refuses:

  • the third identical call in a row
  • a call that already failed twice, tried again unchanged
  • with --max-calls N, any call past a per-session cap (off by default)

Claude Code blocks the call and shows the reason to the agent. agentguard receipt prints every stop.

Install: python -m pip install agentguard47==2.0.0

Turn on the hook: agentguard hook claude-code --install --write

Also new in 2.0.0: agentguard receipt, agentguard run, and budget coverage for the OpenAI Responses API and the OpenAI Agents SDK. Full list: CHANGELOG.

Breaking: 2.0.0 needs Python 3.11 or newer. On Python 3.9 or 3.10, pin agentguard47==1.4.0. Migration guide

Limits: the hook sees tool calls, not model tokens. It is a guardrail, not a sandbox. Hook guide

Watch the 36 second video on X


What's Changed

Other changes

  • Verify published examples before AgentGuard release emails by @bmdhodl in #772
  • Add a copy-and-run shared local call limit demo (AG-30) by @bmdhodl in #770
  • Refresh the activation report through 2026-09-24 (AG-29) by @bmdhodl in #771
  • Close Scorecard code-scanning alerts we can fix in-repo by @bmdhodl in #728
  • Restore the optional CrewAI ChromaDB disclosure by @bmdhodl in #724
  • Record the AG-03 merge in the cofounder inbox by @bmdhodl in #762
  • Add a next-ticket skill every coding agent can load by @bmdhodl in #764
  • Require a short owner TLDR after every merged PR by @bmdhodl in #760
  • Give newcomers a one-session compatibility fixture path (AG-19) by @bmdhodl in #773
  • Run the published wheel on Windows, macOS and Linux after each release (AG-17) by @bmdhodl in #774
  • Record 1.4.0 as published and verified on every supported OS by @bmdhodl in #775
  • Add agentguard --version and prepare 1.4.1 by @bmdhodl in #776
  • Test supported providers and frameworks against real packages in CI (AG-07) by @bmdhodl in #777
  • Keep generated files out of the Claude review diff budget by @bmdhodl in #778
  • Redesign and de-slop the public site by @bmdhodl in #779
  • Log #778 and #779 in the inbox by @bmdhodl in #780
  • Add agentguard receipt: shareable guard-stop receipts by @bmdhodl in #781
  • Add a Claude Code hook and agentguard run by @bmdhodl in #782
  • Redesign the landing page as a case file, from a new site design doc by @bmdhodl in #784
  • Log #784 in the inbox by @bmdhodl in #785
  • Patch the OpenAI Responses API and cover the Agents SDK (AG-06) by @bmdhodl in #786
  • Log #786 in the inbox by @bmdhodl in #787
  • Merge the two price tables and fix current-model pricing by @bmdhodl in #792
  • Price LangChain LLM calls with the shared resolver by @bmdhodl in #793
  • Log #793 in the inbox by @bmdhodl in #794
  • Bill reasoning and thinking tokens once, inside output by @bmdhodl in #791
  • fix(report): stop double-counting the call that trips a budget by @bmdhodl in #783
  • Log #783 in the inbox by @bmdhodl in #795
  • docs(evaluation): warn _extract_cost callers off summing trace spend by @bmdhodl in #797
  • Log #791 in the inbox by @bmdhodl in #796
  • Log #797 in the inbox by @bmdhodl in #799
  • Price OpenAI and Gemini from their official pages; bill Gemini cache and thinking correctly by @bmdhodl in #800
  • Log #800 in the inbox by @bmdhodl in #801
  • Reconcile AgentGuard's OpenAI costs against OpenAI's usage records, nightly by @bmdhodl in #802
  • Log #802 in the inbox by @bmdhodl in #803
  • Keep org-wide OpenAI spend out of the public live-cost logs and artifacts by @bmdhodl in #804
  • Log #804 in the inbox by @bmdhodl in #805
  • Require complete CI results and verify published wheels nightly by @bmdhodl in #807
  • feat(activation): compute the off-publish-day download figures by @bmdhodl in #806
  • Add Trustabl Agent Scanner to CI by @trustabl-kathrina in #809
  • Record reviewed PR merges and validation evidence by @bmdhodl in #811
  • Fix published Windows first-use documentation by @bmdhodl in #812
  • test: verify Responses and Agents SDK floor without false skips by @bmdhodl in #813
  • docs: verify published Windows reservation races by @bmdhodl in #814
  • test: verify real provider stream and async dispatch by @bmdhodl in #815
  • docs: verify installed provider floors on Windows Python 3.9 by @bmdhodl in #819
  • fix(sdk): guard OpenAI clients created before activation by @bmdhodl in #821
  • fix(sdk): account for native Ollama response tokens by @bmdhodl in #822
  • fix(sdk): show elapsed run time across recorded spans by @bmdhodl in #823
  • docs: correct local-model billing claims and test manual example by @bmdhodl in #824
  • fix(sdk): declare free local billing per OpenAI client by @bmdhodl in #825
  • ci(sdk): require Responses and Agents minimum-version proof by @bmdhodl in #826
  • fix(ci): regenerate tool lock with Dependabot's configured interpreter by @bmdhodl in #830
  • docs: verify installed Windows framework boundaries for #736 by @bmdhodl in #832
  • fix: verify framework proof across Windows line endings by @bmdhodl in #833
  • fix(mcp): patch JWT dependency while preserving MCP 1.x by @bmdhodl in #840
  • Verify approved Responses and Agents candidate acceptance by @bmdhodl in #841
  • docs: fix stale and broken agent instructions from prompt audit by @bmdhodl in #842
  • ci: point the weekly architecture reminder at the root ARCHITECTURE.md by @bmdhodl in #846
  • ci: read the ops-cadence price date from price_table.py by @bmdhodl in #847
  • release: prepare 2.0.0 (hold merge until 2026-10-06) by @bmdhodl in #849

New Contributors

Full Changelog: v1.4.0...v2.0.0