实际传输的内容
按照 Claude Code 自身文档的表述,它拥有“两个互补的记忆系统。两者都会在每次对话开始时加载。”一个由你编写,一个由 Claude 编写。它们的迁移方式截然不同。
你的 CLAUDE.md 会迁移,但关于导入有一个注意事项。 Claude Code 会在桌面的 Cowork 会话中读取 CLAUDE.md。改变的是它处理其中 @ 导入的方式。通常,用户范围的文件是受信任的:“除了在桌面的 Cowork 会话中,Claude Code 会在没有对话框的情况下加载它们的导入,并像信任你其余的个人配置一样信任它们。”在 Cowork 内部,这种信任范围缩小了。文档直接指出:“在桌面的 Cowork 会话中,Claude Code 会跳过用户范围文件中解析到会话工作目录之外的路径的任何导入,并加载文件的其余部分。”
再读一遍最后一句话。它加载文件的其余部分。没有错误,你也看不到文件里缺少任何内容——你得到的只是去掉了存在于其他地方的部分后的文件。
符号链接的个人记忆文件不会迁移。 “在这些会话中,它还会跳过本身是符号链接或硬链接的 ~/.claude/CLAUDE.md,以及指向工作目录之外的符号链接 ~/.claude/rules/ 目录或规则文件。”
如果你在 dotfiles 仓库中保留一个规范的记忆文件,并在每台机器上将其符号链接到相应位置(这是一种常见且合理的设置),那么该文件在 Cowork 会话中会被跳过,而不是被合并。
这两点都比表面上看起来更重要,因为 Claude Code 自己的文档推荐了会触发这些问题的模式。为了在工作树之间共享个人指令,文档中记录的方法是从你的主目录导入:- @~/.claude/my-project-instructions.md。该路径解析到会话的工作目录之外,这恰好是触发跳过的条件。
自动记忆不会以任何形式迁移。 这是 Claude 编写的那一半——“学习和模式”,范围为“每个仓库,跨工作树共享”,作为“前 200 行或 25KB”加载到每个会话中。它存在于 ~/.claude/projects/<project>/memory/ 中,包含一个 MEMORY.md 索引以及每个记忆一个主题文件,标记为 user、feedback、project 或 reference。并且它是绑定到机器的:“自动记忆是机器本地的。同一 git 仓库内的所有工作树和子目录共享一个自动记忆目录。文件不会跨机器或云环境共享。”
Cowork 的默认执行环境是云环境。架构文档指出:“Cowork 会话默认在云端运行:智能体循环和代码执行在 Anthropic 的服务器上运行,会话和文件保存到成员的 Claude 账号中,”并补充说“本地执行对于现有的桌面部署仍然可用。”机器本地存储和云端会话并不是一个难以解决的问题——它们只是两个不同的地方,之间没有任何文档记录的关联。
相比之下,Cowork 提供的功能形式有所不同。 它有三个持久层,其中没有一个是你可以直接放入 CLAUDE.md 的文件:
- 全局指令 (Global instructions) 是“适用于每个 Cowork 会话的常规指令”,在 Cowork 的“设置”中进行编辑。这是一个文本框,而不是你仓库中的文件。
- 文件夹指令 (Folder instructions) “当你在桌面端选择本地文件夹时,向 Cowork 添加特定于项目的上下文”,并具有任何指令文件都不具备的属性:“Claude 还可以在会话期间自行更新这些指令。”
- 项目 (Projects) 拥有自己的指令、计划任务、上下文和记忆,其中“记忆的范围限定在项目内,因此 Claude 在一个项目中学到的内容不会结转到其他项目。”项目需要手动填充,而不是通过积累:“Cowork 不会更改项目的内容,因此请自行将你想要保留的任何内容添加到项目中。”
在你制定计划之前,还有一个值得了解的边界,因为它决定了项目记忆是否处于活动状态:“当 Cowork 在云端运行时,聊天和 Claude Cowork 之间会共享记忆;在你的计算机上本地运行的 Cowork 会话不使用记忆。”
手动迁移
两个步骤。都不难;但第一步是人们常常跳过的。
步骤 1:以 Cowork 会话读取指令文件的方式阅读它们
打开你的 CLAUDE.md 并找到每个 @ 导入。对于每一个,问自己一个问题:该路径是否解析在 Cowork 会话将要工作的文件夹内部?
指向仓库中文件的导入(如 @README、@package.json、@docs/git-instructions.md)没有问题。指向你主目录的导入则是会被丢弃的。当 ~/.claude/CLAUDE.md 和 ~/.claude/rules/ 是指向工作目录之外的符号链接或硬链接时,它们也会被丢弃。
然后对 .claude/rules/ 进行相同的检查。Claude Code 的文档指出,规则目录“支持符号链接,因此你可以维护一组共享的规则并将其链接到多个项目中”——这是一个真正优秀的模式,但它被明确列在 Cowork 会话会跳过的事物中。
在导入被丢弃的地方,你有两个坦诚的选择。将内容内联到仓库内的真实文件中,使其对团队成员和版本控制可见。或者接受损失,并将该指南重新表达为 Cowork 全局指令(这是为适用于各处的偏好而设计的层级)。对于任何同事能从中受益的内容,内联通常更好;全局指令则更适合那些不属于共享仓库的个人工作习惯偏好。
在开始在 Cowork 中工作之前执行此操作,而不是在之后。被剪裁的导入产生的输出往往是微妙地偏离规范,而不是明显损坏,这是最难注意到的故障模式。
步骤 2:移动编写层,然后决定如何处理学习层
对于编写层,自上而下地处理 Cowork 的三个插槽。
你的 CLAUDE.md 中任何真正关于你的内容——语气、输出格式、你的角色、常规约束——都属于全局指令。任何关于特定工作体系的内容都属于文件夹指令或项目的指令字段。如果你已经为同一工作保留了一个 Claude 聊天项目,Cowork 可以从中进行种子填充:选择“从项目导入”意味着“点击‘创建’将传输你现有 Claude 项目中的文件和指令,并创建一个新的 Cowork 项目。”请注意,“不支持批量上传”,因此这需要一次处理一个项目。
对于学习层,没有导入功能。存在的是一个有文档记录的读取输出。Anthropic 关于从 Claude 中提取记忆的指南是逐字索取:“逐字写出你对我的记忆,完全按照它们在你的记忆中出现的样子。”这是一种读取,而不是移交——它会产生文本,然后由你自己将其放置在某处。另请注意,这是账号级别的记忆,与你机器上的 ~/.claude/projects/<project>/memory/ 文件是不同的存储;后者你可以直接读取,因为它们是纯 Markdown。
这里有两个注意事项。首先,Claude 中的记忆管理包含一个“重置记忆”操作,该操作会“永久删除所有记忆,包括项目记忆”,并且“此操作无法撤销”——在整理之前请先阅读。其次,如果文件夹级别的项目对你很重要,请注意 Anthropic 自己的页面目前在两个地方对项目存储的描述不同:“项目”文章列出“项目仅限桌面端并存储在本地。目前没有项目数据的云同步”,而“界面可用性”页面显示项目可在桌面、Web 和移动端使用,并带有一个限制条件,即“绑定到本地文件夹的项目仅支持桌面端的 Cowork 会话”。这两个页面都是最新的。请在自己的账号上检查行为,而不是假设其中任何一个描述符合你的设置。
更好的方法:将学习到的那一半保存在两个界面都不拥有的层中
步骤 1 和步骤 2 处理了文件形式的那一半。没有导入路径的那一半是花费最长时间构建的:你几个月来给 Claude 的纠正、它推断出的偏好,以及无法从代码中推导出的项目事实。在 Claude Code 中,这存在于机器本地目录中。在 Cowork 中,它将存在于账号级别的存储中,仅在会话在云端运行时适用。两者都不是你可以直接移交给另一个的地方。
解决办法不是选择其中之一,而是将该层保留在两者之外。MemoryLake 是一个由你拥有的记忆层,无论你碰巧使用哪种助手,都可以通过 API 读取,而不是通过某个产品的私有存储。只需三个步骤。
步骤 1:创建 API 密钥
登录并从你的工作区设置中创建 API 密钥。它属于你,而不属于某个界面,因此在终端和桌面之间移动不会使其失效。

步骤 2:上传你的第一批记忆
从你刚刚读取的内容开始,加上你在迁移步骤中必须内联的导入。偏好和工作风格。不断重复出现的纠正。Claude 无法从代码中推导出的项目事实——例如为什么某个服务的结构是这样的、团队已经拒绝了哪种方法、截止日期实际上取决于什么。文件按原样输入,多模态文件也会被处理,因此编码了规范的架构图或电子表格可以直接输入。

步骤 3:连接你的 AI 和智能体
连接 Claude Code、Cowork 以及轮换中的任何其他工具。从那时起,学习层将从一个地方读取,而不是在每个界面上重建,在终端和桌面应用程序之间切换不再会重置它。

坦率地说明三个限制。MemoryLake 无法读取、导出或删除 Claude 的记忆——这就是为什么手动迁移步骤 2 中的读取输出是一个手动步骤。它不会改变 Cowork 剪裁外部导入的方式;该行为属于 Claude Code,无论如何都会适用。而且它不能替代 CLAUDE.md,后者仍然是存放必须留在仓库中以便团队成员查看的指令的正确位置。
这在实践中改变了什么
最直接的变化是,迁移不再是那种你在三周后才会注意到的有损迁移。你的指令完好无损地到达,因为你内联了本会被剪裁的部分,而学习层也到达了,因为它是从两个界面都能访问的地方读取的。
更大的变化是,界面的选择变得可逆。Cowork 的云端会话在设计上是瞬态的——“每个会话都有自己的沙箱,在会话开始时创建,在结束时销毁,沙箱之间或跨组织不共享状态”——这是正确的安全态势,也意味着会话不是积累任何内容的地方。一旦持久层外部化,瞬态沙箱就不会让你付出任何代价,回到终端工作一周也同样不会让你付出任何代价。
它还为在多台机器上工作的任何人消除了一种特定的、反复出现的烦恼。自动记忆是机器本地的,这是有文档记录且刻意为之的,但这意味着笔记本电脑知道台式机不知道的事情——这与为什么 Claude Code 会跨机器遗忘中讨论的问题相同。外部层在两台设备上的读取方式完全相同。
切换后的最佳实践
保留 CLAUDE.md 用于指令,而不是用于学习内容。 Claude Code 的文档明确指出,在写入自动记忆时,Claude 会“跳过你的 CLAUDE.md 文件中已经说明的任何内容”。将学习内容重复写进指令文件会使这两个层级都变差。
在 Cowork 会话中,内联(而不是导入)你需要的任何内容。 记住这一条规则,而不是去理解路径解析的心智模型。
将文件夹指令视为共享字段,而不是你专属的字段。 Claude 可以在会话期间更新它们。这很有用,但也意味着你绝对不能丢失的任何内容都应该存放在 Claude 不会写入的地方。
有意识地将内容放入项目中。 Cowork 不会替你添加。
在依赖项目记忆之前,检查你的 Cowork 会话是否在云端运行。 记忆在 Cowork 在云端运行时适用;本地会话不使用它。
每季度重新阅读一次你的指令文件。 Claude Code 自己的指南警告说,矛盾的规则意味着“Claude 可能会任意选择其中一个”。两个界面读取相同的文件会使陈旧文件的成本翻倍。定期花 20 分钟查看你的助手实际上记住了什么是值得的。
结论
相同的厂商,相同的架构,但仍然是一次真正的迁移——因为 Claude Code 记忆中令人兴奋的部分是一个机器本地目录和一个延伸到仓库外部的导入图,而 Cowork 的会话边界对这两者的处理方式都不同。在切换之前修复导入,将编写层移动到 Cowork 实际拥有的三个插槽中,手动读取学习层,然后将该学习层放在两个界面都不拥有的地方。在此之后,你使用哪个界面只是个人偏好,而不是一次重置。