[FEATURE] Interactive choice selection for UserPromptSubmit hook blocking

Resolved 💬 4 comments Opened Jan 11, 2026 by PJuniszewski Closed Mar 13, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

When a UserPromptSubmit hook blocks a prompt (exit code 2), it can only display static text. There's no way to present interactive choices.

Current behavior:

  • Hook outputs text to stderr, exit code 2 blocks
  • User sees message but must manually type their choice (add #bypass flag, paste content, etc.)

Proposed Solution

Allow hooks to return structured choices:

```json
{
"decision": "prompt",
"message": "Prompt exceeds token limit",
"choices": [
{"label": "Use trimmed payload", "action": "substitute", "value": "<content>"},
{"label": "Force original", "action": "allow"},
{"label": "Cancel", "action": "block"}
]
}

  Render interactive selection menu (like AskUserQuestion).

### Alternative Solutions

_No response_

### Priority

Critical - Blocking my work

### Feature Category

CLI commands and flags

### Use Case Example

 **Example - Token Guard:**
  Prompt: 5000 tokens (limit: 3500). Trimmed file ready.

  Options:
  - Paste from .min.json
  - Add #trimmer:force to bypass
  - Cancel
  User cannot select these interactively.


### Additional Context

_No response_

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗