Incantory
Sign in
Text promptMITNot scanned

List Pending

List the review actions that the review-governance policy blocked in this session. protect-mcp 0.7.4 writes no receipt for a denied call, so the list comes from the session, not from ./review-receipts/.

wshobson/agentsv10 stars · 0 forks · 0 makes≈580 tokens


# List Pending Reviews

List the review-surface actions that the review-governance policy blocked in
the current Claude Code session. These are candidates for human approval via
`/approve-review`.

protect-mcp 0.7.4 writes a receipt only for a tool call that ran. A denied
call never runs, so it has no receipt, and `./review-receipts/receipts.jsonl`
cannot show denials. The PreToolUse hook blocks a denied call with exit code
2, and Claude Code shows that block in the session, so the session is where
denials are visible.

## Usage

```
/list-pending
/list-pending --last 5
```

## What this does

1. Looks back through the current session for tool calls that a PreToolUse
   hook blocked.
2. Keeps the most recent N (default 10).
3. Prints each one with the tool name and the command or file path.

It cannot list denials from earlier sessions, because protect-mcp 0.7.4 does
not log them.

## Check a command against the policy

To check whether a specific command is denied right now, run the policy
evaluation in a shell. Exit 2 means the policy denies it, and exit 0 means it
is allowed:

```bash
npx protect-mcp@0.7.4 evaluate --policy ./review-governance.cedar \
  --tool Bash --input '{"command":"gh pr review 42 --approve"}'
```

The evaluation ignores the approval flag, so it shows what the policy does
when no approval window is open.

## What to show the user

```
Blocked in this session (most recent first, top 10):

  Bash   gh pr review 42 --approve --body 'LGTM'
  Write  .github/workflows/ci.yml
  Bash   gh issue comment 18 --body '...'

To approve one of these and retry, run:
  /approve-review "<reason>"
Then retry the original tool call.
```

## When there are no denials

```
No tool call was blocked in this session.
```

This is the common state. It means either the agent has not attempted any
review-surface actions, or the approval flag has been present for every
attempt.

## Notes

- The command reads the session only. It does not read or change
  `./review-receipts/`.
- A call made while `./.review-approved` exists skips the policy, so it is
  never blocked and never appears here.

## References

- Approve an action: `/approve-review "<reason>"`
- Verify the signed receipts: the "Verifying the receipts" section of the
  review-agent-setup skill
- Plugin README: `../README.md`