[BUG] Skills System References Non-Existent file_read Tool
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?
Summary
The Claude Desktop skills system contains a configuration error that references a non-existent file_read tool, causing skills to fail when attempting to read their own SKILL.md and reference files.
Problem Description
When a skill is invoked in Claude Desktop, the <additional_skills_reminder> section instructs:
please begin the response to each and every request in which computer use is implicated
by using the file_read tool to read the appropriate SKILL.md files
However, there is no file_read tool available to skills.
What Happens
- Skill receives instruction to use file_read tool
- Skill searches available tools, finds no file_read
- Skill guesses and attempts filesystem:read_text_file as closest match
- This fails because:
- Skills run in containers with files mounted at /mnt/skills/<skill-name>/
- filesystem:* tools are restricted to user directories (e.g., /Users/)
- filesystem:* tools cannot access /mnt/skills/ paths
- Skill cannot read its own SKILL.md → goes off course or fails
Available Tools for Skills
According to the error trace, skills have access to:
- filesystem:read_text_file (doesn't work for /mnt/skills/)
- filesystem:read_file (deprecated, doesn't work for /mnt/skills/)
- bash_tool ✅ (works for /mnt/skills/)
- view ✅ (works for /mnt/skills/)
What Should Happen?
Correct Fix
The <additional_skills_reminder> instruction should be updated to use tools that actually work for skill containers:
Option 1 - Use bash_tool:
please begin the response to each and every request in which computer use is implicated
by using the bash_tool to cat the appropriate SKILL.md files from /mnt/skills/<skill-name>/
Option 2 - Use view tool:
please begin the response to each and every request in which computer use is implicated
by using the view tool to read the appropriate SKILL.md files from /mnt/skills/<skill-name>/
Impact
- Skills cannot reliably access their own instruction files
- Skills fail or behave incorrectly when they need to reference SKILL.md
- Degrades skill functionality and user experience
Environment
- Claude Desktop (with skills support)
- Skill system version: Current production
- Location of bug: System-level skill configuration (<additional_skills_reminder>)
Error Messages/Logs
Good question - let me trace back exactly why I tried `filesystem:read_text_file`:
Looking at my instructions, in the `<additional_skills_reminder>` section, it says:
please begin the response to each and every request in which computer use is implicated by using the `file_read` tool to read the appropriate SKILL.md files
But here's the issue: **there is no `file_read` tool available to me.** Looking at my available functions, I have:
- `filesystem:read_text_file`
- `filesystem:read_file` (deprecated)
- `bash_tool`
- `view`
So when the instructions said "use the `file_read` tool", I interpreted that as `filesystem:read_text_file` since that's the closest match in my available tools.
**The programmatic error is:** The instructions reference a `file_read` tool that doesn't exist in my function list. This caused me to guess at which tool was meant, and I guessed wrong.
**What the instructions should probably say instead:**
- Use `bash_tool` to cat the SKILL.md file, OR
- Use `view` tool to read the SKILL.md file
Both of those tools work for files in `/mnt/skills/`, whereas the `filesystem:` tools are restricted to `/Users/jaytarzwell`.
So yes, this looks like it could be a documentation mismatch in the skill system instructions that you might want to correct.
Steps to Reproduce
Reproduction
- Create any skill with SKILL.md
- Invoke the skill in Claude Desktop with a task requiring computer use
- Observe skill attempting filesystem:read_text_file and failing
- Check logs for references to non-existent file_read tool
Claude Model
Sonnet (default)
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.0.24 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
When the skill is called it looks for a system tool you haven't provisioned it with. It does eventually find what it has to do but that takes user interventions.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗