In partnership with

Most agent demos fake the hard part, showing you a model that writes code and then handing that code to a human who runs it.

Cloudflare has spent this year closing that gap, and Kitesurf, the browser for agents it shipped earlier this month, is the visible edge of a much bigger build.

Sitting behind it is a full stack designed for agents that run their own code and hold their own state between requests, which is what I want to walk through today.

But first, some catchup:

Partner with us

AI Coding 101

Your coding AI is really 2 things sold together, a brain that thinks and a body that does the work.

This kit shows you how to keep the body and swap in free models for the brain, so you stop paying for the part you can get for nothing.

One key pools dozens of free providers behind a single address on your own machine. You copy-paste the install commands, drop in one config block, and the paid model slots fill with free ones.

It closes with the exact one-shot prompt that built a full Mario-style platformer, Sprout Kingdom, on the free setup.

The 3 parts

The stack breaks into three layers you work with directly.

Agents SDK, the Runtime

The Agents SDK runs each agent on Cloudflare Durable Objects, and every agent it creates comes with its own state, sessions, routing, scheduling, WebSocket support, and a built-in SQL database.

That state survives restarts and deploys, and you never provision any infrastructure to get it.

Sandboxes, the Compute

A Sandbox is an isolated Linux environment dedicated to a single agent, giving it a real shell and filesystem plus background processes that spin up on demand.

Cloudflare moved Sandboxes to general availability during Agents Week in April 2026.

Think, the Next-Gen SDK

Project Think is a preview of the next edition of the Agents SDK, built as a chat-agent base class that handles the agentic loop, message persistence, streaming, and stream resumption on top of Durable Object SQLite.

Cloudflare announced it in April 2026, and it is still experimental.

If you need long-term recall specifically, that lives in a separate managed service called Agent Memory rather than in Think.

Setup a durable agent

Start with the base package.

From there, an agent is a class that extends Agent and reads or writes its own state through the SDK.

You write state through this.setState() and read it back from this.state, and because it persists automatically,

Cloudflare can run the same agent instance across its network without you wiring up a database.

If you are building chat on top of this, the Agents SDK picked up support for AI SDK v6 and v7, so you can install the AI packages alongside it as long as the major versions match.

An existing v6 project does not need to migrate to get this.

Give the agent a computer

The agent stops suggesting and starts doing the work in the Sandbox, since it can clone a repository, install the packages, and run the test suite inside a real environment.

It keeps its filesystem between calls in the same session, so the agent can clone once and then loop through running the tests, reading the errors, editing a file, and running the tests again without losing anything in between.

You do need to export the Sandbox class and add a Durable Object binding in your Wrangler config for this to work.

Add the next-gen primitives with Think

Think hands you the preview primitives from Project Think through a base class you extend, where you set the model and the system prompt and let it run the loop.

Because this is a preview the API will shift under you, so I would prototype against it while keeping any production logic somewhere more stable for now.

Reach users through more channels

Beyond chat and raw WebSocket connections, the Agents SDK can also take input over email and voice.

For email you route the incoming message to the agent and handle it inside an onEmail method.

Cloudflare Email Service entered public beta in April 2026 and handles the sending and receiving side for your agents.

Voice works through the separate @cloudflare/voice package, which layers speech over WebSockets, and you reach for withVoiceInput(Agent) when you only need speech-to-text or withVoice(Agent) when you want a full two-way conversation.

The voice package is still in beta, so pin your version, since the API can move between releases.

My Take

I would Sandbox ship today. It is one part of this stack I have not seen anyone else match. 

Plenty of frameworks can call a tool and read the result back, but handing the agent a durable machine it can live inside separates a convincing demo from something that closes a ticket on its own.

That is why I would start with Sandbox and treat the rest of the stack as supporting cast.

Between Kitesurf and the Agent Readiness score, Cloudflare is building for a web where agents are the traffic rather than an edge case, and that is worth designing around whether or not you ever deploy a line of their code.

Until next time,
Vaibhav 🤝🏻

If you read till here, you might find this interesting

# Partner 1

Learn AI for Free. 2 Best-Selling Courses.

If you're not getting great results from AI, it's usually a prompting problem. Skill Leap's two free courses fix that.

The 14-Day AI Boot Camp gets you up to speed on ChatGPT, Gemini, and Midjourney fast. Prompting Essentials teaches the pro strategies that get better outputs every time. 37 lessons total.

Downloadable workbooks. Earn a LinkedIn certificate. Trusted by 5,000+ professionals. Free forever. No credit card, no catch.

# Partner 2

Domain Names + Web and Email Hosting For Less

Still paying GoDaddy or Namecheap prices? Porkbun sells most domains at cost for low, transparent registration and renewal pricing with no nonsense. Get free features like WHOIS privacy and SSL certificates, plus real human support 24/7, 365 days a year. Save $1 on your next domain name now.

Reply

Avatar

or to participate