denial-explainer

by CJ · ★ 0 · updated today

Toastsvalidates

0

Says which rule blocked an action in auto mode and the allow rule that would cover it

install denial-explainer

Install

/plugin marketplace add cpeaustriajc/cj-stack
/plugin install denial-explainer@cj-stack

Then run /reload-plugins or start a new session. Requires Claude Code 2.1.287+.

View source on GitHub

What it hooks into

From an automated scan with claude plugin validate, not a security review. Mods run with your permissions; read the code before installing.

Events
classic.PermissionDenied
API calls
$.state.get$.state.set$.ui.toast
Can see
classic hooks
Reach
level 1 of 3 other: $.state.getother: $.state.setdraws

Origin

How it got here
Automated scan of public GitHub repos, via the CC0 dataset awesome-claude-code-mods (scan of ).
Repository
github.com/cpeaustriajc/cj-stack
Path in repo
mods/denial-explainer
Source commit
b06d1ef the exact code the scan read
Author
CJ @cpeaustriajc
License
No license declared — ask the author before reusing code.
First published
Last pushed
First listed here

Name and description come from the mod's own manifest. We link to the code; we don't host it, and it stays under its author's license.

More from cpeaustriajc/cj-stack

hone-nudge

cpeaustriajc/cj-stack

Suggests /hone when you corrected Claude during a cj-stack skill run

★ 0Automation

linear-gate

cpeaustriajc/cj-stack

Holds every Linear write until you allow it.

★ 0ReskinsGuards

loop-brake

cpeaustriajc/cj-stack

Ends a turn after N forced Stop-hook continuations so a looping goal hook cannot burn your usage

★ 0Status linePrompt

memory-lint

cpeaustriajc/cj-stack

Denies an auto-memory write that holds task state, one-off references or repo detail, so memory keeps only what is worth relearning

★ 0Guards

session-modes

cpeaustriajc/cj-stack

/mode audit, no-pr, chat and product: a working mode enforced for the whole session

★ 0Status lineGuardsCommands

usage-pace

cpeaustriajc/cj-stack

Weekly usage in the status line, and whether it lasts until the reset

★ 0Status line