Claude Code 工作目录:一个很多人忽略的坑
今天刚学会,我就来分享了
作为一个编程小白,我踩过的每一个真实的坑都是非常好的新手教程。以前学像素画没有记录,这次ai 编程绝不能没有记录
那天在终端目录 ~code> 启动了 Claude Code,然后 cd 进项目开始干活。
写了两小时,感觉挺顺。
结果隔天重新开会话,直接进项目目录启动,发现昨天让它记住的东西全没了。
这才发现:Claude Code 的工作目录,不是你想切就能切的。
哪些东西会「记住」启动时的目录?
有些东西确实会跟着你走。
比如 Bash 命令,cd 之后 npm run dev 会在正确位置跑。相对路径的文件操作也没问题Read({file_path: "src/App.tsx"}) 会基于你当前目录找。
但也就这些了。
真正麻烦的是「不会跟着走」的那些
我列一下我踩过的几个坑。
记忆系统是绑死的。
你在 ~ 启动,记忆就写在终端目录的 .claude/projects/ 底下。
后来 cd 进项目?
记忆还是写在终端目录。
下次你学乖了,直接进项目启动——结果那些记忆根本不会载入。等于白记。
CLAUDE.md 也不会重新读。
假设你的项目根目录有一份 coding 规范,你 cd 进去之后它不会自动载入。
因为 CLAUDE.md 只在会话启动时读一次。
还有 LSP。我在终端目录启动,后来 cd 进 Node.js 项目,问某个变量的类型,LSP 完全找不到 node_modules,给我报一堆错。当时还以为环境坏了,折腾半天才发现是这个问题。
Git 相关技能也会 confused。比如 superpowers:using-git-worktrees 这种,它预设「会话工作目录 = 项目根目录」。你频繁切换,它会搞混。
所以正确做法是什么?
很简单:启动前先 cd 进去。
cd ~/projects/my-awesome-app
claude不要反过来。不要先 claude 再 cd。记忆和配置都不会跟着你走的。
如果已经开错了,唯一的补救就是 /clear → exit → 重新进目录 → 重新启动。没有别的办法。
一句话总结
临时读一两个文件,用绝对路径没问题。但如果是长期开发、写代码、执行任务,启动前 cd 对,胜过启动后各种补救。
这坑我替你踩过了。
热门跟贴