[BUG] User and Organization Skills — Metadata Registered in System Prompt but SKILL.md Files Not Mounted in Container

Open 💬 11 comments Opened Feb 17, 2026 by danrparsons

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?

Environment

  • Surface: Claude.ai (web chat interface, Claude Code and Cowork, Opus 4.6)
  • Plan: Team/Enterprise
  • Date: February 16, 2026
  • Platform: macOS (Mac Studio M4) — though this is a server-side container issue

Summary

User-uploaded skills and organization-provisioned skills are correctly registered in the system prompt's <available_skills> block (with names, descriptions, and file paths), but the corresponding SKILL.md files are not mounted in the container's filesystem at runtime. The /mnt/skills/user/ directory does not exist at all. Three of four organization skills are also missing from disk despite being declared.

This means Claude is instructed to use skills that literally don't exist on the filesystem, causing silent failures when Claude attempts to view the SKILL.md files as instructed.

Skills Declared vs. Actually Present

User Skills (declared in <available_skills>)

| Skill Name | Declared Path | Filesystem Status |
|---|---|---|
| hello-world | /mnt/skills/user/hello-world/SKILL.md | ❌ MISSING/mnt/skills/user/ does not exist |
| ld-employee-profiles | /mnt/skills/user/ld-employee-profiles/SKILL.md | ❌ MISSING/mnt/skills/user/ does not exist |

Organization Skills (declared in <available_skills>)

| Skill Name | Declared Path | Filesystem Status |
|---|---|---|
| ld-employee-profiles | /mnt/skills/organization/ld-employee-profiles/SKILL.md | ❌ MISSING |
| ld-vault-update | /mnt/skills/organization/ld-vault-update/SKILL.md | ❌ MISSING |
| ld-vault-read | /mnt/skills/organization/ld-vault-read/SKILL.md | ❌ MISSING |
| people-lookup | /mnt/skills/organization/people-lookup/SKILL.md | ✅ Present |

Public/Example Skills (Anthropic-provided — for comparison)

All 6 public skills and 11 example skills are correctly mounted and readable. This is not a general mount failure — it is specific to user and (most) organization skills.

Steps to Reproduce

  1. Upload custom skills via Settings > Capabilities (ZIP files with valid SKILL.md)
  2. Confirm skills appear in the Settings > Capabilities UI as enabled
  3. Start a new conversation in Claude.ai
  4. Ask Claude to use one of the custom skills (e.g., "hello world" to trigger the hello-world skill)
  5. Claude's system prompt contains the skill metadata in <available_skills> and instructs Claude to view the SKILL.md file
  6. Claude attempts to read the file — file not found

Diagnostic Evidence

$ ls -la /mnt/skills/
total 12
drwxr-xr-x 5 root root   4096 Feb 17 07:26 .
drwxr-xr-x 1  999 ubuntu 4096 Feb 17 07:26 ..
dr-xr-xr-x 1  999 root      0 Jan  1  2000 examples
drwxr-xr-x 3 root root   4096 Feb 17 07:26 organization
dr-xr-xr-x 1  999 root      0 Jan  1  2000 public

$ ls -la /mnt/skills/user/
ls: cannot access '/mnt/skills/user/': No such file or directory

$ find /mnt/skills/organization/ -type f
/mnt/skills/organization/people-lookup/SKILL.md
/mnt/skills/organization/people-lookup/scripts/people_lookup.py
(only 1 of 4 declared org skills present)

$ find /mnt/skills/public/ -name "SKILL.md" -type f
/mnt/skills/public/docx/SKILL.md
/mnt/skills/public/frontend-design/SKILL.md
/mnt/skills/public/pdf/SKILL.md
/mnt/skills/public/pptx/SKILL.md
/mnt/skills/public/product-self-knowledge/SKILL.md
/mnt/skills/public/xlsx/SKILL.md
(all public skills present — confirms mount mechanism works)

Expected Behavior

All skills registered in <available_skills> should have their corresponding SKILL.md files (and any bundled scripts/resources) mounted in the container filesystem at the declared paths. If a skill is enabled and its metadata is injected into the system prompt, the files must be accessible.

Actual Behavior

  • The /mnt/skills/user/ directory is never created
  • 3 of 4 organization skills are declared but not mounted
  • Claude is instructed to read files that don't exist, causing silent skill failures
  • No error is surfaced to the user — the skill just doesn't work

Impact

  • Enterprise adoption blocker: Organization-wide skill deployment (a flagship feature shipped Dec 2025) does not reliably work
  • Silent failure: Users have no indication that skills aren't loading. The Settings UI shows them as enabled, Claude's system prompt references them, but they silently fail at runtime
  • Inconsistent behavior: The same skill may work in one session and fail in another (see related Issue #22163 where a skill worked one day and disappeared the next)
  • Wasted development effort: Teams building custom skills for org-wide deployment cannot reliably test or use them

Related Issues

  • #26131 — 36 user-created skills registered but none appear at runtime; upload endpoint returns HTTP 500
  • #25072 — Skills in ~/.claude/skills/ not loaded after restarts (Claude Code)
  • #24859 — Cowork for Windows plugin skills searched at wrong directory
  • #22163 — Custom skill stopped appearing between sessions without file changes
  • #19212 — Feature request: Skill tool should recognize local skills
  • #14733 — User-provided skills not appearing in /skills command output
  • #11266 — User skills not auto-discovered despite proper structure

Suggested Fix

The container provisioning step that injects skill metadata into the system prompt needs to also ensure the corresponding files are mounted. The root cause appears to be a disconnect between:

  1. Metadata registration (system prompt <available_skills> block) — working correctly
  2. File mounting (populating /mnt/skills/user/ and /mnt/skills/organization/) — failing silently

These two steps should be atomic — if the files can't be mounted, the skill metadata should not be injected into the system prompt, and an error should be surfaced to the user.

What Should Happen?

Properly configured skills should be mounted correctly and operate as expected.

Error Messages/Logs

Steps to Reproduce

1 Upload a skill
2 attempt to use it

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

current version worked then it just broke

Claude Code Version

latest client

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

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