Skill tool called without required 'skill' parameter when triggered by natural language

Resolved 💬 3 comments Opened Mar 5, 2026 by Khairul989 Closed Apr 30, 2026

Bug Description

When using natural language that matches a skill's trigger phrases (e.g., "let's wrap up for now"), Claude sometimes calls the Skill tool without the required skill parameter, resulting in:

Error: InputValidationError: Skill failed due to the following issue:
The required parameter `skill` is missing

Steps to Reproduce

  1. Define a skill with trigger phrases in its description (e.g., wrap-up skill with triggers: "wrap up", "let's wrap up", etc.)
  2. Type a natural language message that matches but has extra words: let's wrap up for now
  3. Claude recognizes the trigger and attempts to invoke the Skill tool
  4. The skill parameter is missing from the tool call → error

Expected Behavior

Claude should call Skill(skill: "wrap-up") with the correct skill name.

Actual Behavior

Claude calls Skill() with no parameters, causing an InputValidationError.

Notes

  • Using the explicit slash command /wrap-up works reliably
  • The issue seems to occur when the trigger phrase has extra trailing words ("for now") that may confuse parameter construction
  • This is intermittent — sometimes it works, sometimes it doesn't
  • Observed on Claude Opus 4.6

Environment

  • Claude Code CLI
  • macOS
  • Custom skills with trigger phrase descriptions

View original on GitHub ↗

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