anthropics / anthropics/claude-agent-sdk-python

Support context_management.edits with pause_after_compaction

Aberta
#570 1 comentário 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
8.1k
Forks
1.3k
Merge médio
2d 31min
PRs com merge (30d)
1

Descrição

## 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

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.