avatar vian's notes

Learning in public, one post at a time

  • HOME
  • CATEGORIES
  • TAGS
  • ARCHIVES
  • ABOUT
Home Warp Came Back Around
Post

Warp Came Back Around

Posted Jul 1, 2026 Updated Jul 9, 2026
By Alvian
3 min read

I remember my first Warp trial ending with a shrug.

A terminal with AI features — nice inline assistant, sure, but tied to yet another subscription. I’d already walked away from Copilot for the same reason. I wasn’t about to sign up for another locked-in AI tool.

I closed it and went back to OpenCode without a second thought (see Warp Tried to Sell Me AI Again). This was around the time I was building the /delegate system, hacking orchestration on top of a TUI. Warp wasn’t on my radar.

Then the announcements started.

Warp shipped Warp 2.0: the Agentic Development Environment. The messaging shifted — not just a smarter terminal, but a platform where agents are first-class citizens. Custom OpenAI-compatible providers. Child agent orchestration. MCP integration.

A few months later came Oz, the orchestration platform — the run_agents primitive, cloud environments, audit trails.

Warp was building the exact thing I had been hacking together.

I was surprised. And a little frustrated I hadn’t seen it coming. But mostly — I was curious. What had changed?

Two things pulled me back.

Custom provider support. Warp wasn’t locked to its own AI anymore. You could point it at any OpenAI-compatible endpoint — including 9router. My custom fork with tiered fallback, token compression, and my entire cost architecture (I wrote up those changes in What I Changed in 9router). Warp would handle the orchestration. 9router would handle the routing.

Native orchestration. The run_agents primitive. Not a bolt-on protocol over a tool system, but a first-class runtime where a lead agent spawns children, messages them, collects results, re-delegates. This was what /delegate tried to be, without the sequential-chain limitation.

I migrated the agent system that had grown in OpenCode. The role definitions, the Delegation Gate rules, the session onboarding protocol, the worktree conventions — all survived. They live in ~/.agents/AGENTS.md, shared between both tools. The model is tool-agnostic.

The skill files needed zero changes. Each defines role-specific behavior, and Warp auto-discovers them. The same skill instructs a planner whether it runs in OpenCode or Warp.

The first time I ran run_agents and saw four child agents fan out in parallel, each hitting different providers through 9router’s fallback chains — that was the moment the whole stack clicked. Not a smarter chatbot. A coordinator that can parallelize.

There was one catch. Oz agents run in an isolated context — they can’t reach localhost. To connect Warp to 9router, I needed a public HTTPS endpoint. That meant a tunnel.

The flow: Warp agent hits https://api.mydomain.com, Cloudflare routes through an encrypted tunnel to cloudflared on my machine, which forwards to the 9router server on localhost:20128. The agent never knows the tunnel exists.

I wrote the full tunnel story separately (see The Tunnel), but the punchline matters here: before the tunnel, I was hedging — running prompts twice, burning API credits. After the tunnel, every request hits my local server. Sub-millisecond latency. Zero per-call cost.

The cost economics sealed the deal. Oz orchestration is free — Warp’s Free plan includes BYOK, so every request hits my own 9router endpoint with no per-call Warp charges. My only recurring costs: $10/month for OpenCode Go plus a yearly domain invoice. Free providers handle the fallback layers through 9router. No per-seat fee.

I added MCP servers — kubectl for Kubernetes context, duckdb for inline queries, firecrawl for web research, lean-ctx for codebase search. Every child agent gets access through the shared MCP configuration.

I walked away from Warp the first time because it looked like another locked-in AI subscription. I came back because they’d built the platform I was hacking together myself.


Sources: Warp pricing page (Free plan includes BYOK, no per-call charge) · OpenCode Go documentation ($10/month)

The difference between being locked in and choosing to use something is the ability to leave. That’s what custom providers gave me. And that’s what made Warp worth a second look.

warp oz orchestration agents run_agents
This post is licensed under CC BY-NC 4.0 by the author.
Share

Recently Updated

  • Headroom, Round Two: Four Walls Between Me and a Working Token Saver
  • The Server Split That Almost Didn't Happen
  • I Opened My First Open Source PRs. None of Them Are Merged Yet.
  • Checking Upstream: What v0.5.50 Gained for 9router
  • The 403 That Wasn't: How Warp, 9router, and Cloudflare Masked Two Separate Failures

Trending Tags

9router technical tooling ade ai personal postmortem warp agents orchestration

Further Reading

Jul 8, 2026

This Is My ADE

I hit send on a prompt. Watched the spinner. Started calculating — was I past the cap yet? Three weeks into the billing cycle, OpenCode Go had hit its limit. I’d been conditioned to expect the erro...

Jul 31, 2026

The 403 That Wasn't: How Warp, 9router, and Cloudflare Masked Two Separate Failures

My Warp agent stopped talking to 9router. Quick background: 9router is my AI routing layer — a Hono server that proxies LLM requests through fallback providers. It runs locally via a Cloudflare tu...

May 20, 2026

Warp Tried to Sell Me AI Again

I downloaded Warp on a Thursday afternoon. The hype was everywhere — every terminal thread had someone saying “try Warp, it’s the future.” A terminal built for the modern era. GPU-accelerated rend...

Older
The Tunnel
Newer
This Is My ADE

© 2026 Alvian. Some rights reserved.

This blog is open source — view on GitHub

Using the Chirpy theme for Jekyll.

Trending Tags

9router technical tooling ade ai personal postmortem warp agents orchestration