You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The permission.ask plugin hook is still declared in the public Hooks type, but it has not been invoked anywhere since v1.3.0 (removed March 2026). Plugins that register it load cleanly, typecheck, and silently never fire — nothing warns, nothing errors.
This is not hypothetical: we had a sound-notification plugin that registered permission.ask to chime on permission prompts. After upgrading it became a silent no-op, and an agent sat waiting on a permission prompt unnoticed for an hour.
Description
The
permission.askplugin hook is still declared in the publicHookstype, but it has not been invoked anywhere since v1.3.0 (removed March 2026). Plugins that register it load cleanly, typecheck, and silently never fire — nothing warns, nothing errors.This is not hypothetical: we had a sound-notification plugin that registered
permission.askto chime on permission prompts. After upgrading it became a silent no-op, and an agent sat waiting on a permission prompt unnoticed for an hour.Evidence
The hook is declared, never called:
packages/plugin/src/index.ts(line 261, dev):rg '"permission\.ask"'acrosspackages/at bothv1.18.29anddevshows zero call sites — only the declaration.It used to work:
v1.1.53,packages/opencode/src/permission/index.tscalled:Removal history (between
v1.1.53andv1.3.0):f015154314—refactor(permission): effectify PermissionNext(refactor(permission): effectify PermissionNext + fix InstanceState ALS bug #17511, 2026-03-14): last version containing the trigger2fc06c5a17—chore(permission): delete legacy permission module(chore(permission): delete legacy permission module #17534, 2026-03-15): module deletedv1.3.0— first release without the invocationStale references that keep plugin authors writing dead handlers:
customize-opencodeskill still lists it as a live hook:packages/core/src/plugin/skill/customize-opencode.md(line 354, dev)Repro
~/.config/opencode/plugin/x.tsbashset toask).permission.askedfires normally (same flow the TUI renders).Expected
Either:
"permission.ask"from theHookstype (and from the bundledcustomize-opencodeskill), so plugin authors aren't led into a silent no-op, orEither way, the skill should point plugin authors at the replacement: reacting to the
permission.askedbus event via theeventhook.Environment
v1.18.29(verified broken; broken sincev1.3.0)