No tool output found for function call — Codex
Quick fix
等待 CC Switch 修复发布;当前可避免在同一轮并行运行图片工具与其他工具,防止媒体消息打断工具结果块。
Symptom
Section titled “Symptom”cause: No tool output found for function call call_3IQasYyv9SLyKCyMsmDNgPS5.在 Windows 的 CC Switch 3.20.3 中,Codex 同一轮并行调用 `view_image` 与其他工具时,代理的 media-lift 可能把 synthetic `user` 媒体消息插入尚未结束的 tool 结果批次。严格的 Chat→Responses 转换或上游会将插入后的 tool output 视为未配对,从而返回 HTTP 400。
该问题也可由批次中任意非 tool 消息触发,例如 PostToolUse 钩子注入的 `developer` additionalContext;并非仅与 `<image_resize_notice>` 有关。PR #7439 提出了保持同批 tool 消息连续、将夹入消息移至 tool block 后、补齐缺失输出占位并降级孤儿 tool 消息的修复,但该 PR 尚未合并,且没有包含修复的发布版本。
在修复版本发布前,避免让 Codex 在同一轮并行调用中混用 `view_image` 等图片结果工具和其他工具。
如使用 PostToolUse 钩子或会注入 `developer` additionalContext 的机制,避免在当前 assistant 的全部 tool_calls 都已有对应 tool 输出前插入任何非 tool 消息。
等待包含 PR #7439 的 CC Switch 发布版本;该修复会归一化 Chat tool 消息顺序,使同批 tool 消息保持连续。
不要通过手改 `~/.codex/sessions/.../rollout-*.jsonl` 作为通用恢复手段;启用分页历史时,这会导致 `invalid paginated history lineage`,使线程无法打开。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 1 个真实 issue
- 除了 `<image_resize_notice>`,还有什么会触发这次提前 flush?
- 批次内任意非 tool 消息都可能触发,包括本机 PostToolUse 钩子注入的 `developer` additionalContext。
- 删除本地 rollout 中卡住的调用三元组后能恢复吗?
- 在开启分页历史的环境中不建议这样做;`thread_history_1.sqlite` 依赖 rollout 字节偏移索引,手改后会报 `invalid paginated history lineage`,线程无法打开。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。