欢迎访问易策 · ZeroToOne,从0到1的成长与探索!

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/

评论