Notes ·
fx Asks How Small a Coding Agent Actually Needs to Be
fx is a new experimental coding-agent harness from Vercel Labs that takes almost the opposite approach from the increasingly elaborate terminal agents appearing everywhere.
It is written in Zig, open source under Apache 2.0, model-agnostic and intentionally designed to behave more like a Unix command than an IDE stuffed into a terminal. (fx.sh) (github.com)
That answers the obvious question of why we need another coding agent.
The interesting part is not another interface for talking to an LLM. It is how little infrastructure fx believes that interface actually requires.
The current build advertised on fx.sh is only 6.39 MiB, uses single-digit megabytes of baseline memory and claims a 10 microsecond cold start before accepting input. Those performance figures are the project's own measurements, but even allowing for that, the design goal is unusually aggressive. (fx.sh)
That matters if the agent itself is going to become infrastructure.
A coding harness that consumes a few megabytes can be embedded inside containers, sandboxes, development environments and other agents without requiring hundreds of megabytes of runtime before the model has even received a prompt.
fx can also compile to WebAssembly. Its JavaScript SDK lets another application embed either the agent core or the entire interactive terminal, while the host provides things such as networking, storage and terminal I/O. It can alternatively expose itself through Agent Client Protocol for editors and other applications. (fx.sh)
The Unix philosophy carries into its feature set.
The core stays small. Additional behavior comes through skills, MCP servers, plugins and subagents. Interactive output is deliberately restrained, and fx preserves normal terminal scrollback rather than constantly repainting the screen with a large TUI. (fx.sh)
That last part interests me more than it probably should.
Coding agents increasingly seem to assume they need to become an entire development environment. I generally want the opposite. Tell me what matters, use the tools, let me steer and stay out of the way.
fx is also useful programmatically. fx ask can run a single request without entering an interactive session, and many commands support JSON output. That makes the harness something another process can invoke rather than only something a human sits in front of. (fx.sh)
There are good reasons not to get too excited yet.
The current release is v0.0.3, and the project explicitly labels itself experimental and warns that frequent changes are coming. The WebAssembly SDK is experimental too. (fx.sh)
But the concept is notable.
As models get larger and more capable, perhaps the software wrapped around them does not need to grow with them.
Maybe the better coding-agent harness is not another giant application.
Maybe it is a small executable that follows the Unix tradition:
Do one thing, start immediately, compose with everything else and get out of the way.