Execute JavaScript in the persistent Browser REPL
Changed onExecute JavaScript in a persistent Node.js runtime inside the browser VM. Top-level bindings, closures, mutations, and dynamically imported modules persist across calls until the REPL is reset or replaced. Start with repl.help() to list available methods, or call repl.help("click") for detailed help.
Expression values are ignored. Emit ordered text or image output with repl.write(...), console methods, or repl.emitImage(...). The runtime also exposes browser-control helpers, WebMCP, Patchright, Playwright, and raw CDP.
Executions are serialized. A timeout, crash, OOM, or protocol failure terminates the REPL and changes its repl_id. This is unrestricted code execution inside the browser VM and is not sandboxed.
Request
- Base URLhttps://api.onkernel.com
- URLhttps://api.onkernel.com/browsers/{id_or_name}/repl
- AuthHTTP bearer
Path parameters
Browser session ID or name
Headers
Makes retrying the call safe. A call with a key already used on this browser returns the first call's response instead of running the code again, waiting for it if it is still running. A call with a key keeps running for 10 seconds after its last caller disconnects, so a retry can collect its response; after that it is cancelled like a call without a key. A response is kept for 10 minutes once the call finishes, and only the most recent responses are kept. A call rejected before the code runs, such as with 400, 409 or 429, does not use up its key. The Kernel SDKs send a key automatically and reuse it when they retry.
Request body
Response
Code executed with either a successful result or a structured JavaScript failure.
Changes
- info
added the new optional
headerrequest parameterIdempotency-Key - info
added the non-success response with the status
- info
- info
endpoint added
- info