Skip to content

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 18:59
· 22 commits to main since this release
6f76918

OpenCode support 🚧

The same rulepacks now guard OpenCode — the third agent, with zero engine changes:

fence init opencode   # writes ./.opencode/plugins/fence.js (--global for ~/.config/opencode)

OpenCode has no hook protocol, so init generates a tiny plugin that pipes every shell command and file edit to the same engine: bash, edit, write, read, webfetch, and apply_patch (screened per file touched, most severe verdict wins). The session banner confirms Fence is watching, and fence uninstall opencode is the exit door.

Two honest notes:

  • OpenCode plugins can block a call but can't show an approval prompt, so ask rules stop the call and route the agent to you for confirmation instead of prompting natively.
  • Fail-open holds on both sides: if the fence binary is missing or errors, the plugin lets the call proceed — a guardrail must never brick the agent it protects.

Also in this release

  • The threat-model and architecture docs now describe the hooked surface per agent instead of assuming Claude Code.

Install: brew install hoophq/tap/fence · npm install -g @hoophq/fence · binaries below
Upgrading? The binary alone is enough for existing Claude Code/Codex setups — nothing to re-run. For OpenCode, run fence init opencode once.