Description
Skills defined in .claude/skills/ directory are not appearing in the Skill tool's available skills list.
Environment
- Platform: Linux (NixOS)
- OS Version: Linux 6.12.63
- Model: claude-sonnet-4-5-20250929
Current Behavior
The Skill tool description shows an empty available skills list:
However, skills exist in .claude/skills/ with proper formatting:
.claude/skills/anki-eng-card/skill.md
.claude/skills/anki-polish-card/skill.md
Both skills have correct frontmatter:
---
name: anki-eng-card
description: Creates English-Russian Anki flashcards in Obsidian...
---
Expected Behavior
Skills from .claude/skills/ should be loaded and appear in the "Available skills:" list, allowing them to be invoked via the Skill tool.
Steps to Reproduce
- Create skills in
.claude/skills/<skill-name>/skill.md with proper frontmatter
- Start Claude Code session
- Check Skill tool description - skills list is empty
- Skills cannot be invoked
Root Cause Analysis
Investigation revealed a permissions issue with the Claude Code temp directory:
$ ls -la /tmp/claude/
drwxr-xr-x 3 root root 4096 Dec 21 11:36 .
drwxrwxrwt 106 root root 12288 Jan 10 21:45 ..
drwxr-xr-x 3 root root 4096 Dec 21 11:36 -etc-nixos
The /tmp/claude/ directory is owned by root:root with 755 permissions, preventing non-root users from creating workspace-specific directories like /tmp/claude/-home-gor-obsidian/.
Error observed:
EACCES: permission denied, mkdir '/tmp/claude/-home-gor-obsidian/tasks'
Claude Code appears to need write access to /tmp/claude/ to process and cache skills, but fails silently when it cannot create the necessary directories.
Potential Fixes
-
User workaround: Change ownership of /tmp/claude/ to the current user
sudo chown -R $USER:$USER /tmp/claude/
-
Claude Code fix: Create temp directories with correct user permissions or handle permission errors gracefully with appropriate error messages
Impact
Users cannot use custom skills even when properly configured, limiting extensibility of Claude Code. This particularly affects NixOS users where system directories may be created with root ownership.
Description
Skills defined in
.claude/skills/directory are not appearing in the Skill tool's available skills list.Environment
Current Behavior
The Skill tool description shows an empty available skills list:
However, skills exist in
.claude/skills/with proper formatting:.claude/skills/anki-eng-card/skill.md.claude/skills/anki-polish-card/skill.mdBoth skills have correct frontmatter:
Expected Behavior
Skills from
.claude/skills/should be loaded and appear in the "Available skills:" list, allowing them to be invoked via the Skill tool.Steps to Reproduce
.claude/skills/<skill-name>/skill.mdwith proper frontmatterRoot Cause Analysis
Investigation revealed a permissions issue with the Claude Code temp directory:
$ ls -la /tmp/claude/ drwxr-xr-x 3 root root 4096 Dec 21 11:36 . drwxrwxrwt 106 root root 12288 Jan 10 21:45 .. drwxr-xr-x 3 root root 4096 Dec 21 11:36 -etc-nixosThe
/tmp/claude/directory is owned byroot:rootwith 755 permissions, preventing non-root users from creating workspace-specific directories like/tmp/claude/-home-gor-obsidian/.Error observed:
Claude Code appears to need write access to
/tmp/claude/to process and cache skills, but fails silently when it cannot create the necessary directories.Potential Fixes
User workaround: Change ownership of
/tmp/claude/to the current userClaude Code fix: Create temp directories with correct user permissions or handle permission errors gracefully with appropriate error messages
Impact
Users cannot use custom skills even when properly configured, limiting extensibility of Claude Code. This particularly affects NixOS users where system directories may be created with root ownership.