tool_output_token_limit 裁每次工具输出进历史,不是 MCP 单工具上限

顶层键,限制单次工具或函数输出写进会话历史的 token。MCP 表里的 output_token_limit 是另一套。调太小会截断,调太大容易把日志整段落进上下文。

测试日志、网页抓取、递归搜索把会话撑爆时,先裁进历史的预算,不要先把窗口开到 1M:

tool_output_token_limit = 8000

这是顶层数字键,写在任何 [table] 之前。一次性试用:

codex -c tool_output_token_limit=8000

官方参考写的是:单次工具或函数输出写进历史的 token 预算。当前表里没有钉死默认值。Issue 里维护者提过大约一万 token;博客里的 16000 不要当现行默认。改完必须新开会话,再用 /status 或实际工具输出核对,不要只看配置已加载。

这不是 [mcp_servers.NAME.tools.TOOL] 下的 output_token_limit。那个只限制某一个 MCP 工具;顶层键对 shell、函数调用和工具输出进历史统一生效。两边可以同时设,不要抄混。

调太小,模型会拿到截断输出,表现为漏看测试失败、重复跑同一条命令。调太大,又会把整份构建日志塞进后续每一轮。定向修补用更紧的值;探索代码再临时放大。源头少噪音仍然更有效:测试加 -q,完整套件交给子代理。

来源