可选 isolation 被强制输出 Claude Code
Quick fix
将 Responses 转换中的普通 function tool 显式设为 strict: false,保留 required 中原有的必填字段。
Symptom
Section titled “Symptom”Claude Code 因收到该字段而绕过共享目录 teammate 分支,导致用户无法启动预期的非 worktree teammate。在 Anthropic 到 Responses 的转换中,普通 function tool 未显式设置 `strict`。Responses 后端因此自动严格化工具 schema,把可选字段加入 `required` 并强制模型输出;Claude Code Agent 收到 `isolation` 后会走其他代理模式。另有 4.0.4 的报告提到可选 `model`、`effort` 也被输出,影响子代理模型绑定;该案例没有保留完整出站 schema,也未做在线对照验证。
升级到包含 #7717 修复的版本;修复会在普通 Responses 和 Codex OAuth 的每个普通 function tool 上显式设置 `strict: false`,并保留原始 `required` 子集。
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version3.20.3 有验证报告;另有 4.0.4 影响报告,未确认受影响范围或修复版本。
PlatformsWindowsmacOS
Source Issues
Section titled “Source Issues”- 这个问题会影响可选的 `model` 和 `effort` 吗?
- 4.0.4 的补充案例报告称可选 `model`、`effort` 也会被输出;但该案例没有保留完整原始出站 schema,也未做在线 `strict` 对照验证。
供应商 API Key 被覆盖:Codex 重启或切换后升级到 cc-switch v4.0.0 或更高版本;该版本重写了切换逻辑,避免供应商密钥互相覆盖并恢复官方登录态。exceeded the 64000/128000 output token移除或改写触发拒绝的 MCP 工具 JSON Schema `pattern`,以避免 Codex OAuth 将零用量拒绝误显示为输出 token 超限。"Not logged in · Please run /login" Claude升级 cc-switch 至 v3.19.2+,或手动将 settings.json 中的 ANTHROPIC_API_KEY 改为 ANTHROPIC_AUTH_TOKEN 以跳过审批弹窗。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。