Browserbase vs Kernel for browser agents.
Browserbase documents managed browsers, agents, and Functions. Its session model supports standard automation libraries. Contexts preserve selected browser data.
Kernel exposes four documented control paths. These include computer controls and co-located Playwright. Browser pools change repeated-start workflows.
Choose by control placement first. Then trace session and profile transitions. Test startup claims under identical conditions.
The short version
Published performance claims need independent reproduction. Architecture facts still guide evaluation.
Choose where browser code executes.
Both vendors create managed Chromium sessions. Both expose standard browser connections. Their execution choices differ above that layer.
Browserbase supports external library connections. It also offers platform agents and functions. Kernel adds co-located Playwright execution.
Kernel also exposes OS-level controls. Browserbase documents browser-oriented MCP tools. Each path changes latency and ownership.
Start with current application boundaries. Keep orchestration placement explicit. Avoid choosing from benchmark headlines alone.
SourcesUsing a browser sessionBrowserbase MCP setupBrowserbase FunctionsCreate a Kernel browserControl a Kernel browserKernel MCP server
Map every available control path.
A browser endpoint is one choice. Code placement is another choice. Agent reasoning placement adds a third.
Browserbase returns connection details for libraries. Its MCP server provides browser-oriented tools. Hosted Functions add vendor-side execution.
Kernel supports direct CDP and WebDriver. Computer controls operate through screen primitives. Playwright execution runs inside the browser VM.
These modes are not interchangeable. Each exposes different debugging evidence. Each creates different portability costs.
| Factor | Browserbase path | Kernel path | Architecture consequence |
|---|---|---|---|
| External Playwright | Connect Playwright over the session's returned CDP URL. | Connect Playwright over the returned CDP WebSocket URL. | Application infrastructure owns command execution and retries. |
| External Puppeteer | Puppeteer connects through the Browserbase session URL. | Puppeteer can drive Kernel through its CDP endpoint. | Most browser task code can remain application-side. |
| Vendor-side code | Functions deploy automation near Browserbase browsers. | Playwright execution runs code inside the browser VM. | Code packaging and runtime ownership change materially. |
| Screen control | MCP actions abstract browser interaction through named tools. | Computer controls expose mouse, keyboard, scroll, and screenshots. | Vision loops need separate latency and evidence tests. |
| MCP | Hosted and local transports expose Browserbase browser tools. | A hosted MCP exposes browsers, profiles, apps, and replays. | Tool contracts determine how much orchestration moves outward. |
Documented control paths, verified September 3, 2026.
SourcesUsing a browser sessionControl a Kernel browserBrowserbase FunctionsBrowserbase MCP setupKernel MCP server
Trace one session across every boundary.
Session names hide different state machines. Browserbase separates connection, keep-alive, context, and closure. Kernel adds active and standby behavior.
Kernel standby preserves browser state temporarily. Billing stops during documented standby. Its timeout begins after standby starts.
Browserbase keep-alive supports reconnection after disconnection. The session still follows configured duration limits. Contexts address later-session browser data.
Write each transition into application logs. Include vendor identifiers and timestamps. Treat missing transitions as failed evidence.
| Factor | Browserbase event | Kernel event | Application record | Failure question |
|---|---|---|---|---|
| Create | Create session and receive connection details. | Create browser and receive session plus control URLs. | requested_at, accepted_at, vendor_session_id | Did the vendor accept or fully provision? |
| Connect | Attach the selected automation library promptly. | Attach CDP, BiDi, Live View, or control requests. | transport_ready_at, first_command_at, control_mode | Which boundary produced connection delay? |
| Pause | Keep Alive preserves eligible sessions across disconnects. | Five inactive seconds begin documented standby behavior. | last_activity_at, detached_at, pause_reason | Was the browser idle, disconnected, or terminated? |
| Resume | Reconnect using the existing session identifier. | Activity can resume before standby timeout deletion. | resume_requested_at, resumed_at, restored_url | Did memory state and page position survive? |
| Persist | Contexts save selected browser data across sessions. | With save_changes enabled, deletion or timeout saves profile state. | profile_id, writer_id, persisted_at, next_session_id | Did a concurrent writer overwrite newer state? |
| Terminate | Application closure or platform timeout ends the session. | Explicit deletion uses Kernel’s deletion API. Timeout can also delete. | close_requested_at, terminated_at, final_status | Did library closure release vendor resources? |
Pair-specific session lifecycle trace.
SourcesUsing a browser sessionCreate a Kernel browserControl a Kernel browserKeep aliveKernel termination and timeoutsKernel pricing and limitsContextsKernel profiles
Profile writes require explicit ownership.
Both vendors support reusable browser state. Browserbase calls its primitive a context. Kernel calls its primitive a profile.
Browserbase contexts preserve several Chromium data stores. Persistence must be requested on sessions. Synchronization follows session closure.
Kernel profiles need save_changes for writes. Deletion or timeout then saves state. A normal Playwright close does not save.
Those details change application design. Assign one writer per identity. Add locks around mutable profile use.
| Factor | Browserbase context | Kernel profile | Required guardrail |
|---|---|---|---|
| Create | Create a context before attaching it to sessions. | Create a profile, optionally using a unique project-scoped name. | Store the vendor identifier beside the application identity. |
| Read-only use | Attach the existing context without requiring further persistence. | Omit save_changes when stored state must remain immutable. | Default recurring workers to immutable profile reads. |
| Mutable use | Set persistence when new session data should be stored. | Set save_changes and delete the browser afterward. | Acquire one application lock before starting a writer. |
| Reuse | Wait for context synchronization before another session. | Start another browser using the saved profile. | Verify expected cookies and current website authentication. |
Profile write and reuse matrix.
SourcesContextsKernel profiles
Reproduce startup and idle behavior.
Vendor benchmarks cannot settle your workload. Runner geography influences every network measurement. Browser mode changes resource requirements.
Use one pinned task and browser configuration. Run both vendors from one runner. Alternate vendors to reduce time drift.
Record raw timestamps, not summary claims. Keep failures inside the sample. Publish exclusions before running anything.
The idle phase matters separately. Kernel documents standby billing behavior. Browserbase documents browser-time allocations and minimums.
- 01
Pin the environment
Record runner region, runtime versions, browser mode, and target.
- 02
Mark request acceptance
Timestamp immediately before creation and after its response.
- 03
Mark transport readiness
Connect, execute one harmless command, then record completion.
- 04
Mark page readiness
Navigate identically and capture the chosen readiness event.
- 05
Exercise an idle pause
Detach cleanly, wait identically, then resume the session.
- 06
Verify preserved state
Compare URL, cookies, storage, and visible page state.
- 07
Close through vendor APIs
Confirm termination, profile persistence, and final usage records.
SourcesUsing a browser sessionKeep aliveBrowserbase plansCreate a Kernel browserControl a Kernel browserKernel termination and timeoutsKernel pricing and limits
Require evidence for each failed transition.
Browserbase provides a session inspector. Its documented surface includes logs, network data, metrics, and replay. Live View supports human control.
Kernel provides Live View and optional replays. It also documents structured telemetry. App deployments can provide invocation logs.
More artifacts do not guarantee faster diagnosis. Identifier linkage matters more. Retention and export needs also matter.
Create two deliberate failures. Break one selector and one connection. Measure the path to root cause.
| Factor | Browserbase | Kernel | Acceptance condition |
|---|---|---|---|
| Live review | Session Inspector and Live View show active browsers. | Every browser response includes a Live View URL. | An operator can observe without changing automation state. |
| Replay | Session replay supports completed-run inspection. | Replays create startable and stoppable MP4 recordings. | The artifact covers the induced failure window. |
| Machine-readable events | Inspector exposes logs, network activity, and performance data. | Telemetry streams console, network, lifecycle, and operational events. | Application traces link events using one session identifier. |
| Human intervention | Live View supports remote operator control. | Live View supports observation and human control. | Control transfer produces an auditable application event. |
Operational evidence acceptance matrix.
SourcesObservabilityCreate a Kernel browserObserve Kernel browsersUsing a browser session
Separate startup speed from capacity strategy.
Kernel publishes browser pools for repeated workloads. Pools reserve ready browsers with predefined configuration. Reserved capacity counts against concurrency.
Browserbase publishes concurrency and creation limits by plan. Keep-alive can reduce repeated session creation. Those mechanisms solve related pressure differently.
A faster individual start may not improve queues. A pool may reduce configuration startup work. It also consumes reserved capacity.
Measure queue delay separately. Measure browser readiness separately. Price active runtime and capacity constraints separately.
| Factor | Browserbase choice | Kernel choice | Workload signal |
|---|---|---|---|
| Occasional jobs | Create managed sessions when jobs arrive. | Create browsers on demand when jobs arrive. | Low request frequency limits pooling value. |
| Repeated configuration | Keep eligible sessions alive when reuse fits. | Pools hold ready browsers with applied configuration. | Startup configuration dominates simple navigation time. |
| Burst traffic | Plan concurrency and creation-rate limits govern bursts. | Pool size and organization concurrency govern bursts. | Queue delay exceeds browser action duration. |
| Long idle pause | Keep-alive behavior and browser billing require measurement. | Standby preserves state while documented usage billing stops. | External approvals create long inactive periods. |
Capacity decision matrix.
SourcesUsing a browser sessionCreate a Kernel browserKeep aliveKernel browser poolsBrowserbase plansKernel pricing and limits
Migrate one control mode at once.
Direct CDP migration offers the narrowest trial. Keep current Playwright logic unchanged. Replace only creation and connection code.
Do not add co-located execution immediately. That would combine vendor and architecture changes. Baseline behavior would become ambiguous.
Next migrate persistent state. Use one profile writer. Confirm explicit deletion triggers the expected save.
Finally consider Kernel-specific control paths. Compare those paths against measured needs. Preserve a rollback adapter until acceptance.
- 01
Select one task
Choose a stable flow with meaningful browser state.
- 02
Build a connection adapter
Isolate session creation, connection, and vendor-specific deletion.
- 03
Run direct CDP first
Preserve task code and disable optional platform services.
- 04
Add profile persistence
Create one mutable profile and prevent concurrent writers.
- 05
Compare failure evidence
Induce known failures and time root-cause discovery.
- 06
Evaluate alternate controls
Test co-located Playwright or computer controls separately.
SourcesUsing a browser sessionContextsControl a Kernel browserKernel profilesKernel termination and timeouts
Use a narrower option when appropriate.
Legba offers an agent skill. It provides browser routing and isolated sessions. Your agent stack retains permissions and logs.
These cited sources establish no platform equivalence. They document a narrower agent-skill scope.
That boundary matters during procurement. Some teams need infrastructure control planes. Others need a callable isolated route.
Choose from the actual job. Avoid buying unused platform breadth. Validate the required agent path.
SourcesLegba agent skill
FAQs.
Is Kernel faster than Browserbase?
Do both support Playwright?
How does idle behavior differ?
How do saved profiles differ?
Do both provide MCP servers?
What should migrate first?
References
- 01Using a browser sessionBrowserbase
- 02ContextsBrowserbase
- 03ObservabilityBrowserbase
- 04Keep aliveBrowserbase
- 05Browserbase MCP setupBrowserbase
- 06Browserbase plansBrowserbase
- 07Browserbase FunctionsBrowserbase
- 08Create a Kernel browserKernel
- 09Control a Kernel browserKernel
- 10
- 11Kernel profilesKernel
- 12Observe Kernel browsersKernel
- 13Kernel browser poolsKernel
- 14
- 15Kernel MCP serverKernel
- 16Legba agent skillLegba