﻿---
title: "钩子 additionalContext 默认约 2500 token，超了会 spilled 到磁盘"
summary: "超限只给模型头尾预览和文件路径。0 会整段塞进上下文。密钥不要写进钩子输出。"
category: hooks
level: advanced
surfaces: [cli]
tags: ["hooks", "additionalContextLimit", "上下文"]
canonical: /tips/additional-context-limit/
---

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

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

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

按 handler 改阈值：

```toml
[[hooks.SessionStart]]
matcher = "^compact$"

[[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 文件落在临时目录。后台钩子同样走这套大输出处理。

## 来源

- [OpenAI · Hooks](https://learn.chatgpt.com/docs/hooks)
