Docs about user config directory `~/.claude` appear to contradict actual CLI app behavior

Status Closed — not planned
Maintainer reply ✓ Yes — bcherny
Activity 15 comments · opened Jun 18, 2025 · closed Aug 10, 2025
💡 Likely answer: A maintainer (bcherny, collaborator) responded on this thread — see the highlighted reply below.

Bug Description
Claude Code seems to no longer be reading from the ~/.claude directory? All of my custom commands are gone and the CLAUDE.md file within that directory is not in the context.

Environment Info

  • Platform: linux
  • Terminal: ghostty
  • Version: 1.0.29
  • Feedback ID: fbdaa17e-c904-4efb-99c1-9b116a081980

Errors

[]

EDIT: It appears the location of the user config directory has changed from ~/.claude to ~/.config/claude in a recent update. I say appears, because there is no mention of the change either in the official docs or the CHANGELOG.

View original on GitHub ↗

15 Comments

ktnyt · 1 year ago

Confirmed this was broken in @1.0.28

For those of you who might be struggling to get your environment to work try the following:

npx @anthropic-ai/claude-code@1.0.27

@joshuadavidthomas hope this works for you too!

bcherny collaborator · 1 year ago

Hi! We recently got rid of the /user: and /project: prefixes. Your commands should still be available. eg.

$ cat ~/.claude/commands/abc.md
a test command

$ claude
> /abc  # before: /user:abc

Can folks confirm this works ok? Docs incoming.

johnhampton · 1 year ago

No, nothing is being loaded from ~/.claude/, not user commands and /status isn’t showing ~/.claude/CLAUDE.md as being loaded. 1.0.27 has the removal of the prefix that you’re referencing and works ok. 1.0.28 and 1.0.29 are broken for me.

Hi! We recently got rid of the /user: and /project: prefixes. Your commands should still be available. eg. $ cat ~/.claude/commands/abc.md a test command $ claude > /abc # before: /user:abc Can folks confirm this works ok? Docs incoming.
ktnyt · 1 year ago

@joshuadavidthomas @johnhampton ~This (at least the bit where \~/.claude was not being read afaict) seems to be fixed in 1.0.30 fyi!~

@bcherny I believe there were several aspects to the issue here but the trouble I was experiencing seems to be fixed. Thanks to the team behind Claude Code it really is a great product.

Update: it seems claude code now reads \~/.config/claude instead of \~/.claude my apologies for the confusion.

joshuadavidthomas · 1 year ago
@joshuadavidthomas @johnhampton ~This (at least the bit where \~/.claude was not being read afaict) seems to be fixed in 1.0.30 fyi!~ @bcherny I believe there were several aspects to the issue here but the trouble I was experiencing seems to be fixed. Thanks to the team behind Claude Code it really is a great product. Update: it seems claude code now reads \~/.config/claude instead of \~/.claude my apologies for the confusion.

Not sure if you're talking about several aspects in regard to my original issue or yours, but to be clear there's only one aspect to mine. Before I updated, I had a bunch of custom commands and a CLAUDE.md in the place the docs said to put my personal user config ~/.claude and everything was working fine. After updating they seemed to no longer be visible to the application. That's it.

If they've decided to move the folder the standard XDG location under the ~/.config directory, that's fine I suppose. It's pretty disappointing though the lack of communication or the simple act of keeping the docs up to date with the actual behavior of the application. The official docs still list ~/.claude directory as the location to put user settings.

johnhampton · 1 year ago

I moved ~/.claude to ~/.config/claude and my user slash commands were accessible and my user CLAUDE.md was loaded. But as @joshuadavidthomas noted, the docs still indicate that ~/.claude is the correct location for these files.

raw1z · 1 year ago
I moved ~/.claude to ~/.config/claude and my user slash commands were accessible and my user CLAUDE.md was loaded. But as @joshuadavidthomas noted, the docs still indicate that ~/.claude is the correct location for these files.

Excellent! thank you.

joshuadavidthomas · 1 year ago

Edited the issue title and body with a more accurate description.

joshuadavidthomas · 1 year ago

If this is intentional, this is a pretty poor handling of it. Introducing a breaking change in a patch version update with no documentation updates or deprecation warning.. why even use SemVer at that point? Just switch to CalVer or, hell, just a single incrementing v1, v2, v3 versioning scheme.

I2olanD · 1 year ago

For me neither keeping commands under ~/.claude/commands/foo.md nor ~/.config/claude/commands/foo.md work

version: 1.0.31 (Claude Code)

zazer0 · 1 year ago

Been having this issue for a week. Seems bizarre that Anthropic haven't updated their official docs about it.

joshuadavidthomas · 1 year ago

Setting CLAUDE_CONFIG_DIR=$HOME/.claude in my shell seems to return the old behavior. I ended up adding this as a fish alias:

alias claude="env CLAUDE_CONFIG_DIR=$HOME/.claude $HOME/.claude/local/claude"
shashanktomar · 1 year ago

And it breaks again without warning. Now the commands in ~/.config/claude/commands stopped showing up. I can't get it to work from either directory ~/.config/claude/commands/ or `~/.claude/commands/.

EDIT:
@joshuadavidthomas solution of exporting config using CLAUDE_CONFIG_DIR env var worked for me.

joshuadavidthomas · 1 year ago

Ah, looks like this issue has been bubbling as issue for a while! #1455 was opened a month ago and seems related to this issue (as well as many others).

Frustrating because out of all the agentic CLI tools, Claude Code is clearly the best at the moment, but the actual software development practices around it feel lacking (misuse of SemVer, confusing/misleading/potentially-out-of-date docs, inconsistently updated and incomplete CHANGELOG, etc.). Sorry to the devs behind the tool for that blunt assessment, but well, it's how I feel. 🤷‍♂️

github-actions[bot] · 1 year 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.