Flue 2.0, the first stable release from Astro creator Fred Schott, composes agent capabilities through a TypeScript hooks layer aimed at running above both Node.js and Cloudflare.
Flue 2.0 turns an AI agent into a JavaScript function that re-runs before every model call, then composes skill, tool, and subagent capability through a React-shaped hooks layer. The framework hit its first stable release this month, with the public changelog currently at version 2.0.3 dated August 4, 2026.
In Flue, a hosted agent is a function whose body returns the agent's system instructions. Before each model call, the function re-renders; hook calls inside the body compose capabilities and persistent state on top. The 2.0 release ships with 16 built-in hooks, including useSkill(), useTool(), useSubagent(), useModel(), useSandbox(), useMcpConnection(), usePersistentState(), and useAgentStart(). Custom hooks are also supported, and the hooks are written in TypeScript.
The runtime stack changed alongside the API. Hosted agents are now built with [Vite, using a flue() plugin in vite.config.ts](https://flueframework.com/blog/flue-2/), with routing handled by a Hono app in app.ts and the underlying harness provided by Pi. The previous flue dev and flue build CLI commands are gone, replaced by standard Vite commands plus flue init and flue run. The new useMcpConnection() hook mounts a remote Model Context Protocol server's tools directly into the agent; Flue documents those connections as stateless and running on Cloudflare Workers.
Flue's creator is Fred Schott, who previously built the web framework Astro. The Astro company was acquired by Cloudflare in January 2026, and Flue itself began as an issue-triage tool inside the Astro repository before spinning out as a separate project. In a Latent Space interview about the 2.0 release, Schott framed the architectural bet plainly: "There is no agent without a harness." He treats the "OG agent frameworks" — OpenAI SDK, Anthropic SDK, Cursor SDK, Mastra, Vercel AI SDK, Cloudflare Agents SDK — as bolting harnesses on as features, while Flue and Vercel's eve were built with a harness as the central concept.
"The best tools are the ones that float above the host," Schott said in the interview. Flue runs on Node.js, where each agent is a long-lived process, or on Cloudflare, where each agent gets its own Durable Object with durable execution via the Agents SDK's runFiber(), stash(), and onFiberRecovered() primitives, plus @cloudflare/codemode and @cloudflare/shell for sandboxed code execution. The Cloudflare blog post on the integration describes append-only Durable Streams as the agent execution ledger, a durable filesystem, dynamic workflows, and a 2.0.1 wake-handler redesign that separates supervisor from attempt roles so a hung model stream or sandbox RPC no longer wedges durability timeouts. The version history is public in the Flue CHANGELOG on GitHub.
Schott himself rejects the "Astro for agents" analogy he once floated: real users do not break agents across files, he argues, and larger customers tend to treat the whole company as one agent, so file-based routing — a core Astro idea — turned out to be the wrong primitive. In a prior Latent Space interview, one operator argued that "we're sort of in the jQuery era of agents, not the React era," a line that reads as one operator's framing rather than market consensus. Schott calls Vercel's eve "the most directly competitive" framework, and Vercel itself documents deploying a Flue agent on its platform, so Flue and Vercel's tooling can coexist on the same target. Managed-agent hosting is explicitly not on Flue's near-term roadmap; Schott says the team is "just focused on building the best harness."
The open question is whether a React-shaped abstraction makes agent code more composable, or just easier to ship from one team. Flue 2.0 is the first version that lets outside developers answer that with running code rather than slides.