快速结论:这是一个纯文档错误:LangChain 中 CodexSandboxExecutionPolicy 的 docstring 把 macOS 的 Seatbelt 沙箱错误归给了 Anthropic,实际它是 Apple 的设施、且 Codex CLI 是 OpenAI 的工具。它不影响运行时行为,只影响 API reference 与 IDE hover 中显示的文本。
适用环境:langchain master 57236d5;已发布版本 langchain 1.4.0(langchain_core 1.6.3)同样存在。文档问题,无运行时依赖。
最快修复方案:暂无确认的一步修复方案(Issue 关闭时尚未合并任何修复 PR)。Issue 中提议的唯一改动是把 libs/langchain_v1/langchain/agents/middleware/_execution.py 中 CodexSandboxExecutionPolicy docstring 的措辞改为 “the Codex CLI’s sandbox: macOS Seatbelt profiles or Landlock/seccomp on Linux”。
注意事项:Issue 中多个贡献者提交的修复 PR(#41039、#41114)均在分配前被自动关闭,因此没有已验证的合并修复。该改动为 docs-only,不改变任何行为;正式修复需等待维护者分配并合并。
问题场景
用户从 langchain.agents.middleware 导入 CodexSandboxExecutionPolicy 并查看其 __doc__,或在 LangChain 公开 API reference、IDE hover 文本中阅读该类的说明时触发。该 docstring 描述 Codex CLI 沙箱时,把 macOS 的 Seatbelt 归因给了 Anthropic,而 Codex CLI 本身是 OpenAI 的工具,造成双重事实错误。复现代码为:
from langchain.agents.middleware import CodexSandboxExecutionPolicy
print(CodexSandboxExecutionPolicy.__doc__)
# ...
# filesystem restrictions provided by Anthropic's Seatbelt (macOS) or Landlock/seccomp
# (Linux) profiles. ...
报错原文
Not applicable; documentation-only. The sentence is rendered in the public API reference for `CodexSandboxExecutionPolicy`.
Ideal when you have the Codex CLI installed and want the additional syscall and
filesystem restrictions provided by Anthropic's Seatbelt (macOS) or
Landlock/seccomp (Linux) profiles.
原因分析
最可能的原因是 docstring 撰写时把两种来源搞混了:Seatbelt 是 Apple 的 macOS 强制访问控制框架(sandbox-exec / sandbox_init),并非 Anthropic 产品;而 Codex CLI 归 OpenAI 所有。因此即使改写成“厂商的 Seatbelt profile”也会指向 OpenAI 而非 Anthropic。该文本是公开 docstring,会原样出现在 API reference 和 IDE 悬浮提示中,但完全不参与运行时逻辑。
环境排查
- 确认 langchain 版本:Issue 在 master
57236d5与 released langchain 1.4.0(langchain_core 1.6.3)上均可复现。 - 确认文件路径:
libs/langchain_v1/langchain/agents/middleware/_execution.py(Issue 正文还提到 master 上第 195 行)。 - 确认是否为文档问题:无堆栈、无运行时异常,仅 docstring 文本渲染错误。
- Issue 中贡献者提到已检查仓库内该短语无其他出现位置。
解决步骤
- 打开
libs/langchain_v1/langchain/agents/middleware/_execution.py,定位CodexSandboxExecutionPolicy的 class docstring。 - 把 “Anthropic’s Seatbelt (macOS)” 替换为准确表述,Issue 提议的版本为:”filesystem restrictions provided by the Codex CLI’s sandbox: macOS Seatbelt profiles or Landlock/seccomp on Linux”。
- 注意这仅为一句文档措辞修正,不涉及任何代码逻辑或配置改动;提出 PR 前需先获得维护者分配,Issue 中多个未分配就提交的 PR 均被自动关闭。
- 运行项目 lint,确认改动通过检查(贡献者评论称 lint 已通过)。
验证方法
修改后重新查看 CodexSandboxExecutionPolicy.__doc__ 或生成的 API reference,确认文本中不再出现把 Seatbelt 归因给 Anthropic 的表述,且与 Codex CLI 属于 OpenAI、Seatbelt 属于 Apple 的事实一致;同时确认无任何行为变化。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


