Evidence record / opencode

A dated record of one change, kept so the writing that cites it can be checked. Compiled from the sources listed below by the research run, not written for reading. The judgment lives in the issues that cite it, below.

2026-10-24-opencode-project-approvals-persist-while-managed-policy-can-deny-a-configured-tool-or-integration

Project approvals persist, while managed policy can deny a configured tool or integration. Policy enforcement arrived in 2.0.25 in the retrospective; top-level policies and managed precedence reached 2.0.29 in this weekly window. Ordinary permission rules are ordered, last-match-wins; unmatched actions ask, though permissive base rules normally match. Session rules follow resolved agent rules. An explicit configured deny is checked before project-scoped saved allows. Choosing always persists an approval; saved actions/resources became editable in 2.1.0. Policy hooks can turn the permission result into deny, and filter providers, MCP servers and skills. Plugin admission checks integration.use before loading an external module. Global policy follows project policy, then connected Console organization policy follows both. The two policy/Console built-ins are guarded against configuration removal. Malformed local policy statements are dropped with a warning; the Console decoder also omits action/effect values that an old client does not understand.

Channel: tagged-release. Half: both. Date: 2026-10-20.

Operator consequence: Inspect saved approvals as durable project state and test a denied action on the actual client/server version before relying on organization policy. Deny untrusted plugin installation as an integration decision; an admitted plugin is executable host code and permission hooks are not a confinement mechanism for it. These paths establish ordinary mediation and configuration precedence, not complete enforcement against arbitrary trusted plugins or every shell side effect. The useful primitive is centrally expressed policy; its cost is maintaining policy compatibility and a small, representative denial test, not approving every repeated call.

Receipt

Finding metadata

Run: 2026-10-24-weekly-digest-2026-10-13_2026-10-24-frontier-v0

Finding ID: 2026-10-24-opencode-project-approvals-persist-while-managed-policy-can-deny-a-configured-tool-or-integration

Profile citations

  • opencode / claim / saved-approvals-and-managed-policy
  • opencode / posture / governance

Source links

Primary links, including exact changelog lines when available.

Versioned source: run artifact