Named strategy presets are shorthand for preconfigured `Offload` strategies. Pass a preset name string in the strategies array instead of building the strategy by hand.

Preset expansions are internal defaults and may change between releases as tuning improves. The preset *name* is the stable contract. Use raw `Offload.*` strategies when you need a pinned configuration.

## Available presets

| Preset | Python | TypeScript |
| --- | --- | --- |
| Proactive summarization | `"proactive_summarization"` | `"proactiveSummarization"` |
| Large tool offloading | `"large_tool_offloading"` | `"largeToolOffloading"` |
| Overflow protection | `"overflow_protection"` | `"overflowProtection"` |
| Stale tool cleanup | `"stale_tool_cleanup"` | `"staleToolCleanup"` |

**Proactive summarization** summarizes the oldest 30% of messages when the context window reaches 70% capacity.

**Large tool offloading** truncates individual tool results over 2,500 tokens to a 1,000-token preview, eagerly on message arrival.

**Overflow protection** truncates the oldest messages when the context window is full, keeping the 4 most recent.

**Stale tool cleanup** drops tool results more than 5 messages old.

## Using presets

Pass preset name strings in the `strategies``strategies` array:

(( tab "Python" ))
```python
from strands import Agent

agent = Agent(
    context_manager={
        "strategies": [
            "proactive_summarization",
            "large_tool_offloading",
        ],
    },
)
```
(( /tab "Python" ))

(( tab "TypeScript" ))
```typescript
import { Agent } from '@strands-agents/sdk'

const agent = new Agent({
  contextManager: {
    strategies: [
      'proactiveSummarization',
      'largeToolOffloading',
    ],
  },
})
```
(( /tab "TypeScript" ))

## Mixing presets and custom strategies

Combine named presets with raw `Offload` strategies in the same array. Order matters: strategies run as a pipeline, and each sees the output of the previous.

(( tab "Python" ))
```python
from strands import Agent
from strands.experimental.context_manager import Offload

agent = Agent(
    context_manager={
        "strategies": [
            "large_tool_offloading",
            Offload.summarize("*").when(
                utilization=0.9,
                preserve_recent=2,
            ),
        ],
    },
)
```
(( /tab "Python" ))

(( tab "TypeScript" ))
```typescript
import { Agent } from '@strands-agents/sdk'
import { Offload } from '@strands-agents/sdk/experimental'

const agent = new Agent({
  contextManager: {
    strategies: [
      'largeToolOffloading',
      Offload.summarize('*').when({
        utilization: 0.9,
        preserveRecent: 2,
      }),
    ],
  },
})
```
(( /tab "TypeScript" ))

The preset handles large tool results eagerly, and the custom summarization strategy compresses remaining content at 90% utilization.

## Related pages

- [Built-in Modes](/docs/user-guide/concepts/context-management/built-in-modes/index.md) (2 shared tags)
- [Context Estimation](/docs/user-guide/concepts/context-management/context-estimation/index.md) (2 shared tags)
- [Context Management](/docs/user-guide/concepts/context-management/index.md) (2 shared tags)
- [Custom Strategies](/docs/user-guide/concepts/context-management/custom-strategies/index.md) (2 shared tags)
- [Context Offloader](/docs/user-guide/concepts/plugins/context-offloader/index.md) (2 shared tags)
- [Conversation Management](/docs/user-guide/concepts/agents/conversation-management/index.md) (2 shared tags)
- [Context Injector](/docs/user-guide/concepts/plugins/context-injector/index.md) (1 shared tag)
- [Coherence Evaluator](/docs/user-guide/evals-sdk/evaluators/coherence_evaluator/index.md) (1 shared tag)
- [Conciseness Evaluator](/docs/user-guide/evals-sdk/evaluators/conciseness_evaluator/index.md) (1 shared tag)
- [Goal Success Rate Evaluator](/docs/user-guide/evals-sdk/evaluators/goal_success_rate_evaluator/index.md) (1 shared tag)


## Implementation

### Python

- [harness-sdk/strands-py/src/strands/_context_manager/presets.py](https://github.com/strands-agents/harness-sdk/blob/main/strands-py/src/strands/_context_manager/presets.py)

### TypeScript

- [harness-sdk/strands-ts/src/context-manager/presets.ts](https://github.com/strands-agents/harness-sdk/blob/main/strands-ts/src/context-manager/presets.ts)
