We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
🔥 TOP SIGNAL
The harness is becoming the agent. Fred Schott’s Flue 2 makes an agent a JavaScript function that re-renders before every model call; its TypeScript hooks manage state and lifecycle, and attach skills, tools, and subagents dynamically—for example, adding account-management access only after a support bot verifies the user. Alex Krentsel’s Exo takes the harder route: policy lives in a stateless executor, history/secrets/snapshots in a protected harness, commands in a sandbox, and a guardian can rebuild the executor and roll it back if the new version breaks.
The practical consequence is not “give the model more autonomy”; it is “give autonomy explicit boundaries, snapshots, and evals.” Krentsel argues that architectural guarantees beat prompt-level rules for properties such as never deleting history, and warns that cost optimization without evals can reward-hack by simply stopping work.
⚡ TRY THIS
Close the context-cost loop. Add per-message cost annotations to the conversation log. Ask the agent to inspect its last expensive call, narrow context to the active conversation or thread, observe and test the change, and commit the improvement only after a functional eval. Exo reports taking a Discord call that cost 16¢ to roughly 96% cheaper this way; its own warning is the important part—without an eval, “do nothing” is the cheapest possible optimization.
Separate what can change from what must be protected. Keep the executor’s policy stateless; store conversation history, secrets, artifacts, and snapshots in the host-side harness; run shell/filesystem actions in an isolated sandbox. If the agent edits its own executor, let a guardian rebuild it for one step and automatically roll back on failure. Keep secrets out of the tool-visible container and inject them only into the model call.
Gate capabilities by workflow state instead of dumping every tool into context. In Flue 2, model the agent as a TypeScript/JavaScript function that re-renders before each model call. Use lifecycle/state hooks to add
useTool()oruseSubagent()only when the task warrants it; the concrete pattern in the launch discussion is verifying a support user before attaching an account-management tool.Budget both tokenizer and context. Compare actual token counts and successful outcomes on your own corpus, not just advertised dollars per million: in one small mixed-text test, GPT-5.6 Sol used 766 tokens versus an estimated 1,170 for Claude Opus 5—about 34.5% fewer—and the recommendation is to measure price per successful outcome yourself. For local high-reasoning models, set the context length deliberately: Simon Willison’s Qwen 3.8 27B “extra high” run hit the default context limit, then succeeded after he increased it.
📡 WHAT SHIPPED
Flue 2 reached its first stable release. The React-style Agent Hooks API ships 16 built-in hooks—including
useSkill(),useTool(), anduseSubagent()—plus custom hooks, and is built on the minimal open-source Pi harness.Multi-agents v2 added cross-model delegation. Builder @pvncher says models can now delegate to any supported model, including Luna, after reliability work; @thsottiaux frames the intended pattern as Sol managing a fleet of Luna agents. That is a useful routing primitive, but the posts provide no quality benchmark.
DHH’s plan-driven code-model comparison widened. DeepSeek Pro V4 Max reportedly completed the TerminalTextEffects Rust-rewrite challenge in 2h30m for $23, versus roughly $550 for Fable in 45 minutes and $55 for Grok 4.6 in 1.5 hours; DeepSeek V4 Flash and GPT Luna failed. Every implementation used the plan Fable wrote, so this is evidence about execution cost and plan-following—not independent project planning.
Exo has a real production signal, not just an architecture pitch. Krentsel says the harness and agents built on it are running in production at Braintrust; the project offers a one-line install, Discord/IRC/WhatsApp adapters, and Discord voice mode, though the latter is still a pipeline cascade rather than an interactive model. Study the EXO repository.
Antigravity’s Gemini 3.7 Flash integration targets cross-platform UI generation. Antigravity says the model can build complete native authentication screens across SwiftUI, React Native, Jetpack Compose, and Flutter; the update is available by download or upgrade. Treat this as a vendor demo claim—no benchmark is supplied in the announcement.
🎬 GO DEEPER
- Exo: “Harnesses should see their own code and logs” — Alex Krentsel — Start with the executor/harness/sandbox split and guardian rollback, then watch the Discord example for an agent that rewrites its own context policy and measures the result.
- Exo cost-aware self-optimization segment — The useful implementation detail is per-message cost logging, thread-scoped context, and the reward-hacking caveat that makes evals mandatory.
Flue 2 launch post — Study the Agent Hooks model and the “no agent without a harness” thesis; the design is a practical counterexample to file-based routing and static tool configuration.
ttfx plan — Reuse the fixed plan as a controlled artifact when comparing models; it keeps planning quality separate from execution speed, cost, and reliability.
Editorial take: Models are becoming replaceable components; the durable edge is a harness that can change its policy without losing state, leaking secrets, or gaming its own objective.
Both requested segments are present in this transcript, but the transcript lines carry no clock timestamps — only line labels — so exact or approximate watch timestamps cannot be derived from this bundle. The reliable locators are the line ranges below.\n\nThree-layer executor/harness/sandbox architecture — Alex says the architecture "decomposes the idea of an agent into kind of three distinct important layers": an executor, an exo harness, and a sandbox . The executor contains all policy and is fully stateless; the exo harness holds the conversation history, secrets, and artifacts/snapshots; the sandbox is the actual execution environment . The split provides isolated execution, protected state, and an explicit stateless layer safe for self-evolution, with snapshots enabling rollback . An agent as we think of it today is defined as the combination of all three: history/state in the exo harness + policy in the executor + a sandbox it runs on . The concrete self-improvement step is that exo mounts its own executor code in the sandbox, and a guardian process rebuilds the executor at runtime and rolls it back if it breaks . Alex also distinguishes exo (the agent built on top) from the exo harness (the underlying architecture) .\n\nDiscord cost-optimization example — The exo harness conversation log stores not just history but per-message cost annotations . Asked how much the last message cost in the Discord adapter, exo answered 16 cents ; it then rearchitected its own Discord adapter at runtime, observed and tested changes, scoping included context to certain conversations and threads rather than pulling messages from across threads, driving cost down by about 96%, and the changes were later committed back to the codebase . A relevant caveat: cost-only optimization without evals can invite reward hacking, e.g. the agent deciding to simply not do the task because that is cheapest .\n\nGap/uncertainty — No timestamp metadata exists in the supplied bundle, so this extraction cannot recommend minute/second watch points. If clock timestamps are required, the parent should re-pull the YouTube transcript with timecodes; until then line ranges are the best available locators.
Grok 4.6 (Elon Musk's AI lab — the video refers to it as "SpaceX") is out as a significant improvement over Grok 4.5 at the same price; it led on "economically valuable work, long professional tasks and legal work" rather than coding benchmarks, and Cursor now defaults to "Grok 4.6 fast" on update, which Riley Brown recommends as the best way to use it . Combined input+output pricing per 1M tokens: $8 Grok 4.6 vs $30 Opus 5, $35 "5.6 SoL", $60 Claude Fable 5 — making Grok 4.6 3.75x–7.5x cheaper, and Riley says it is "straight up better" than Opus 5 . Real-work data point (DHH's tweet, reported secondhand): DHH had one-shot a Rust rewrite of the Terminal Text Effects Python library in 11M tokens via Fable; Grok 4.6 repeated the feat with "a couple of nudges" in ~1.5 hours for $55 — about one-tenth the cost .
Grokbot (desktop + iOS) was built by the Cursor team over ~4–5 months as Cursor's general knowledge-work platform (internal codename "Sand"), focused on non-coding work, positioned vs Claude Cowork/GPT Work . Firsthand walkthrough: every session is a named agent with its own mini system prompt (title/description); plugins and skills are shared across agents, but routines (scheduled automations) live inside each agent — Riley runs a weekly-update bot, a content bot that scrapes favorite creators daily at 9:16am, and a to-do bot that prints his most important task every day; Cmd+K shows all agent+routine pairs globally . Each agent gets its own cloud computer with a sign-in-able browser, full file visibility, and a "teach a task" record/replay loop similar to Codex's . Riley's take: Grokbot trails Codex/GPT Work in capability, but scoping automations to named bots is its biggest innovation and other labs will copy it .
Anthropic/OpenAI updates: Claude Cowork now runs from Chrome — sessions sync across desktop/web/mobile, chats carry into the Claude app, and skills/connectors work in-browser . Sonnet 5's intro price is staying; OpenAI holds Terra/Luna prices similarly; Riley credits Chinese models (DeepSeek, Kimi, Z.AI) and Grok for mid-tier price pressure .
New OSS: GitHub repo "phone harness" lets any agent (Claude Code, Codex, etc.) fully control a phone — flagged as untested by Riley .
DeepSeek V4 Pro cautionary launch: claimed near-Fable quality at a fraction of the price; independent testers found it only a bit better than V4 Flash, it is effectively pulled and immediately fails in Cursor via OpenRouter, and DeepSeek drew flak for switching to usage-based pricing .
Gemini 3.7 Flash: fast mid-tier model benchmarked against Claude Sonnet and GPT Terra; test it in Cursor via OpenRouter (2-minute setup) or Antigravity .
OpenAI workspace agents: custom agents as powerful as GPT Work, with their own system prompts and Slack messaging — currently GPT teams/web only; OpenAI's Andrew confirmed desktop and non-teams access is coming. Codex app is now downloadable on Linux .
UX critique ("chat vs work problem"): "Signal" argues ChatGPT's chat/work split is confusing — work mode turns simple questions into "an expedition," neither mode is a good default, and local-vs-cloud chat plus mobile/desktop sync is a mess .
Platform trend: general agent platforms (Hermes, Claude Cowork, GPT Work, Open Claw) are converging into super apps; the new shapes are Grokbot's named-agent teams and Buzz's Slack-like human+agent channels, while Anthropic pushes Claude Tag for company Slack — the arc is from a personal agent to a team of agents .
- Grok 4.6 launched this week, described as a significant improvement over Grok 4.5 at the same price; it led on economically valuable work, long professional tasks, and legal work but not coding benchmarks, and Cursor defaults to "Grok 4.6 fast" after updating .
- Combined input+output pricing per 1M tokens: Grok 4.6 $8, Opus 5 $30, Sol 5.6 $35, Claude Fable $60 — making Fable 5 7.5x pricier and Sol 5.6 4.4x pricier; Riley says Grok 4.6 is better than Opus 5 while 3.75x cheaper .
- DHH tweeted that Fable one-shotted a Rust rewrite of the Terminal Text Effects Python library in 11M tokens last week; Grok 4.6 repeated the feat with "a couple of nudges" in ~1.5 hours for $55, about 1/10 the cost of the Fable implementation .
- Grokbot is a new desktop/iOS agent platform built with the Cursor team (internal name "sand"); every session is a named agent with its own title and description-as-mini-system-prompt, shared plugins/skills, and routines that live inside the agent rather than globally; each agent gets its own cloud computer with a browser you can sign into and a "teach a task" record-replay flow; Command-K gives a zoomed-out view of all routines per agent .
- Riley's concrete workflow: he created a "Weekly Update" bot by describing its purpose, then asked it to set up a routine delivering his AI news briefing every weekday at 10am; routines are scoped to the bot .
- Agent platforms are converging on the same super-app shape (Hermes Agent, Claude Cowork, GPT Work, OpenClaw desktop all have sessions/skills/plugins/automations), while Buzz (Slack-like channels for humans+agents) and Grokbot (named-agent sessions) are new shapes; Anthropic's Claude Tag pushes agents into company Slack — Riley frames the shift as from "personal agent" to "personal team of agents" .
- Riley's take: Grokbot's biggest innovation is personifying chat sessions — a bot is a named chat session with a mini system prompt and automations scoped to it instead of a global scheduled section — and he expects other labs to copy it .
- Claude Chrome sessions now carry over to desktop, web, and mobile; conversations are saved, skills/connectors work in the browser, and chats sync into the Claude app so a browser conversation can be continued on desktop — effectively Claude Cowork from a Chrome extension .
- Anthropic is keeping Sonnet 5 at its introductory (lower) price; OpenAI is doing the same with Terra and Luna; Riley attributes the cheaper non-frontier models to pressure from DeepSeek, Kimi/Z.ai, and Grok, and expects the trend to continue .
- New GitHub repo "phone harness" lets any agent (Claude Code, Codex, etc.) fully control your phone; Riley shared it without testing .
- DeepSeek V4 Pro launched claiming near-Fable quality at a fraction of the price, but testers found it only slightly better than DeepSeek V4 Flash; the model has effectively been taken down — it fails immediately in Cursor via OpenRouter, isn't an official Cursor model — and DeepSeek faced backlash for moving to usage-based pricing .
- Gemini 3.7 Flash officially released this week as a fast mid-tier model, benchmarked against Claude Sonnet and GPT Terra (not frontier models); it can be tried in Cursor via OpenRouter, but Riley calls it "not that good, just pretty fast" .
- Signal's critique (quoted by Riley): ChatGPT's chat/work split is confusing — work mode turns simple questions into planning/tool-using expeditions, chat is too limited for real tasks, there's no good default, and mobile/desktop plus local/cloud chat sync is a mess; "ChatGPT went from the most usable simple consumer experience to confusing AF" .
- OpenAI workspace agents — currently web-only on GPT team plans, GPT Work-powered with their own system prompts and Slack messaging — are coming to the ChatGPT desktop app and beyond team plans, per OpenAI's Andrew in response to Riley's tweet; the Codex app is now downloadable on Linux .
Fred Schott — creator of Astro, whose company was acquired by Cloudflare in January — shipped Flue 2, the agent framework's first stable release, built on React-style "Agent Hooks" . In Flue an agent is a JavaScript function that re-renders before every model call ; hooks are authored in TypeScript and let agents manage state, listen to lifecycle events, and attach resources and capabilities at runtime — 16 built-in hooks including useSkill(), useTool(), and useSubagent(), plus custom hooks . The goal is dynamic reconfiguration as a conversation progresses, which Schott says is required for "real support bots, real triage bots" that can't be fully configured in advance — e.g., a support agent pulls in an account-management tool after verifying the user .
Contrarian design take: file-based routing is an "antipattern" for agents. Early Flue users, "especially the bigger customers," run their whole company as one agent and "don't care about routing," so Schott pivoted Flue's API "more from React [...] than from Astro or Next.js" — composability over web-framework routing .
Core thesis: "There is no agent without a harness." Rather than scripts driving the LLM, the agent is placed in a harness with the context and capabilities it needs and "is able to drive itself and work through problems" . Flue is an opinionated layer on Pi, an open-source minimal harness — Schott likens Pi's role to Vite's beneath Astro — and Flue 2 hosted agents are built with Vite .
Workflow: Flue began as an issue-triage system in the Astro repo and evolved toward being "like Claude Code, but 100% headless and programmable" . Onboarding is agent-first: "pass this prompt to your agent, it's gonna guide you through it," with docs in markdown; Latent Space's Richard MacManus built his first Flue agent using Claude Code .
Landscape: Schott calls Vercel's eve the most direct competitor — both launched with the harness built in — while "OG agent frameworks" (Vercel AI SDK, Cloudflare Agents SDK, Mastra) are now retrofitting harnesses as a feature . He is skeptical of meta-harnesses such as Databricks' Omnigent or Exo: one API across all harnesses "would muddle the story for Flue," since "the framework [Flue] and the harness are very intertwined" .
Positioning: Flue stays open source and host-portable — "The best tools are the ones that float above the host" — whereas eve is optimized for Vercel's platform (the Next.js playbook); Vercel still published a guide for running Flue on its platform . A managed-agents product is not on Flue's roadmap: "It's so early for us, we're just focused on building the best harness" .
Broader context: Bret Taylor (Sierra CEO, OpenAI chairman) has said "We're sort of in the jQuery era of agents, not the react era" — the field is still maturing .
- exo, a recursively self-improving agent from UC Berkeley systems PhD Alex Kransell , decomposes agents into a fully stateless executor (all policy: context assembly, prompts, compaction, skills, tools), a stateful exo harness (conversation history, secrets, artifacts/snapshots), and an isolated sandbox, so the executor can be safely evolved without losing history or leaking secrets .
- Key RSI mechanism: exo mounts its own executor code inside the sandbox, letting the LLM edit and rebuild its own executor at runtime; a guardian process runs the rebuilt executor one step and auto-rolls back to the previous snapshot if it breaks .
- Cost-control pattern: the exo harness logs annotate each message with its cost; when asked to cut costs, exo re-architected its own Discord adapter at runtime to scope context to the relevant thread/conversation and cut per-call cost about 96% (one message had cost $0.16), then committed the change. Kransell warns to add evals to prevent reward hacking, e.g. the agent deciding to stop working to save money .
- OpenClaw contrast: its main dynamic self-modification is a memory markdown file plus human-installed skills/tools; policy like context assembly, history window, and compaction is static in source, whereas exo's argument is all of it should be agent-improvable .
- Security/scale takeaways: keep a secret store in the harness host process, never in the tool-visible sandbox, and inject secrets only into the LLM call ; teleporting agent state lets you scale from a single machine to many per-user sandboxes and move overflows to cloud providers like Daytona/E2B .
- OpenClaw threads are not interruptible mid-task (pings go unanswered); Kransell expects agent execution to adopt systems patterns like background processes/TMUX panes, signals, and pub/sub buses . exo runs in production at Braintrust; repo: GitHub ExoHarness/EXO, with Discord/IRC/WhatsApp adapters and pipeline-based voice mode on Discord .
- Firsthand report from @simonw: Qwen 3.8 27B in LM Studio with default reasoning set to "extra high" is a "chronic over-thinker" — for the prompt "draw an svg of a circle" it produced a long reasoning trace planning a self-contained, animated "cosmic/orbital" SVG with orbiting and rotating dashed rings, pulsating glow, tick marks, satellite dots, gradient background, and CSS animations .
-
The same run failed because the context length was left at the default: the server rejected the request before completion with
{"code":500,"message":"Context size has been exceeded."}. - Fix: after bumping up the context limit, the model produced a "beautiful (animated) circle"; result linked at https://gist.github.com/simonw/39977a4e0aa8fe3cae521b7b86f2262f. Practical takeaway: verbose reasoning traces from high reasoning settings can exhaust default context windows, so raise the context limit when using "extra high" reasoning locally.
@jankeesvw (firsthand) built a custom Omarchy menu bar item for Google Calendar — with week and day views — and reports it took five minutes . DHH quoted the post, writing "If you can think of it, Omarchy can make it happen. The infinitely malleable computer is finally here!" .
Kent C. Dodds announced he built a tool that "securely connects your agents directly" — an agent-to-agent integration approach inspired by the friction of manually pasting responses between your agent and a co-worker's agent during collaboration; early access is available by replying to the post .
DHH — Ruby on Rails creator and 37signals co-owner/CTO — released Omarchy Quattro, calling it "one of the greatest software releases in my professional career" . The announcement links to omarchy.org and a launch video . The launch video hit one million views within a day, which DHH attributes to X's distribution .
DHH, creator of Omarchy, reports Omarchy Quattro's community plugin count grew exponentially: 25 → 50 → 100 → 200 plugins over the past four days . He links to the plugin directory at https://omarchyplugins.com/. This is a firsthand signal that the Omarchy Quattro ecosystem is rapidly gaining traction.
@pvncher shipped a new capability in "multi agents v2": models can now delegate to any supported model — including a model called Luna — and they note it took care to make it work reliably . Greg Brockman (@gdb) spotlights the release as "towards never having to manually select a model again" , pointing at automatic model routing/delegation as the direction for agent stacks. Firsthand release note from the builder; Brockman's take is secondhand endorsement. Original post: https://x.com/pvncher/status/2088641056237580632
Jason Zhou (@jasonzhou1993) asks whether a lightweight CRM built for agents exists, specifically one that can log email sending integrated with Resend/AgentMail .
DHH's coding-agent challenge: agents rewrote the TerminalTextEffects Python library in Rust. Fable (via Claude artifact) completed it in one shot in 45 min for ~$550, spending 11M tokens; it cut startup from 87ms to 2ms, improved rendering speed 9.6x, and produced a zero-dependency 3MB single executable . DeepSeek Pro V4 Max also completed the challenge in 2h30m for just $23 in tokens, vs ~$550 for Fable, $55 for Grok 4.6 (1.5h), $43 for GPT Sol; DSV4 Flash and GPT Luna failed . All implementations ran off the plan Fable originally wrote, available at https://github.com/omacom-io/ttfx/blob/master/plan.md — a reusable plan-driven agent pattern .
Cost comparisons across coding models should account for tokenizer efficiency, not just price per token: different models tokenize the same text differently, so a lower price per token can still mean a higher bill . In one comparison, GPT-5.6 Sol's tokenizer used 766 tokens vs. an estimated 1,170 for Claude Opus 5 on the same English/technical/multilingual/numerical text — ~34.5% fewer tokens . The author argues the real metric is price per successful outcome, measured on your own use cases, with benchmarks only as a starting point .
Per @antigravity, Antigravity now uses Gemini 3.7 Flash's reasoning to build complete native auth screens across SwiftUI, React Native, Jetpack Compose, and Flutter; the update is live via download/upgrade (https://antigravity.google/download) .
@pvncher (firsthand release note) reports that "models with multi agents v2" now have the ability to delegate to any supported model, including Luna — a feature that shipped quietly this week and took time to make reliable . @thsottiaux frames this as letting Sol "manage an efficient fleet of Luna agents," with the models collaborating "incredibly fast and efficient" .
React for Agents: Astro Creator Brings Hooks to his Meta-Harness, Flue

Agent frameworks for developers are still at an early stage, with the likes of Vercel’s eve (opens in new tab) and Fred Schott’s Flue (opens in new tab) — both launched this year — setting the early template.
Schott is the creator of the web framework Astro, which led to his company being acquired by Cloudflare (opens in new tab) in January. He’s just released version 2 of Flue (opens in new tab), its first stable release, which has as its foundation React-style “Agent Hooks.”

In Flue, an agent is represented by a JavaScript function. This function “re-renders on every turn (opens in new tab),” meaning before every model call.
The addition of hooks came after Schott realized that React’s composability would be a great fit for agent development.
“I originally tweeted that we were building the Astro for agents or the Next.js for agents,” he told us. “But then I realized: maybe no one has even built the React for agents.”
Editor’s Note: we last talked about the React for Agents with Bret Taylor, CEO of Sierra and Chairman of OpenAI (opens in new tab):
“We’re still trying to figure out who the reactive agents are and the jury is still out… We’re sort of in the jQuery era of agents, not the react era.”
Hooks are authored in TypeScript. According to the Flue 2 launch post (opens in new tab), they “let you build dynamic agents that can manage their own state, listen to agent lifecycle events, and even attach different resources and capabilities dynamically to enhance themselves at runtime.”
There are 16 built-in hooks in Flue 2, including useSkill(), useTool(), useSubagent(). You can also add custom hooks.

How Flue evolved via React-style hooks; diagram by Richard MacManus
What hooks open up for developers is that they make an agent much more dynamic, by allowing its configuration to change as a conversation or workflow progresses. Schott said this is needed to build “real support bots, real triage bots,” because they can’t be fully configured in advance. The agent can’t just be static — it has to adapt in real-time to what the user wants or the situation demands.
Agent hooks bring those capabilities to Flue. For example, a support agent might bring in an account management tool after first verifying a user.
File based magic is an antipattern
Schott’s thinking about how to build an agent framework has evolved rapidly since he publicly launched Flue 1 in early May. Initially, he wanted to take existing web framework concepts and apply them to his new agent framework. He uses file-based routing as an example.
“So we kind of naively ported that over to Flue, thinking — great, well, I’ll put your five agents in these five files, and that’ll be the five routes that they expose. But for a lot of people building with Flue, especially the bigger customers, their whole company is one agent. They don’t care about routing. There’s one agent.”
So after the first Flue users showed these early patterns, composability became front of mind for Schott. That led him back to React.
“As you can see from the Flue 2 API, we’re taking it more from React […] than we are from Astro or Next.js — where it’s less about routing and these website concepts and more about, at its base level, how do you compose an agent on many different things?”
Flue’s central proposition: agents need a harness
A key concept in Flue is that an agent must have a harness — meaning that it’s in an environment where it has access to the context and capabilities needed to accomplish various tasks.
“Instead of you and your code driving the LLM and telling it what to do with scripts, you’re putting the agent into this harness, and it is able to drive itself and work through problems,” explained Schott.
Flue is built on top of Pi (opens in new tab), an open source minimal harness. Essentially, Flue is an opinionated take on Pi — adding features that Schott thinks are helpful to developers building agents. For example: hosted agents in Flue 2 are now built with Vite, an open source build tool.
Indeed, Schott likens Pi’s role to the foundational role that Vite now plays beneath Astro.
“I think Pi can serve that role, where it’s the right abstraction — it doesn’t do too much, but it gives the right APIs that then we can go and say, well, let’s have an opinionated take on this that does more.”

Building on Pi meant committing to having a built-in agent harness.
“Our early bet was that the harness is actually not a feature, but it’s fundamental to what you think an agent is,” Schott said. “There is no agent without a harness.”
Building Flue agents with coding agents
The Flue project began earlier this year within the Astro repository, as an issue-triage system. At first, it was an LLM-driven script or workflow reviewing issues. But then, explained Schott, it gained the ability to take actions in the repo.
“It started to transition from just automation in a repo to wanting to take the Claude Code experience, make it headless, make it hostable and run it in the cloud.”
So that’s when the idea of a harness as anchor emerged. Indeed, in his v1 launch post (opens in new tab) in early May, Schott described Flue as “like Claude Code, but 100% headless and programmable.”
I myself tested out Flue using Claude Code, which guided me through setting up my first Flue agent. And Schott confirmed this is how many developers use Flue.
“We very much are building for them,” he said, regarding AI coding agents. “Our whole onboarding flow is that, you know, pass this prompt to your agent, it’s gonna guide you through it. All of our docs have markdown support.”
Where Flue fits in the agent development stack
The closest comparison to Flue is Vercel’s eve, which also treats the harness as foundational. Vercel and Cloudflare have been known to beef (opens in new tab) in public, but Schott is generous in his opinion of eve (opens in new tab).
“Eve, I think, is the most directly competitive,” Schott said. “It came around at the same time, so it had that same take that a harness is built-in.”
Schott also referenced what he called the “OG agent frameworks,” which came before Flue and so weren’t created with a harness as the central concept. He listed Vercel’s AI SDK (opens in new tab), Cloudflare’s Agents SDK (opens in new tab), and Mastra (opens in new tab) (developed by the same team that built Gatsby, a web framework predating Astro).
While these “OG agent frameworks” are all adding harnesses now, Schott considers that an added feature — whereas Flue and eve both have built-in harnesses.
I asked where Flue sits compared to emerging “meta-harnesses (opens in new tab),” like Databricks’ Omnigent and perhaps even the self-improving Exo harness (opens in new tab).
Note: we’re also publishing our interview with Exo coauthor Alex Krentsel this weekend; it’s worth a watch and has a bonus discussion on OpenClaw architecture!
Schott rightly noted that there’s confusion about what the term meta-harness even means at this early stage. Regardless, he thinks having one API for working across all harnesses would muddle the story for Flue. His framework specifically defines how skills work in Flue, how subagents work, and so on. As he put it, “the framework [Flue] and the harness are very intertwined.”
He personally finds the meta-harness discussion fascinating, and has played with Exo, but says it’s “a different interest scenario that isn’t really related to hosted agents.”
The Cloudflare connection
Throughout the interview, Schott referenced being able to take advantage of his employer Cloudflare’s tooling and infrastructure (opens in new tab). But he was also very clear that Flue is an “open source framework for every host,” as he put it, and he wants it to stay that way.
“The best tools are the ones that float above the host,” he said. “That opens the door for the most developer adoption and the most innovation.”
Host portability (opens in new tab) is one of Flue’s defining principles — and perhaps that’s where the fundamental difference to Vercel’s eve is. While eve can also be self-hosted, it is optimized to take advantage of Vercel’s many features. Of course that’s a known playbook of Vercel, which does the same thing with Next.js (opens in new tab).
All that said, Vercel itself has shown that a Flue agent can be deployed on Vercel (opens in new tab). So the two companies can play nice together.

I also mentioned LangChain’s new Managed Deep Agents (opens in new tab) offering as an example of hosted agent platforms coming onto the market. However, Schott said a managed agents product is not currently on Flue’s roadmap.
“It’s so early for us, we’re just focused on building the best harness,” he said.
Links to find Flue (opens in new tab) and Fred (opens in new tab) online; Richard is at @ricmac (opens in new tab). This is a new written interview series we are trying out for subscribers — let us know your feedback!
Fred Schott — creator of Astro, whose company was acquired by Cloudflare in January — shipped Flue 2, the agent framework's first stable release, built on React-style "Agent Hooks" . In Flue an agent is a JavaScript function that re-renders before every model call ; hooks are authored in TypeScript and let agents manage state, listen to lifecycle events, and attach resources and capabilities at runtime — 16 built-in hooks including useSkill(), useTool(), and useSubagent(), plus custom hooks . The goal is dynamic reconfiguration as a conversation progresses, which Schott says is required for "real support bots, real triage bots" that can't be fully configured in advance — e.g., a support agent pulls in an account-management tool after verifying the user .
Contrarian design take: file-based routing is an "antipattern" for agents. Early Flue users, "especially the bigger customers," run their whole company as one agent and "don't care about routing," so Schott pivoted Flue's API "more from React [...] than from Astro or Next.js" — composability over web-framework routing .
Core thesis: "There is no agent without a harness." Rather than scripts driving the LLM, the agent is placed in a harness with the context and capabilities it needs and "is able to drive itself and work through problems" . Flue is an opinionated layer on Pi, an open-source minimal harness — Schott likens Pi's role to Vite's beneath Astro — and Flue 2 hosted agents are built with Vite .
Workflow: Flue began as an issue-triage system in the Astro repo and evolved toward being "like Claude Code, but 100% headless and programmable" . Onboarding is agent-first: "pass this prompt to your agent, it's gonna guide you through it," with docs in markdown; Latent Space's Richard MacManus built his first Flue agent using Claude Code .
Landscape: Schott calls Vercel's eve the most direct competitor — both launched with the harness built in — while "OG agent frameworks" (Vercel AI SDK, Cloudflare Agents SDK, Mastra) are now retrofitting harnesses as a feature . He is skeptical of meta-harnesses such as Databricks' Omnigent or Exo: one API across all harnesses "would muddle the story for Flue," since "the framework [Flue] and the harness are very intertwined" .
Positioning: Flue stays open source and host-portable — "The best tools are the ones that float above the host" — whereas eve is optimized for Vercel's platform (the Next.js playbook); Vercel still published a guide for running Flue on its platform . A managed-agents product is not on Flue's roadmap: "It's so early for us, we're just focused on building the best harness" .
Broader context: Bret Taylor (Sierra CEO, OpenAI chairman) has said "We're sort of in the jQuery era of agents, not the react era" — the field is still maturing .