[BUG] Skills not discovered on Linux due to case-sensitive filename matching (SKILL.md vs skill.md)

Resolved 💬 5 comments Opened Jan 9, 2026 by siroccomask Closed Mar 11, 2026

Environment

  • OS: Ubuntu 24.04.2 LTS (tested on two separate Linux machines)
  • Claude Code version: 2.1.2
  • Filesystem: ext4 (case-sensitive)
  • Comparison: Same skills work correctly on macOS

Bug Description

Skills created with skill.md (lowercase) are not discovered on Linux but work on macOS. This is because Linux filesystems (ext4) are case-sensitive while macOS (APFS/HFS+) is case-insensitive by default.

Claude Code appears to look for SKILL.md (uppercase), which:

  • ✅ Works on macOS (case-insensitive, finds skill.md)
  • ❌ Fails on Linux (case-sensitive, does not find skill.md)

Steps to Reproduce

  1. Create a skill on macOS or Linux with the file named skill.md (lowercase)
  2. On macOS: skill appears in / autocomplete ✅
  3. On Linux: skill does not appear, "skill not found" error ❌

Workaround

Rename skill.md to SKILL.md:

find ~/.claude/skills -name "skill.md" -type f -exec sh -c 'mv "$1" "$(dirname "$1")/SKILL.md"' _ {} \;

Expected Behavior

Claude Code should match skill filenames case-insensitively, or clearly document that SKILL.md (uppercase) is required.

Suggested Fix

In the skill discovery code, use case-insensitive matching for SKILL.md / skill.md to ensure cross-platform compatibility.

View original on GitHub ↗

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