[BUG] Claude Code not finding custom commands in ~/.claude/commands or ./claude/commands

Resolved 💬 23 comments Opened May 21, 2025 by mattmaslin Closed Jul 30, 2025
💡 Likely answer: A maintainer (bcherny, collaborator) responded on this thread — see the highlighted reply below.

Environment

  • Platform (select one):
  • [X] Anthropic API
  • [ ] AWS Bedrock
  • [ ] Google Vertex AI
  • Claude CLI version: 0.2.124
  • Operating System: Windows 11 - Ubuntu WSL
  • Terminal: Windows Terminal

Bug Description

Claude Code CLI tool fails to discover and load custom commands stored in the expected directories (~/.claude/commands or ./claude/commands).

Steps to Reproduce

  1. Create a test.md file under ~/.claude/commands or ./claude/commands
  2. Start Claude CLI with claude command
  3. No custom commands appear when trying to access via /user:test or /project:test

Expected Behavior

Files under ~/.claude/commands should load as /user: commands and ./claude/commands should load as /project: commands in the Claude CLI.

Actual Behavior

No custom commands available

Debugging Information

  1. Verified that the command files exist in the correct locations
  2. No error messages are displayed when claude starts or with --debug

Additional Context

Custom commands were functioning correctly in previous versions. This issue appeared after the latest update.

View original on GitHub ↗

23 Comments

mattmaslin · 1 year ago

I tested loading claude from a new directory and the /user:* prompts showed up. If I renamed the folder in ~/.claude/projects to a different name, the prompts showed up for existing projects when I restarted Claude

nsouto · 1 year ago

I'm having this same issue.

I don't use /user: commands and mostly have only /project: commands, but I can't seem to get them to load.

This happened with a recent update of about 2 days ago if I'm not mistaken.

davidpp · 1 year ago

Same issue, started happening to me today.

bcherny collaborator · 1 year ago

Hi! Are you running claude from the same directory that your .claude folder is in, or from another directory?

mattmaslin · 1 year ago
Hi! Are you running claude from the same directory that your .claude folder is in, or from another directory?

Yes, running from an existing project with a .claude/commands folder does not load the .md files as /project: command or the user scoped ones.

  1. Running claude for the first time in a new folder loads them correctly
  2. renaming the project file in ~/.claude/projects will fix an older projects.
codelahoma · 1 year ago

Started seeing this yesterday. Today with 0.2.126 it seems to have gone from intermittently loading .claude/commands to never loading.

quigles1977 · 1 year ago

Same issue

krisquigley · 1 year ago

I'm having the same issue too. Also with v1

quigles1977 · 1 year ago

This fixed the issue for me on MacOS: (I believe its some kind of caching issue)

1. Stop Claude Code

pkill -f claude

2. Backup your commands

cp -r .claude/commands/ ~/Desktop/claude-commands-backup/

3. Remove all Claude Code data

rm -rf ~/.claude/
rm -rf ~/Library/Preferences/com.anthropic.claude-code.plist
rm -rf ~/Library/Caches/com.anthropic.claude-code/
rm -rf ~/Library/Application\ Support/Claude\ Code/

4. Reinstall Claude Code

npm uninstall -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code

5. Restore commands

mkdir -p .claude/commands/
cp -r ~/Desktop/claude-commands-backup/* .claude/commands/

ctrlbrk42 · 1 year ago

Same issue here

ywatanabe1989 · 1 year ago

For me, running rm -r ~/.claude/projects/-path-to-your-project (and restarting the session?) resolved the issue where commands were not being recognized with / on WSL Ubuntu.

ctrlbrk42 · 1 year ago

What I ended up doing was modifying .claude/settings.json and adding the 'cleanupPeriodDays' and kept lowering it and re-loading Claude. It eventually got rid of whichever JSONL was causing the problem. Prior to this I tried jq and all passed validation, so who knows. But I am just happy to have my custom commands back.

shyraptor · 1 year ago
For me, running rm -r ~/.claude/projects/-path-to-your-project (and restarting the session?) resolved the issue where commands were not being recognized with / on WSL Ubuntu.

This seems to be the simplest solution on WSL Ubuntu.

uditrana · 1 year ago

I ran running into this issue on a Ubuntu machine that is not WSL, but SSH'd via VS Code in from a Windows computer (if that is relevant).

Running rm -rf ~/.claude/projects and relaunching the session fixed it for me.

ywatanabe1989 · 1 year ago

I started using the function below to remove the last n history json file(s) and this seems working.

cld_reset_history() {
    # Delete the latest n JSONL files from Claude project history
    # Usage: cld_reset_history [num_files]
    # Default: deletes 1 file if num_files not specified
    
    GREEN='\033[0;32m'
    YELLOW='\033[0;33m'
    RED='\033[0;31m'
    NC='\033[0m'
    echo_success() { echo -e "${GREEN}$@${NC}"; }
    echo_warning() { echo -e "${YELLOW}$@${NC}"; }
    echo_error() { echo -e "${RED}$@${NC}"; }

    local num_files=${1:-1}
    local current_path="$(realpath $(pwd))"
    local cld_project_name=$(echo "$current_path" | sed 's|/|-|g' | sed 's|\.|-|g' | sed 's|_|-|g')
    local cld_history_dir="$HOME/.claude/projects/$cld_project_name"

    if [ ! -d "$cld_history_dir" ]; then
        echo_error "Claude project directory not found: $cld_history_dir"
        return 1
    fi

    files_to_delete=($(ls -t --color=never "$cld_history_dir"/*.jsonl 2>/dev/null | head -n $num_files))

    if [ ${#files_to_delete[@]} -eq 0 ]; then
        echo_warning "No JSONL files found"
        return 1
    fi

    for file in "${files_to_delete[@]}"; do
        rm -f "$file"
        if [ ! -f "$file" ]; then
            echo_success "Deleted: $(basename $file)"
        else
            echo_error "Failed to remove: $(basename $file)"
        fi
    done
}
rcdailey · 1 year ago

I'm still seeing this today on version 1.0.31 on macos. What's more concerning is that commands don't work at all, this isn't just an auto-completion/UX issue. For example I have a custom command at ~/.claude/commands/commit.md, and if I type /user:commit in Claude it doesn't even load the file.

sadly the shared workarounds aren't usable for me because I don't even have a projects directory under ~/.claude

Really crazy that such a huge issue has been open for a month with no fix.

ywatanabe1989 · 1 year ago

Hi @rcdailey

I noticed that the prefix syntax for user/project level specification has been removed in recent versions. The new format appears to be /commit <markdown contents> (user), though I am not sure for MacOS.

kauffinger · 1 year ago

Watch out with newer versions of claude code on macos. For some reason my configuration path changed from

~/.claude to ~/.config/claude

Moving my commands folder to ~/.config/claude fixes the issue of not discovering commands for me.

See #1455

rcdailey · 1 year ago

Yes via another issue I realized that nothing was actually broken, there's just apparently a lack of proper documentation updates when changes are made to claude code. I verified everything works great after moving all my files to ~/config/claude.

Thanks for the follow up replies!

JustMaier · 11 months ago

Looks like there might be a bug in v1.0.62 on native Windows that makes it not recognize commands anymore. Downgrading and disabling auto updates fixed the issue for me.

npm un -g @anthropic-ai/claude-code   
npm i -g @anthropic-ai/claude-code@1.0.61
claude config set -g autoUpdates disabled

Just be sure to turn autoUpdates back on once the issue is resolved.

Edit: Looks like that autoUpdate config isn't honored and claude still updates once it starts up 🙄

konbakuyomu · 11 months ago
Looks like there might be a bug in v1.0.62 on native Windows that makes it not recognize commands anymore. Downgrading and disabling auto updates fixed the issue for me. npm un -g @anthropic-ai/claude-code npm i -g @anthropic-ai/claude-code@1.0.61 claude config set -g autoUpdates disabled Just be sure to turn autoUpdates back on once the issue is resolved. Edit: Looks like that autoUpdate config isn't honored and claude still updates once it starts up 🙄

Thank you, this method is very helpful

ant-kurt collaborator · 11 months ago

This should be resolved in v1.0.63.

github-actions[bot] · 11 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.