ReferenceLimits and defaults

Limits and defaults

These are the platform's real limits, not rough guidance — every number on this page is verified against the running system. Where a value is configurable by a self-hoster, the environment variable that controls it is named alongside it; unnamed values are fixed.

Ingress

Everything a trigger accepts from the outside world is capped before it's parsed.

LimitValueConfigurable via
Webhook/trigger request body256 KiB
Trigger rate limit, per token60 requests/minuteTRIGGER_RATE_LIMIT_PER_TOKEN_PER_MIN
Trigger rate limit, per IP120 requests/minuteTRIGGER_RATE_LIMIT_PER_IP_PER_MIN
Slack signature replay window5 minutes
Inline trigger file payload (base64, decoded)1 MiB

Both rate limits return a Retry-After header when exceeded. A file payload larger than 1 MiB decoded can't ride inline on a trigger event — send an object-store URL instead.

Authored content

Limits on what you write directly into the platform: personas, skills, and workspace naming.

LimitValueNotes
Skill markdown body256 KiBRejected outright over the cap
Skill attachment, each5 MiBText formats only — a binary upload is rejected with an HTTP 415
Persona50,000 characters (hard cap)A separate, non-enforced advisory suggests aiming under 1,500 characters
Workspace name64 charactersEnforced on creation and on rename

The persona's 1,500-character guideline is only ever a hint in the editor — nothing stops you from publishing a longer persona, up to the hard cap.

Pipelines

What bounds a Workflow's pipeline runs. The declared-shape caps are fixed publish gates; the runtime knobs fall back to their defaults when unset.

LimitValueConfigurable via
Declared steps per pipeline50
Wall clock per pipeline run30 minutesPIPELINE_MAX_WALL_CLOCK_MS
Executed step instances per run200 (each loop iteration's steps count)PIPELINE_MAX_STEPS_PER_RUN
Per-step output size256 KiB serialized — a larger output fails the stepPIPELINE_MAX_STEP_OUTPUT_BYTES
For each items100 per loop — overflow fails the loop rather than truncating
Workflow state200 keys per Workflow, 64 KiB per value
Tool step timeout60 seconds by default; a step can configure up to 300per-step timeoutMs
Infer step timeout120 seconds per attempt
Infer prompt size128 KiB rendered — over it, the step fails rather than truncating
Agent-step child poll5 seconds, backing up the live event subscriptionPIPELINE_CHILD_POLL_MS
Concurrent runs per Workflow1 by default — an overlapping trigger is skipped

Steps that fail transiently retry with exponential backoff (2 s doubling, capped at 60 s): a tool step gets 3 attempts by default and can configure up to 5, an infer step 2, an agent step 2 — and only genuinely transient failures (unreachable, timeout, rate-limited, server error) are retried. A tool error the server itself returned is an answer, not an outage, and is never retried.

Runtime

LimitValueConfigurable via
Concurrent runs per session1 (a waiting run counts as busy)
Concurrent runs per workspace5 — a pipeline run and each of its agent-step child runs hold a slot eachMAX_CONCURRENT_RUNS_PER_WORKSPACE
SSE heartbeat15 secondsSSE_HEARTBEAT_MS
Schedule ticker interval30 secondsSCHEDULE_TICK_MS
MCP registry sync interval6 hoursREGISTRY_SYNC_INTERVAL_MS
Chat session title generationOn the first message of a new thread; 15-second cap, silent on failureSESSION_TITLE_ENABLED, SESSION_TITLE_TIMEOUT_MS
Connection health probe auto-refreshRefreshes when a detail view opens and the last check is older than 15 minutes
eve session input-token budget40 million input tokens, then a session-limit prompt appearseve's own limit — not something invisible-string configures

See Durability for what a session-limit prompt means for a run in progress, and how state survives a worker restart in between.

Worker housekeeping

Self-hosters can tune all three of these — see Deploy your own for the full deployment reference.

LimitValueConfigurable via
Idle agent process stop15 minutes of inactivityAGENT_IDLE_STOP_MS
Idle sandbox stop30 minutes of inactivitySANDBOX_IDLE_STOP_MS
Worker artifact cache size20 GiB, evicted LRUARTIFACT_CACHE_MAX_BYTES