fx is Vercel Labs’ coding agent harness and CLI written in Zig, built to be embedded in larger systems rather than to be your full development environment.
fx is the first credible entrant built on the bet that the harness wants to be a dependency, not an environment: a ~6 MiB Apache-2.0 binary with a microsecond cold start made to live inside other programs, sandboxes, and the browser.
What it is #
A single Zig binary (6.17 MiB per the site) that does no unnecessary I/O before accepting input (the v0.0.8 release notes measure CLI startup at about 0.5 ms), with a CLI form factor pitched closer to a Unix shell than an IDE-in-the-terminal TUI.
It is open source (Apache-2.0), model-agnostic, and compiles to WebAssembly, which is how the site runs the whole agent in a browser demo.
Feature surface: native
AGENTS.md loading (global, workspace, and per-directory),
MCP, Claude-format skills directories (.claude/skills/ and peers),
subagents as persistent child sessions with durable message queues, web search, vision, and an
fx acp server so ACP-speaking editors can host it.
Status #
Active and very young.
The repository was created August 11, 2026 and shows 3,446 stars and 380 forks as of 2026-10-15, with v0.0.16 the latest release (published October 29, 2026; a token-and-size release claiming 41 percent fewer uncached input tokens across ten model families and an 87.5 percent reduction in broken prompt-prefix requests in the vendor’s paired benchmark, a 2.8 percent smaller macOS arm64 CLI, libfx npm downloads about 60 percent lighter by installing the platform-native addon instead of every platform’s binary with WebAssembly as the fallback, file edits up to 16 MiB, named skills sending their instructions only with the turn that invokes them, and edit diffs stored instead of full file copies) on top of v0.0.15 (published October 27, 2026; roughly 70 percent less peak memory on long conversations holding saved images in a vendor synthetic benchmark, model-catalog updates without a restart, a leaner session store with about 18 percent faster resumes, and /fork branching from an earlier prompt) on top of v0.0.14 (published October 16, 2026; durable libfx sessions that survive crashes, redeploys, and function timeouts with idempotent-marked tool reruns, multiple named libfx agents per app, wakeHandler() as one HTTP route for every agent, ChatGPT and Grok subscription sign-in for server-side agents, libfx custom OpenAI-compatible endpoints including local model servers, and a move to Zig 0.17) and pushes landing the day of this check (GitHub API, as of 2026-11-12), with v0.0.16 still the newest release.
The launch thread drew 318 points on August 18, 2026 (HN).
The README carries its own banner: “Status: Experimental. Use at your own risk.”
Strengths #
- Embeddability is the actual product: Node SDK, WebAssembly SDK, and browser integration for putting an agent inside sandboxes, CI, and other tools, which no mainstream harness treats as the primary use case.
- The tiny binary and instant cold start make it the natural choice for resource-constrained environments and programmatic driving.
- Reads AGENTS.md natively and consumes the Claude, Codex, OpenCode, and Claw skill directories, so it drops into existing conventions rather than inventing its own.
- Subscription reuse without token exposure: ChatGPT via Codex OAuth and Grok via xAI OAuth, with sessions stored locally and never sent to Vercel (
docs).
Cautions #
- Open source does not mean vendor-neutral: the default credential is Vercel AI Gateway, so the default path keeps Vercel on the meter and the metadata even when you self-host the binary; per the docs, Codex and Grok subscription requests go directly to their providers (
usage docs).
- v0.0.x with frequent changes promised; the site’s own demo page says “use at your own risk, we will be making frequent changes”.
- The built-in sign-in flows still document only three credentials (Vercel AI Gateway, Codex, or Grok).
- Custom model connections for Ollama, vLLM, and OpenRouter shipped in v0.0.11 and speak only OpenAI Chat Completions endpoints; the docs page’s earlier preview banner is gone as of 2026-11-07, so the feature is now documented as standard, but the single-protocol limitation stands.
- No hooks or plugins mechanism; skills only.
- The pipe-to-shell installer (
curl ... | bash) is the default install path; the docs themselves ask you to read the installation page first.
Pricing #
The software is free under Apache-2.0. You pay for tokens through one of three credentials: your Vercel account’s AI Gateway billing, an AI Gateway API key, or an existing ChatGPT/Grok subscription via OAuth. There is no fx-specific subscription.
Compared to #
- OpenCode: the MIT full-environment harness with local models and any provider; pick OpenCode as your daily driver, fx when you need an agent inside something you are building.
- goose: the other subscription-reuse story, but as a full Rust agent platform rather than an embeddable minimal binary.
- Crush: the other small single-binary agent, but terminal-first rather than embed-first.
Bottom line #
I would reach for fx when the agent is a component of my system (a sandbox, a pipeline, a product), and stay on OpenCode or a platform harness when the agent is where I work. Not for anyone who needs local models, provider-key BYOK, or a stable release line today.
Changes #
- 2026-08-29 - Created in the Harnesses category through the new-entrant scan, with a harness matrix column added the same day.
- 2026-09-09 - Rewrote the credentials caution as announced-but-undocumented after the home page began advertising local models, gateways, and direct provider keys.
- 2026-09-12 - Updated for v0.0.9’s reasoning steering and subagent delegation, and rewrote the vendor-routing caution as Codex and Grok requests now go direct.
- 2026-09-16 - Updated to v0.0.10 (turn speed and MCP secret protection), refreshed repository scale, and rewrote the credentials caution for the custom model connections preview.
- 2026-09-24 - Recorded the v0.0.11 release (September 24), which ships custom model connections and themes, makes Grok 4.7 the default model, and adds libfx steering and web search, and refreshed repository scale.
- 2026-10-02 - Recorded the v0.0.12 release (September 30), which sped session listing up to 560x (large stores resume in under a second), improved GitHub-flavored Markdown rendering, and broke libfx error-code compatibility, and refreshed repository scale.
- 2026-10-05 - Recorded the v0.0.13 release (October 4), which added Ultrafast inference on supported OpenAI models through the AI Gateway, up to 23x faster launch, one-step Slack MCP setup, configurable auto-compaction, and ACP turn steering and MCP hosting, with a breaking libfx checkpoint format, and refreshed repository scale.
- 2026-10-06 - Refreshed repository counters (3,302 stars) and corrected the stale harness count in the See-also matrix line.
- 2026-10-07 - Added the vercel-labs/fx star history chart to the Status section.
- 2026-10-17 - Recorded the v0.0.14 release (October 16), which made libfx sessions durable out of the box (surviving crashes, redeploys, and timeouts with idempotent tool reruns), added multiple named libfx agents and
wakeHandler(), brought ChatGPT and Grok subscription sign-in to server-side agents, and moved fx to Zig 0.17, and re-fetched every cited reference in the rotation pass. - 2026-10-27 - Rotation re-verification, re-fetching every cited reference (all live): v0.0.14 remains the newest release with the pushes running on, and the authentication docs still document the same three credentials, so the cautions stand as written.
- 2026-10-28 - Recorded the v0.0.15 release (October 27): roughly 70 percent less peak memory on image-heavy long conversations in a vendor synthetic benchmark, hot model-catalog updates, a leaner session store with about 18 percent faster resumes, and
/forkfrom an earlier prompt. - 2026-10-30 - Recorded the v0.0.16 release (October 29): the vendor-paired 41-percent uncached-token reduction and 87.5-percent fewer broken prompt prefixes, the 2.8-percent-smaller macOS CLI, the 60-percent-lighter libfx install (platform-native addon with a WebAssembly fallback), 16 MiB file edits, invoke-time skill instruction sends, and stored edit diffs.
- 2026-11-07 - Rotation re-verification, re-fetching every cited reference (all live): v0.0.16 remains the newest release with pushes landing through November 7, and the custom-model-connections docs page dropped its preview banner while the OpenAI-Chat-Completions-only limitation stands, so the caution was rewritten.
See also #
- Agentic Coding Tools Landscape - where fx lands in the harness layer’s independent tail
- OpenCode - the full-environment MIT harness fx is the minimal counterpoint to
- goose - the other harness that reuses subscriptions you already pay for
- Harness Feature Matrix - fx measured against the category’s other members on shared rows
References #
https://github.com/vercel-labs/fx - repository, Apache-2.0, scale and releases, as of 2026-10-17
https://fx.sh/ - product claims, 6.17 MiB binary size, Wasm demo
https://fx.sh/docs/getting-started/authentication - the three-credential provider model and local token storage
https://fx.sh/docs/configure-fx/project-instructions - native AGENTS.md loading
https://fx.sh/docs/capabilities/subagents - the persistent-child subagent system
https://fx.sh/docs/using-fx/acp - the ACP server mode for editor hosting
https://fx.sh/docs/using-fx/usage-and-costs - the AI Gateway routing and local usage tracking
https://news.ycombinator.com/item?id=49353339 - the August 18, 2026 launch thread
https://vercel.com/oss - Vercel Labs stewardship