---
title: Limits
description: The numeric edges of the platform, and why each one is where it is.
status: draft
sidebar:
  order: 3
---

Stated limits are contracts: if you hit one, this is the behavior you'll see.

| Limit | Value | Why |
|---|---|---|
| Slack file download | 20 MB per file | keeps fetches inside session-side timeouts |
| Slack message chunk | 40 K characters | Slack API ceiling, split automatically |
| `!resume` picker | 8 sessions | a picker, not a search — older sessions remain resumable from the dashboard |
| `!catchup` replay | 40 turns | bounded replay cost in busy threads |
| provider-switch bridge | ~12 K characters of transcript | enough context to continue, small enough to move providers quickly |
| checkpoint retention | 3 most recent turns | bounded storage per session with full resume fidelity |
| checkpoint bundle | warn at 512 MiB, fail at 2 GiB | large artifacts belong in git remotes, not session snapshots |
| fleet size | 10 (self-serve) | higher by arrangement |

Timeouts and capacity behavior (HTTP `529`, the claim queue) live in the
[lifecycle reference](/sessions/reference/lifecycle/).
