[BUG] Skill tool incorrectly triggers Bash permission check on markdown content

Resolved 💬 3 comments Opened Jan 27, 2026 by devseunggwan Closed Jan 30, 2026

Bug Description

The Skill tool incorrectly triggers Bash command permission checks when loading markdown files that contain shell-like characters (e.g., !) in their text content.

Steps to Reproduce

  1. Create a skill file (.claude/skills/my-skill/SKILL.md) with content containing backtick-quoted exclamation marks:

```markdown

  • Breaking changes: add ! after type (e.g., feat!:)

```

  1. Invoke the skill using the Skill tool
  1. Observe the error

Expected Behavior

The Skill tool should load markdown content as plain text without running it through Bash permission checks.

Actual Behavior

Error message:

Bash command permission check failed for pattern "!` after type (e.g., `": This command uses shell operators that require approval for safety

Root Cause Analysis

The skill loading mechanism appears to pass file content through the same permission checker used for Bash commands. The ! character in markdown documentation text is being interpreted as a shell history expansion operator.

Environment

  • Claude Code CLI
  • macOS Darwin 25.2.0

Suggested Fix

The Skill tool should bypass Bash permission checks since it's loading documentation/template content, not executable commands.

View original on GitHub ↗

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