Slash commands not recognized when .claude is a symlink
Environment:
- Claude Code version: [latest as of October 2025]
- OS: macOS (Darwin 24.6.0)
- Repository: Local git repository
Issue:
Slash commands are not being recognized when the .claude directory is a symlink.
Setup:
```bash
# Repository structure
.claude -> .agents/.claude # Symlink at repo root
.agents/.claude/commands/git-commit.md # Command file
The symlink is valid and files are accessible:
$ cat .claude/commands/git-commit.md # Works fine
$ ls -la .claude
lrwxr-xr-x 1 user staff 15 Oct 27 12:23 .claude -> .agents/.claude
Expected behavior:
Command files in .claude/commands/*.md should be recognized as slash commands and available via the SlashCommand tool, regardless of whether .claude is a symlink or regular directory.
Actual behavior:
No slash commands are detected. The SlashCommand tool shows no available custom commands.
Regression:
This configuration worked correctly before the most recent Claude Code upgrade, in version 2.0.25. It appears to be a regression introduced in the latest version.
Workaround:
Moving .claude to be an actual directory at the repo root instead of a symlink resolves the issue, but this breaks the existing
repository organization structure.
```
Environment Info
- Platform: darwin
- Terminal: iTerm.app
- Version: 2.0.28
- Feedback ID:
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗