docs: clarify reused pool browsers keep stale config until flushed#431
Conversation
Reused browsers (release with reuse: true) re-enter the pool carrying the configuration they were created with. A pool update only rebuilds browsers that are idle at update time, so a browser acquired during an update keeps its old config and, once reused, is handed out that way until it's flushed. Document this in the pools overview and FAQ. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
masnwilliams
left a comment
There was a problem hiding this comment.
One addition worth folding in: alongside flushing after the fact, it's worth naming the two ways to avoid a stale browser upfront — release with reuse: false (destroys and rebuilds on release instead of returning the old config), or let the acquired browser die via timeout_seconds (the pool refills with the new config automatically). That gives readers both the "prevent it" and "clean it up" paths. Otherwise this reads great — the <Warning> and the flush anchor are the right call.
masnwilliams
left a comment
There was a problem hiding this comment.
One addition worth folding in: alongside flushing after the fact, it's worth naming the two ways to avoid a stale browser upfront — release with reuse: false (destroys and rebuilds on release instead of returning the old config), or let the acquired browser die via timeout_seconds (the pool refills with the new config automatically). That gives readers both the "prevent it" and "clean it up" paths. Otherwise this reads great — the <Warning> and the flush anchor are the right call.
Give readers both the prevent-it-upfront paths (release with reuse: false, or let the acquired browser hit timeout_seconds) alongside the after-the-fact flush. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
Risk assessment: Very Low
Evidence from the current diff: this PR only adds explanatory MDX documentation in browsers/pools/faq.mdx and browsers/pools/overview.mdx (16 added lines total). It doesn't modify runtime code, API behavior, build configuration, infrastructure, prompts, auth, permissions, or shared libraries. I also didn't find a CODEOWNERS file in the repository, so I didn't identify a code-owner review requirement from the repo contents.
The PR is already approved, including by this automation on an earlier revision, so I did not submit another approval. The synchronized changes do not increase the risk level.
Sent by Cursor Automation: Assign PR reviewers
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 14120ce. Configure here.
|
|
||
| No. A pool update only rebuilds the browsers that are idle at the time of the update (the default `discard_all_idle: true` behavior). A browser that's acquired during the update keeps its original configuration, and if you release it with `reuse: true` (the default) it returns to the pool still running the old configuration and keeps getting handed out that way. | ||
|
|
||
| You have three ways to get it onto the new configuration: release it with `reuse: false` so it's destroyed and rebuilt on release instead of the old one returning to the pool; let the acquired browser reach its `timeout_seconds` while idle so it's destroyed and the pool refills automatically; or flush it after the fact with `kernel.browserPools.flush()` (or a later `kernel.browserPools.update()` with `discard_all_idle: true`) once the in-use browsers have been released. |
There was a problem hiding this comment.
FAQ duplicates overview warning
Low Severity
The new FAQ entry repeats the full <Warning> on browsers/pools/overview (same idle-only update behavior and three remediation paths) instead of a short answer with a link to the canonical “Update a pool” section, unlike patterns such as auth/faq.mdx linking to lifecycle pages.
Triggered by learned rule: Single source of truth — no deep content duplication across pages
Reviewed by Cursor Bugbot for commit 14120ce. Configure here.




Summary
Clarifies a subtle but important browser-pool behavior that wasn't documented: a browser released with
reuse: true(the default) re-enters the pool carrying the configuration it was created with. A pool update only rebuilds the browsers that are idle at the time of the update (the defaultdiscard_all_idle: truebehavior), so a browser that's acquired during an update keeps its old config and, once released withreuse: true, keeps getting handed out that way. It won't pick up the new configuration until it's flushed (a laterupdate()withdiscard_all_idle: true, orflush()).Changes
browsers/pools/overview.mdx— added a<Warning>in the "Update a pool" section explaining reused browsers retain their original config and how to force them onto the new config.browsers/pools/faq.mdx— added a matching FAQ entry ("If I update a pool, do browsers that are currently in use pick up the new configuration?"), mirroring the existing profile-staleness entry.Test plan
mintlify devand confirm both pages render, the<Warning>callout displays, and the in-pageflush()anchor link resolves.Note
Low Risk
Documentation-only changes to pool FAQ and overview; no runtime or API behavior changes.
Overview
Documents that
kernel.browserPools.update()only rebuilds idle browsers (defaultdiscard_all_idle: true). Browsers acquired during an update keep their original config, and releasing with defaultreuse: trueputs them back in the pool still on the old config.Adds a
<Warning>in the pools overview Update a pool section and a matching FAQ entry (aligned with the existing profile-staleness FAQ). Both explain three remediation paths:reuse: falseon release, idletimeout_seconds, orflush()/ a laterupdate()withdiscard_all_idle: trueafter releases.Reviewed by Cursor Bugbot for commit 14120ce. Bugbot is set up for automated code reviews on this repo. Configure here.