[BUG] Claude ignores hook instructions despite system prompt directive

Resolved 💬 3 comments Opened Jan 21, 2026 by Chris-tmas Closed Jan 24, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Bug Description

Claude Code ignores UserPromptSubmit hook output that instructs it to use the Skill tool, despite the system prompt explicitly stating:

"Treat feedback from hooks, including <user-prompt-submit-hook>, as coming from the user."

Steps to Reproduce

  1. Configure a UserPromptSubmit hook that detects keywords and outputs skill suggestions
  2. User sends a prompt that triggers the hook
  3. Hook successfully outputs the instruction (verified via <system-reminder> tag)
  4. Claude ignores the hook instruction and uses other tools instead

Expected Behavior

Claude should treat hook output as user instruction and immediately invoke the Skill tool as directed.

Actual Behavior

Claude ignores the hook instruction and proceeds with its own tool selection.

Environment

  • Claude Code version: 2.1.11
  • Model: claude-opus-4-5-20251101
  • OS: Windows

Additional Context

When asked why it ignored the instruction, Claude responded: "I don't know why I ignored it. I cannot explain my internal behavior."

What Should Happen?

스킬즈를 호출해야 합니다.

Error Messages/Logs

Steps to Reproduce

  1. Configure a UserPromptSubmit hook that detects keywords and outputs skill suggestions
  2. User sends a prompt that triggers the hook
  3. Hook successfully outputs the instruction (verified via <system-reminder> tag)
  4. Claude ignores the hook instruction and uses other tools instead

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.14

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

When asked why it ignored the instruction, Claude responded: "I don't know why I ignored it. I cannot explain my internal behavior."

View original on GitHub ↗

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