Codex:以 Worktree 模式启动聊天时出现 "Cannot serialize value",如何解决
返回博客
文章codexgitagente de programaçãotroubleshootingdev tools

Codex:以 Worktree 模式启动聊天时出现 "Cannot serialize value",如何解决

Mafra2026年10月21日阅读约 4 分钟

你在 Codex 应用里新建一个聊天,随便输入点什么,哪怕只是一句“你好”,点击发送,聊天却根本没有启动:

Error starting chat
Cannot serialize value: (couldn't stringify value)

从 2026年10月21日起,这个错误出现在 Codex 桌面应用 26.1016.51333 版本(build 21161)中,macOS、Windows 和 Linux 都有。相关报告集中在 openai/codex #55744,第一天评论就超过了 25 条。所有人确认的规律是:只有当新聊天以 Worktree 模式启动时才会报错。在 Local 模式下,同样的消息可以正常发送。

Codex 为什么会出现 "Cannot serialize value"?

应用在准备 Worktree 模式的聊天时就失败了,甚至还没开始创建工作树。问题不在你的仓库,也不在消息内容或附件:一条不带任何文件的简短消息就能复现。

检查过已安装版本的用户各自独立地定位到了同一个地方:错误是在序列化 managedWorktrees.pending.create 调用时抛出的 TypeError,被序列化器拒绝的是为历史记录保存的提示词文档。应用日志记录为 [Composer] submit failed,带有 errorName=TypeError 和 mode=worktree。这个分析来自社区,不是 OpenAI 官方。截至 2026年10月21日上午,该 issue 仍处于打开状态,尚未发布修复。

现在怎么解决这个错误?

关闭 Worktree,改用 Local 发送消息。这是多位用户在三个平台上都确认过的绕过方法,而且不需要重启应用。

  1. 在新聊天中,看消息框下方:官方文档把这个选项叫做 Worktree,也有报告是在聊天设置(齿轮图标)里找到 New worktree。
  2. 切换到 Local,或者取消勾选 New worktree。
  3. 重新发送同一条消息。

聊天会在项目的本地检出目录中启动。代价是失去隔离:代理会直接编辑你正在工作的同一个文件夹。

绕过 Codex 中 Cannot serialize value 错误的流程:用 Local 发送、用 Hand off 移交聊天,或用 git worktree add 创建工作树
从报错到绕过方法。如果在 Local 模式下也失败,那是另一个问题,建议提交 Feedback ID。

怎样继续在隔离的工作树中工作?

有三种做法。只有第一种有报告说在问题存在时依然可用,所以先从它开始。

1. 先在 Local 中开始,再用 Hand off 移交

Codex 官方文档把聊天标题栏中的 Hand off 描述为在 Local 和 Worktree 之间移动聊天的流程,代码会一起移过去。在该 issue 中,一份 Windows 上的报告称,从 Local 启动的聊天可以正常创建并关联一个受管理的工作树。也就是说,问题出在以 Worktree 模式启动这一步,而不是工作树本身。先在 Local 中开始,发送第一条消息,再用 Hand off 把聊天移到工作树。

2. 从项目创建永久工作树

根据文档,在侧边栏中项目的三点菜单里可以创建永久工作树,它会作为独立项目出现,并且不会被自动删除。该 issue 中还没有人报告这种方式能否避开这个问题。如果你要尝试,请在那里以 Local 模式打开聊天。

3. 用 git 手动创建工作树

这种方式不依赖应用。你在终端里创建工作树,然后把新文件夹作为项目以 Local 模式打开:

cd ~/projects/app
git worktree add ../app-fix -b fix/my-task
git worktree list

被 git 忽略的文件(.env、node_modules)不会一起带过去。文档说明 .worktreeinclude 只适用于应用管理的工作树,不适用于你在命令行中自己创建的工作树。所以需要的文件要手动复制:

cp .env ../app-fix/
cd ../app-fix
npm install

完成后,删除工作树和分支:

git worktree remove ../app-fix
git branch -d fix/my-task
做法与你的检出目录隔离在问题存在时测试过来源
Local,不用工作树否是,多份报告Issue #55744
先 Local,再 Hand off是一份报告(Windows)Issue #55744 与官方文档
永久工作树是暂无报告官方文档
git worktree add + Local 项目是不依赖应用Git

哪些做法没有用?

重启应用没有用,多份报告在重启前后都复现了这个错误。在尝试过的那份报告中,重新选择起始分支也没有用。修改消息内容同样没有区别,因为这个错误与内容无关。

如果在 Local 模式下也报错怎么办?

那就是另一个问题了,因为 issue #55744 只涉及 Worktree 模式。在应用内提交反馈,把生成的 ID 贴到 openai/codex 的新 issue 中,并写明版本、操作系统和聊天模式。#55744 中有多位用户这样做了,这能帮助 OpenAI 区分不同的情况。

OpenAI 什么时候会修复?

目前没有时间表。截至 2026年10月21日上午,该 issue 仍处于打开状态,标签为 bug、app 和 session。请留意应用更新,新版本发布后,先测试一个 Worktree 聊天,再回到原来的工作流程。

如果你使用工作树是为了让代理在不改动你文件夹的情况下工作,也可以直接在终端里完成。在 Verboo Code 中,verboo --worktree fix-login 会在 .claude/worktrees/fix-login 创建工作树,使用 worktree-fix-login 分支,并把会话切换过去。退出时,它会询问你要保留还是删除。

喜欢这篇文章吗?
把知识分享给你的朋友。
// 继续阅读

相关文章