打开网易新闻 查看精彩图片

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

不要反过来。不要先 claudecd。记忆和配置都不会跟着你走的。

如果已经开错了,唯一的补救就是 /clearexit → 重新进目录 → 重新启动。没有别的办法。

一句话总结

临时读一两个文件,用绝对路径没问题。但如果是长期开发、写代码、执行任务,启动前 cd 对,胜过启动后各种补救。

这坑我替你踩过了。