﻿---
title: "tool_output_token_limit 裁每次工具输出进历史，不是 MCP 单工具上限"
summary: "顶层键，限制单次工具或函数输出写进会话历史的 token。MCP 表里的 output_token_limit 是另一套。调太小会截断，调太大容易把日志整段落进上下文。"
category: config
level: intermediate
surfaces: [cli, app, ide]
tags: ["tool_output_token_limit", "上下文", "config.toml"]
canonical: /tips/tool-output-token-limit/
---

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

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

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

```toml
tool_output_token_limit = 8000
```

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

```bash
codex -c tool_output_token_limit=8000
```

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

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

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

## 来源

- [OpenAI · Configuration reference](https://developers.openai.com/codex/config-reference)
- [openai/codex#16664](https://github.com/openai/codex/issues/16664)
