Skip to main content
Limits keep browser runs stable, tool responses readable, and agent loops bounded. Prefer smaller observed steps over one large unbounded operation.

Browser lifecycle

LimitValueSource
Default browser max duration86400000 ms, or 24 hoursBrowserCreateOptions.maxDuration
Browser engineChromeCurrent managed runtime

Playwright execution

LimitValue
Default execution timeout30000 ms
Maximum execution timeout120000 ms
Maximum Playwright code body256 KiB UTF-8
Runtime action max body size128 KiB
Default runtime evaluate timeout30000 ms
Default navigation timeout30000 ms
Default PDF timeout30000 ms
Maximum runtime action timeout60000 ms for direct runtime actions that use the runtime action limiter
For SDK and MCP Playwright execution, page is already in scope. Returning very large values can still make responses hard to use even when execution succeeds.

Observations and capture

LimitValue
Default Playwright observation characters20000
Maximum Playwright observation characters50000
Maximum observation depth8
Maximum observation timeout10000 ms
Maximum observation locator length2000 characters
MCP default observation kindaria
MCP default observation depth5
MCP default observation timeout8000 ms
MCP default observation characters20000
Activity capture limits:
LimitDefaultMaximum
Pages2050
Navigations per page520

Agent variables

LimitValue
Maximum variables50
Maximum variable name length120 characters
Maximum variable value size16 KiB UTF-8
Maximum scoped allowed domains per variable20
Maximum scoped domain length255 characters

Agent runs

SurfaceLimit
MCP run_web_agent.maxTurnsMaximum 50
MCP run_web_agent.maxToolCallsMaximum 50
MCP run_web_agent.toolTimeoutMsMaximum 120000 ms
MCP run_web_agent.outputSchemaMaximum serialized size 64 KiB; external refs are rejected.
CLI web agentExposes --max-turns, --max-tool-calls, --timeout-ms, and --tool-timeout-ms; values must be positive integers.
SDK web.agent()Exposes maxTurns, maxToolCalls, timeoutMs, toolTimeoutMs, and maxOutputTokens.

Quick actions

ActionLimit or default
Scrape timeoutDefault 30000 ms
Scrape waitFor timeout in session-scoped scrapeDefault 5000 ms
Scrape content capDefault 20000 characters, maximum 50000
Scrape tree extractionBounded at 200 nodes and depth 10 when extract: "tree" is used on session-scoped scrape.
Screenshot timeoutDefault 30000 ms
PDF timeoutDefault 30000 ms
PDF bytesRuntime maximum 100 MiB

Browser resources and events

LimitValue
Browser event product payload16 KiB
Browser event diagnostic payload64 KiB
Browser event string field4 KiB
Browser event array items50
Browser event list items100
Browser event list payload1 MiB
MCP manage_browsers.limitMaximum 100
CAPTCHA resolve timeout in MCPMaximum 120000 ms

SDK retries

Default SDK retry config:
FieldDefault
maxRetries3
initialIntervalMs500
maxIntervalMs30000
exponent1.5
jittertrue
retryableStatusCodes429, 500, 502, 503, 504
retryConnectionErrorstrue

Practical guidance

When you approach a limit:
  • Split long browser work into smaller observed steps.
  • Write bulky output to files or downloads instead of returning it from Playwright.
  • Keep observations scoped with locators.
  • Use maxChars, limit, cursor, and pagination fields instead of requesting everything.
  • Move multi-step, stateful flows to managed browsers or SDK agent sessions.