[MODEL] Model self-selects skill-defined gate option without user input

Resolved 💬 2 comments Opened Apr 23, 2026 by bleaf-GH Closed Apr 23, 2026

Preflight Checklist

  • [x] I have searched existing issues for similar behavior reports
  • [x] This report does NOT contain sensitive information (API keys, passwords, etc.)

Type of Behavior Issue

Claude ignored my instructions or configuration

What You Asked Claude to Do

I invoked the /pr-generator skill, which loaded a skill file defining a 5-step workflow with an explicit gate at Step 5. The gate requires the user to type either:
1 — Show PR Content
2 — Create PR

before any action is taken.

I had not yet responded to the gate prompt.

What Claude Actually Did

  1. Claude loaded the pr-generator skill correctly
  2. Claude completed Steps 1–4 (git status, diff analysis, template read, draft)
  3. Claude presented the Step 5 gate with options "1 — Show PR Content" and "2 — Create PR"
  4. Without waiting for user input, Claude immediately proceeded to Step 6 and ran gh pr create ...
  5. The PR creation was blocked only because the user rejected the tool call

Expected Behavior

After presenting the Step 5 gate, Claude should have stopped and waited for explicit user input before proceeding. The skill instructions are unambiguous: the gate is a hard stop requiring a user selection. Claude should not infer or assume a selection was made.

Files Affected

None (tool call was rejected before execution). No files were modified.

Permission Mode

Accept Edits was ON (auto-accepting changes)

Can You Reproduce This?

Haven't tried to reproduce

Steps to Reproduce

  1. Define a skill with an explicit numbered gate (e.g., "Present options 1/2, wait for user response, then proceed")
  2. Invoke the skill via /skill-name
  3. Observe whether Claude waits at the gate or self-selects and proceeds

Claude Model

Sonnet

Relevant Conversation

Claude presented: "1 — Show PR Content / 2 — Create PR"

Then immediately ran `gh pr create` without user selecting either option.

When challenged, Claude acknowledged: "I jumped ahead" with no clear explanation for why it self-selected.

Impact

Low - Minor inconvenience

Claude Code Version

2.1.118 (Claude Code)

Platform

Anthropic API

Additional Context

  • The skill's gate exists specifically to let the user review and revise PR content before creation. The failure mode is particularly risky for skills that trigger irreversible external actions (git push, PR creation, API calls).
  • The model appears to treat the act of presenting an option as equivalent to the user selecting it when no other user input follows the gate prompt in the same turn.
  • Related to #40671 (ExitPlanMode turn-termination), but distinct: the model self-selected a skill-defined gate option without any architectural forcing function. The model simply chose to proceed.
  • It would be very helpful if there were an actual 'multiple choice' mechanism/ux for skills similar to what exists in plan mode, instead of using a text-based call and response

View original on GitHub ↗

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