anthropics / anthropics/claude-agent-sdk-python
Support context_management.edits with pause_after_compaction
- Lenguaje dominante
- Python
- Estrellas
- 8.1k
- Forks
- 1.3k
- Merge medio
- 2 d 31 min
- PR fusionados (30 d)
- 1
Descripción
## Feature Request
The Messages API now supports server-side compaction via `context_management.edits` (beta `compact-2026-01-12`), including a `pause_after_compaction` parameter that pauses the API after generating a compaction summary (returning `stop_reason: "compaction"`).
This is extremely valuable for SDK users building persistent agent sessions (chat bridges, long-running assistants) because it allows:
1. **Memory persistence** — save conversation notes/state to disk before context is compacted
2. **Content injection** — preserve recent messages or inject instructions after compaction
3. **Token budget enforcement** — track compaction count and gracefully wrap up when budget exceeded
### Current behavior
The SDK does its own client-side auto-compact at ~95% context usage. There's no way to hook into the compaction lifecycle to run custom logic (like saving state).
### Requested behavior
1. Allow passing `context_management` parameter through to the Messages API
2. Handle `stop_reason: "compaction"` in the SDK's message loop
3. Expose a callback/hook so SDK consumers can run custom logic when compaction pauses (e.g., save memory, inject messages)
4. Optionally: expose the `instructions` parameter for custom summarization prompts
### Related issues
- #23 — non-interactive `/compact` (same underlying need for programmatic compaction control)
- #531 — no mid-loop compaction for custom MCP tools
### API reference
https://platform.claude.com/docs/en/build-with-claude/compaction
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.