BuildNot yet confirmed elsewhere1 publisher2 min readPublished
Cloudflare's persistent agent browser drops its logins after 10 idle minutes by default
Cloudflare's Agents SDK browser keeps tabs, cookies and logins only until a default 10-minute idle timeout ends the session. Then it starts a fresh browser and reports restarted: true, and agent code has to check that flag before acting on a remembered login.
The Engineer · Build desk

What happened
- Cloudflare shipped the persistent browser tool in the Agents SDK on October 13, 2026, according to a dev.to post that quotes the changelog.
- Each Pi conversation gets its own active tab by default, but cookies and logins stay shared across the whole browser.
- The post's author lists three new ways for an agent to be wrong: assuming a login survived a restart, using another conversation's login, and leaving a signed-in browser running.
Why it matters
- cost A login a human completes once is lost on restart, so agent loops need a path that asks for it again.
- exposure Because the cookie jar belongs to the browser, a second conversation can act under a login the first one completed unless agent code scopes it.
- decision A task that waits on a person for longer than the 10-minute default resumes on a fresh browser, so teams must decide how such tasks re-authenticate.
The guarantee sits in one clause of the changelog: tabs, cookies and login session stay intact "while the browser session remains alive." [2] The failure path is a fresh browser plus a flag [4]. The flag, restarted: true, is the only signal the quoted text mentions. Of the old session it says: "The old tabs and login state are gone." [5]
That puts the check on the caller. The post's author builds a small keeper around the idea. Its ensure() method runs at the start of every turn and returns the browser, a restarted flag and a list of what was lost [11]. The comment above it reads: "Call this at the start of every turn. Never assume the old browser." [15]
Of the old fresh-browser-every-turn habit, the author wrote: "That is slow, but it is honest." [7] Of the new arrangement, the author wrote: "A browser that remembers is a feature. An agent that assumes it remembers is a bug." [13]
The demo is a model, and the author says so: "It is not how Cloudflare's browser tool works inside." [9] The clock is fake, and the 10-minute limit is copied from the documented default [10]. The model's idle timer counts from a lastUsed timestamp [12]. For that to transfer, the real timer would have to count from the last tool call. The quoted changelog does not say whether it does, or whether the default can be changed.
Restart is not the only hazard. Tabs are split by conversation, but the cookie jar is not [6]. The author's model closes that gap with a list of grants, each pairing a conversation with a site [16]. That list is the author's addition.
In our view the check belongs immediately before each side-effecting action, because a restart can land between any two turns. The post's demo includes a refund that assumed a dead login, and the keeper stops it [17]. For read-only browsing, logging in again on restarted: true is enough. For a refund, we'd stop the loop and ask a person.
What to watch
- Whether Cloudflare's docs state that the idle timeout can be changed, and whether each tool call resets it.
- Whether the SDK adds per-conversation scoping for cookies, since logins are shared within the browser by default.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence55
- Adoption
- Insufficient
- Hype gap−10
- Incentives
- Insufficient
- Confidence50
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
On October 13, 2026, Cloudflare shipped a new persistent browser tool in the Agents SDK.
- [2]
Cloudflare's changelog says the agent can open a website, inspect a page, and come back to it with its tabs, cookies, and login session intact "while the browser session remains alive."
- [3]
The browser session's default idle timeout is 10 minutes.
- [4]
If the session expires or crashes, the tool creates a fresh browser and reports restarted: true.
- [5]
The changelog says: "The old tabs and login state are gone."
- [6]
Each Pi conversation gets its own active tab by default, while cookies and logins remain shared within the browser.
- [7]
Of agents that start every turn with a new browser and no cookies, the post's author wrote: "That is slow, but it is honest." The agent never thinks it is still signed in when it is not.
- [8]
The post's author lists three new ways for an agent to be wrong: thinking a login still exists after the browser restarted, using a login that a different conversation created, and leaving a signed-in browser running long after anyone needed it.
- [9]
The author says the session keeper is a small model of the idea and "It is not how Cloudflare's browser tool works inside." Every site, timing and grant is an example input.
- [10]
The 10-minute idle limit in the demo mirrors Cloudflare's documented default, but the fake clock is the author's.
- [11]
In the author's keeper, an ensure() method is called at the start of every turn and returns the browser, a restarted flag and a list of what was lost.
- [12]
In the author's model, lastUsed is the only thing the idle timeout cares about.
- [13]
The author wrote: "A browser that remembers is a feature. An agent that assumes it remembers is a bug."
- [14]
A persistent browser gives an agent logins a human only has to finish once.
- [15]
A code comment above the author's ensure() method reads: "Call this at the start of every turn. Never assume the old browser."
- [16]
The author's keeper takes a list of grants, each a pair of a conversation and a site, to scope the shared login.
- [17]
The author's demo blocks one conversation from borrowing another's login, notices a restart after an idle sweep, stops a refund that assumed a dead login, and catches a crash the same way.
Sources
1 independent publisher whose own reporting we read for this story.
- dev.toCloudflare Gave Agents a Browser That Remembers. Let's Build a Tiny Session Keeper in TypeScript.
1 article · October 13, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- AI AgentsFollow
- Browser AutomationFollow
- Agent Session StateFollow
Entities
- CloudflareFollow
- Cloudflare Agents SDKFollow
- Muse WonderFollow
- dev.toFollow