[BUG] Slash commands appear duplicated in /help output with one set marked "(project)"
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?
Description:
When running /help, custom slash commands from ~/.claude/commands/ appear twice in
the output, with one set marked "(project)" even though there is no project-level
.claude directory.
Environment:
- Claude Code version: 2.025
- OS: macOS (Darwin 24.5.0)
- Working directory: ~/1brutus (not a project with .claude/)
- User-level config: ~/.claude/ (git clone of custom config repo)
Configuration:
- User-level config at: ~/.claude/
- 6 slash commands in ~/.claude/commands/ (arch.md, dbg.md, pe.md, swe.md,
test-health.md, tl.md)
- 2 hooks in ~/.claude/hooks/ (pre_safety_check.sh, post_telemetry.sh)
- settings.json with hooks configuration
- agents/ and skills/ directories with documentation
- Project-level config: None (no .claude/ directory in ~/1brutus)
Each command appears exactly twice, with one set labeled "(project)":
❯ /arch Software Architect agent for feature integration planning
❯ /arch Software Architect agent for feature integration planning
/dbg Code Debugger agent for troubleshooting runtime errors and
/dbg Code Debugger agent for troubleshooting runtime errors and
/pe Production Engineering agent for infrastructure operations
/pe Production Engineering agent for infrastructure operations
/swe Software Engineering agent for feature implementation with
/swe Software Engineering agent for feature implementation with
/test-health Generate test health report with flaky and slow test
↓ /test-health Generate test health report with flaky and slow test
analysis (project)
Additional context:
- The commands themselves work correctly despite appearing twice
- The "(project)" label appears to be incorrect - there is no project-level config
- Previously had some .md files in hooks/ directory (removed) and settings.json
was missing (now added), but duplicates persist after fixing these issues
- Config repo: https://github.com/acartine/osterman
Verification performed:
# Confirmed only one source of commands
ls ~/.claude/commands/
# arch.md dbg.md pe.md swe.md test-health.md tl.md
# Confirmed no project-level config
ls .claude/
# ls: .claude/: No such file or directory
# Confirmed no obsolete hook .md files
ls ~/.claude/hooks/
# post_telemetry.sh pre_safety_check.sh
What Should Happen?
Each slash command should appear once in /help output.
Error Messages/Logs
Steps to Reproduce
- Clone custom .claude config to ~/.claude/ (e.g., git clone
https://github.com/acartine/osterman.git ~/.claude)
- Work in a project directory with no project-level .claude/ (e.g., cd ~/1brutus)
- Start Claude Code
- Run /help
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.025
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
iTerm2
Additional Information
<img width="603" height="445" alt="Image" src="https://github.com/user-attachments/assets/35677f72-47af-40fa-a82c-1e6c903dd94c" />
https://github.com/acartine/osterman.git (to reproduce user level .claude state)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗