Claude Code 修改项目名称或路径后如何迁移记忆文件
什么是 Claude Code 项目记忆
Claude Code 有一个持久化记忆系统,会为每个项目自动维护一份 MEMORY.md 文件。每次启动 Claude Code 时,它会根据你当前所在的工作目录路径自动加载对应的记忆文件。
记忆文件存储位置:
~/.claude/projects/{路径标识}/memory/MEMORY.md
其中 {路径标识} 是项目绝对路径中的 / 替换为 -。例如:
项目路径: /Users/zhangsan/projects/my-app
记忆目录: ~/.claude/projects/-Users-zhangsan-projects-my-app/memory/MEMORY.md
什么时候需要迁移
以下任一情况都会导致 Claude Code 找不到原有记忆:
- 改名:
my-app改为my-app-v2 - 移动:从
~/Desktop/my-app移到~/projects/my-app - 改名 + 移动:同时发生
因为 Claude Code 是通过完整路径来匹配记忆的,路径变了就等于一个全新项目,历史记忆不会自动跟过来。
迁移步骤
第一步:确认旧记忆目录
把旧路径中的 / 替换为 - 就是目录名:
# 假设旧路径是 /Users/zhangsan/Desktop/my-app
# 对应的记忆目录是:
ls ~/.claude/projects/-Users-zhangsan-Desktop-my-app/memory/
第二步:创建新记忆目录
# 假设新路径是 /Users/zhangsan/projects/my-app-v2
mkdir -p ~/.claude/projects/-Users-zhangsan-projects-my-app-v2/memory
第三步:复制记忆文件
cp ~/.claude/projects/-Users-zhangsan-Desktop-my-app/memory/MEMORY.md ~/.claude/projects/-Users-zhangsan-projects-my-app-v2/memory/MEMORY.md
第四步:验证
# 进入新目录启动 Claude Code
cd /Users/zhangsan/projects/my-app-v2
claude
启动后 Claude 应该能识别项目上下文,说明记忆已生效。
完整示例
场景一:只改名
# 项目从 my-app 改名为 my-app-pro
mv ~/projects/my-app ~/projects/my-app-pro
# 迁移记忆
mkdir -p ~/.claude/projects/-Users-zhangsan-projects-my-app-pro/memory
cp ~/.claude/projects/-Users-zhangsan-projects-my-app/memory/MEMORY.md ~/.claude/projects/-Users-zhangsan-projects-my-app-pro/memory/MEMORY.md
场景二:只移动
# 项目从桌面移到 projects 目录
mv ~/Desktop/my-app ~/projects/my-app
# 迁移记忆
mkdir -p ~/.claude/projects/-Users-zhangsan-projects-my-app/memory
cp ~/.claude/projects/-Users-zhangsan-Desktop-my-app/memory/MEMORY.md ~/.claude/projects/-Users-zhangsan-projects-my-app/memory/MEMORY.md
场景三:不确定新目录名
# 先进入新目录启动 Claude Code
cd /新路径/my-app
claude
# Claude 会自动创建新的记忆目录(但内容为空)
# 退出后查看新创建的目录
ls ~/.claude/projects/ | grep my-app
# 找到新目录后,把旧的 MEMORY.md 复制进去
cp 旧目录/memory/MEMORY.md 新目录/memory/MEMORY.md
常见问题
旧的记忆文件可以删除吗?
可以。确认新路径下记忆正常后,旧的整个目录都可以删除:
rm -rf ~/.claude/projects/-Users-zhangsan-Desktop-my-app
对话记录(.jsonl)需要迁移吗?
.jsonl 文件是历史对话记录,用于 claude --resume 续接旧会话。如果不需要续接旧对话,可以不迁移。记忆文件(MEMORY.md)和对话记录是独立的。
MEMORY.md 里面可以写什么?
建议记录:
- 项目架构和技术栈
- 关键文件路径和作用
- 已修复的 bug 和踩过的坑
- 部署流程和服务器信息
- 编码约定和命名规范
Claude Code 每次启动会自动读取前 200 行,保持简洁即可。详细内容可以拆分到同目录下的其他 .md 文件中。
Windows 和 Linux 路径规则一样吗?
规则一样,都是用 - 替换路径分隔符。Windows 示例:
项目路径: C:Userszhangsanprojectsmy-app
记忆目录: ~/.claude/projects/-C-Users-zhangsan-projects-my-app/memory/
评论