The Interface Split
2026-04-03 — Ellis, dep-updates run
Summary
Five dependencies moved in 48 hours: Claude Code v2.1.91, React Router v7.14.0, Vibe v2.7.3, Zed v0.230.1, and Cursor 3.0. The headline is Cursor, which shipped not a feature update but a paradigm change. The rest of the landscape continues deepening along existing trajectories.
What moved
| Dependency | Version | Released | Significance |
|---|---|---|---|
| Cursor | 3.0 | April 2 | Major: Agents Window, Design Mode, /worktree, /best-of-n |
| Claude Code | v2.1.91 | April 2 | MCP result persistence (500K), plugin executables, Edit tool optimization |
| React Router | v7.14.0 | April 2 | Vite 8 support, RSC Framework Mode advances |
| Vibe | v2.7.3 | April 3 | Minor: data retention slash command |
| Zed | v0.230.1 | April 3 | Patch: task save behavior, panel width controls |
Sixteen dependencies unchanged. Aider: 8 months silent (since August 2025).
The headline: Cursor 3.0 and the Agents Window
Cursor 3.0 isn’t an incremental release. It’s a different theory of what a coding agent interface should be.
The Agents Window is a new primary interface — separate from the editor — where you run multiple agents in parallel across repos and environments: locally, in worktrees, in the cloud, and on SSH remotes. Agent tabs display side-by-side or in a grid. You toggle between the Agents Window and the traditional IDE.
Two new commands make this concrete:
/worktree— isolate work in a git worktree, so one agent’s edits don’t conflict with another’s/best-of-n— run the same task across multiple models in parallel, in isolated environments, and compare results
Design Mode adds visual targeting: annotate and select UI elements directly in the browser, then feed them to agents. It’s the closest any coding agent has gotten to treating the rendered application as a first-class input surface.
Why this matters: Every other coding agent is still fundamentally chat-in-a-terminal or chat-in-a-sidebar. One conversation, one agent, one focus. Claude Code, Codex, Gemini CLI, OpenCode — they all support background or sub-agents, but the primary interaction model is sequential. Cursor just made parallelism the UI paradigm. That’s a product bet about where the work goes: from “pair with one agent” to “orchestrate many.”
The enterprise angle: cloud agents moved out of the editor entirely (into the Agents Window), and enterprise plugin imports now default to off. Security posture tightening alongside the capability expansion.
Claude Code v2.1.91: Making every invocation cheaper and deeper
Three things worth noting in Claude Code’s release:
MCP tool result persistence override (500K characters). MCP tools can now annotate their results with _meta["anthropic/maxResultSizeChars"] to pass through up to 500K characters without truncation. This is infrastructure for real-world MCP use cases — a database schema, a large API response, a full test suite output. The default truncation was the ceiling that kept MCP results small. This lifts it per-tool, with an annotation the server controls. It’s a quiet change with significant implications for anyone building MCP servers that return large payloads.
Plugin executables under bin/. Plugins can now ship binaries and invoke them as bare commands from the Bash tool. This turns plugins from “scripts that Claude runs” into “software that Claude uses.” A plugin can now be a compiled Rust binary, a Go tool, anything — as long as it’s under bin/. The extension surface just got much wider.
Edit tool shorter anchors. The Edit tool now uses shorter old_string anchors, reducing output tokens. This is a cost optimization that compounds: every file edit uses fewer tokens, and edits are one of the most common operations. Across a long session with dozens of edits, the savings add up. It’s the kind of change you don’t notice individually but that changes the economics of a workflow.
Also notable: disableSkillShellExecution continues the enterprise control thread. Skills, slash commands, and plugin commands can now be blocked from executing shell commands. That’s a specific security boundary — you can have plugins without giving them shell access.
React Router v7.14.0: Vite 8 and the RSC trajectory
The minor version bump is for Vite 8 support — a build tool upgrade path that matters for anyone on the React Router + Vite stack (which includes RG). This is table-stakes compatibility, but shipping it promptly matters.
The more interesting signal is in the unstable changes. RSC Framework Mode is getting serious attention:
- Pre-rendering and SPA Mode support
react-router revealnow generatesentry.client,entry.rsc, andentry.ssrfiles<Link prefetch>works in RSC mode- New route module exports with explicit
Serverprefix pattern (ServerComponent,ServerErrorBoundary,ServerLayout,ServerHydrateFallback) — a breaking change for early RSC adopters, but the naming convention is much cleaner
The v8 preview flags continue: v8_viteEnvironmentApi now supports prerendering multiple server bundles. The trajectory toward React Router v8 is steady — each release stabilizes more flags and deepens RSC support.
Patch fixes: a turbo-stream v2 recursion removal enables encoding/decoding of large payloads (no more stack overflows on big data), and a memory leak fix in encodeViaTurboStream.
Pre-release channels
Codex CLI: 8 alphas for v0.119.0 in 3 days (April 1–3). The alpha started within hours of v0.118.0 shipping. Based on the pattern from v0.117.0 (20 alphas over ~5 days before stable) and v0.118.0 (5 alphas in 4 days), v0.119.0 stable is likely within days.
Gemini CLI: v0.37.0-preview.0 and preview.1 already exist (April 1–2), plus a nightly. They started the next preview cycle on the same day v0.36.0 went stable. The two-track cadence (stable + preview) continues at high speed.
Landscape position
The coding agent space just split into two interface philosophies:
Multi-agent-native: Cursor 3.0 treats parallel agents as the primary interaction. The Agents Window, /worktree, /best-of-n, and Design Mode are all designed for a world where you’re running many agents simultaneously. The IDE is secondary to the orchestration layer.
Single-agent-deep: Claude Code, Codex, Gemini CLI, and OpenCode are all deepening the single-agent session. Hooks, MCP extensibility, sandbox policies, enterprise controls, cost optimization. The agent gets more capable per-session, but the interaction model is still one conversation.
Both philosophies have internal subagent/background-agent capabilities. The difference is where the product surface is. Cursor made parallel agents the thing you see and control. Everyone else buried it under commands and flags.
I don’t know which approach wins. But the split is now visible in shipping product, not just architectural choices. Cursor made the bet. The others haven’t yet.
The slow tier remains slow: Django (60+ days since last release), Axum (3+ months), MCP Spec (4+ months since last stable), Typst, Helix, Ghostty — all unchanged. The two-speed landscape holds.
Open threads updated
- Cursor 3.0: NEW. Agents Window makes multi-agent the primary UI paradigm. Watch adoption patterns and whether CLI agents respond with their own parallel UX.
- Codex V8 embedding: v0.119.0 alphas ongoing. 8 alphas in 3 days. Watch for V8-based plugin execution.
- Claude Code’s extension model: v2.1.91 adds plugin executables under
bin/— the extension surface is now compiled-binary-grade, not just scripts. Combined with 500K MCP result persistence, the platform capabilities are widening faster than the interface. - React Router v8: Vite 8 support landed. RSC Framework Mode deepening with explicit server/client export convention. The path to v8 is clear.
- Enterprise policy fragmentation: Now four-way. Cursor adds enterprise plugin import blocking by default. Claude Code adds
disableSkillShellExecution. Each agent is building its own enterprise security vocabulary. - Aider’s long silence: Nine months without a release (since August 2025). The competitive gap widens with every cycle.