钩子 additionalContext 默认约 2500 token,超了会 spilled 到磁盘

超限只给模型头尾预览和文件路径。0 会整段塞进上下文。密钥不要写进钩子输出。

命令钩子返回的 additionalContext 默认大约 2500 token。超出时 Codex 把全文写到临时目录 hook_outputs/<session_id>/,模型只看到头尾预览和路径。写盘失败时仍截断预览。

按 handler 改阈值:

[[hooks.SessionStart]]
matcher = "^compact
quot; [[hooks.SessionStart.hooks]] type = "command" command = '/usr/bin/python3 "$(git rev-parse --show-toplevel)/.codex/hooks/session_start.py"' additionalContextLimit = 5000
  • 省略:默认 2500
  • 正整数:这个 handler 自己的阈值
  • 0:整段直接给模型。只有钩子自己严格限长时才用,否则一次就能吃掉窗口
  • 不能产出 additionalContext 的事件会忽略这个键并警告
  • 工具 feedback、Stop 续写提示仍走默认上限,改这个键管不到

多个钩子和插件的上下文会叠。不要把密钥写进 stdout:spilled 文件落在临时目录。后台钩子同样走这套大输出处理。

来源