Fetching from the wire…
Public story · 2026-09-20 · high
Version 0.24.0 lets any Durable Object get durable, validated state without inheriting the full Agent class, plus a queue that runs jobs from the alarm loop instead of the original request.
Why now: Cloudflare published the 0.24.0 release notes on September 18.
Cloudflare's Agents framework released version 0.24.0 on September 18, breaking the core Agent class apart into separate capabilities instead of one bundled base class, per the release notes. The headline change is a new State capability: it owns the cf_agents_state row, handles validation, persistence, and change ordering, and any host that implements the Lifecycle interface can use it without inheriting Agent at all.
That matters if you've built on plain Durable Objects and wanted Agent-style state without pulling in the whole class hierarchy. Before this release, durable validated state meant buying into Agent. Now it's a capability you attach.
The release also adds a Queue capability. Push an item and it becomes a durable job with its own retry policy, a deadman timer, and a memory-limit rule, all running off the alarm loop rather than the request that enqueued it. That's a real behavior change: a queued callback no longer has access to the connection that queued it. Code written on the assumption that request context carries through to the callback will fail once jobs actually retry.
Two more pieces round out the release. WebSockets now speak the Agent protocol on plain Durable Objects, extending Agent-style connection handling beyond Agent itself. And a Cap'n Web transport turns an RpcTarget result into a live stub with pipelined calls, cutting round trips for chained RPC.
The pattern across all four changes is decomposition. State, queueing, transport, and WebSocket handling are becoming capabilities you opt into individually rather than inherited behavior. If you're running Agents in production, check anything that reads request-scoped data inside a queued handler. That's the part most likely to fail without a stack trace pointing at the real cause.
Each link below shares sources, entities, or timing with this story.
Published September 7, it puts OpenAI Codex in the agent picker with a copy-ready ~/.codex/config.toml panel pointing Codex CLI and Desktop at Manifest over the Responses API (GitHub). Two compatibility fixes make it work: Responses-API role: "developer" instruction messages f...
qwen-code 0.22.2 shipped three review changes on August 26 that deliberately pull opposite ways: a do-not-refute list and constructible rejection bar in the /review verifier to stop it invalidly rejecting speculative-but-real findings, test acceptance criteria attached to ever...
I check Product Hunt maybe once a week and usually regret it. Today's board is worth reading as market structure. The July 30 leaderboard: SKI at 277 upvotes (free voice input for Claude Code and Codex). AI Search Console at 249 (prompt analytics and citation mapping). Memmy A...
Cloudflare's framework for stateful AI agents on Durable Objects. Agents get persistent state, storage, lifecycle with MCP support, scheduling, and real-time communication. Agents hibernate when idle and wake on demand — costing nothing inactive. You can run millions: one per...
It's an open-source vibe coding platform for building your own vibe coding platform, entirely on Workers and Durable Objects, last pushed September 2 with 16 open issues. Most AI repos run 8:1 to 15:1 stars-to-forks. The fork ratio is a cheaper read on whether a repo is infras...
MCPConfig.tools now accepts Agent, Team and Workflow instances plus Toolkit objects, exposing each as its own named MCP tool. You call chief, not run_agent(agent_id="chief"). Toolkits publish one MCP tool per registered method, narrowed by the toolkit's own enable/include/excl...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.