Build and deploy
| Limit | Value | Notes |
|---|---|---|
| Source archive | 100 MiB | ship larger files through a volume |
| Python version | must match your host’s major and minor | cloudpickle bytecode does not cross versions |
| cloudpickle version | must match your host exactly | |
| First build of a new image | 1 to 2 minutes | cached after that |
| First executor provision per image | about 90 seconds | one per image configuration |
Runtime
| Limit | Default | Maximum | Notes |
|---|---|---|---|
| Request timeout | 1200 seconds, 3600 for apps and agents | 3600 seconds | a function sets it with timeout= |
| Memory | 1Gi | 32Gi | set with memory= |
| CPU | platform choice | 8 | 1, 2, 4, 6 or 8 |
| Concurrency | high | set to 1 for compute-bound work | |
| Cold start after idle | a few seconds | instances scale to zero |
Remote calls
| Limit | Value |
|---|---|
| Payload per call | keep well under 30MB |
| Call timeout | one hour, set with timeout= on cycls.remote |
map fan-out width | 16 workers by default, set with workers= |
Scheduled functions
| Limit | Value |
|---|---|
| Single run duration | 30 minutes |
| Delivery | at least once, so runs can repeat |
| Overlap | a slow run does not block the next |
Storage
| Limit | Value | Notes |
|---|---|---|
| Volume upload and download size | unlimited through the CLI | put and get talk to storage directly |
| Volume deletion recovery window | 7 days | |
| Concurrent writes to one file | last write wins | there is no locking |
| Cross-deployment visibility | seconds | not instant |
Agent loop
| Limit | Default | Notes |
|---|---|---|
| Run duration | 45 minutes | past it, the run ends as interrupted with reason budget |
| Context window | 1,000,000 tokens | set with .context() to match your model |
| Output tokens per request | 8192 | set with .max_tokens() |
| Compaction trigger | 70% of the context window | lower when .max_tokens() needs the room, see Long conversations |
| Kept verbatim after compaction | the most recent 30% of the window | |
| Summary timeout | 300 seconds | older turns are dropped when it fails |
read per call | 50,000 characters | lines cut at 2,000 characters, the model continues with offset |
File size for read | 3 MB | larger files are read through bash, larger PDFs by page |
| Document parsing | 50 MB per file, 120 seconds | read sends documents to the parser first, and reads them itself when a file is larger or the call fails |
PDF pages per read | 20 | |
web_fetch per call | 20,000 characters | the model can ask for up to 100,000 |
| Bash timeout | 600 seconds | set with .bash_timeout(). The model can pass its own timeout per call, in milliseconds |
| Upload per file | 512 MB | set with .max_upload() |
AGENT.md | 24 KB | truncated beyond that |
Questions per ask card | 3 |
Skills, apps and connectors
| Limit | Value | Notes |
|---|---|---|
| Skill version | 10 MB and 500 files | per upload or publish |
| Skill description | 1,024 characters | always in the system prompt |
SKILL.md or a support file | 48 KB per load | truncated beyond that |
build_app source | 400 files, 12 MB in all, 2 MB per file | text files only |
build_app build | 420 seconds | |
| App data value | 1 MB | per key |
| App data list | 10,000 rows | truncated is true beyond that |
| App write | 25 MB | |
| Connector API relay calls | 240 per minute | per person and connector on one instance, then 429 |
| Connector API relay response | 5 MB |
Retention
| Item | Window |
|---|---|
| Deleted files in trash | 30 days |
| Deleted volumes | 7 days |
| Chats and workspace files | until deleted, they live on your volume |
Next
Examples
Working code for each primitive.