Prospero
Intro
Prospero is a native, bloat-free AI coding harness for Windows, macOS and Linux, released on October 31, 2026 by Chris Wellons (skeeto, author of the long-running nullprogram blog and w64devkit). A coding harness is the program that lets an AI model call tools — read and write files, run shell commands, spawn sub-agents — so it can work on software by itself.
Wellons' complaint is that most harnesses are built on web stacks and use gigabytes of memory, even though "at its core a coding harness is essentially curl glued to popen()". Prospero is a single C++ executable with a Dear ImGui docking interface and uses around two orders of magnitude fewer resources than typical harnesses. His launch post, "Prospero: a new coding harness for a more civilized age", reached the Hacker News front page with 181 points and 120 comments.
Explain
Key features
- Native and tiny — one C++ executable, no daemon or server; passive ImGui rendering, so it uses almost no CPU when idle. A user measured a ~10 MB binary and ~115 MB idle RAM versus ~310 MB for Claude Code's binary.
- Bring your own model — no providers built in. It speaks the OpenAI Chat Completions API (llama.cpp, vLLM, LiteLLM, OpenRouter…) and Anthropic's Messages API with extended thinking and prompt caching. A Claude subscription cannot be used.
- Sub-agents — agents can spawn sub-agents, message each other and coordinate work in parallel.
- Remote / headless engines — over SSH or WSL Prospero can deploy a headless copy of itself to another machine; sessions can keep running after the window closes and be re-attached later.
- Desktop control — with a vision model it can see the screen and click, type and drag, so it can test native GUI apps without special MCP servers.
- Never wait forever — every operation has a deadline, so an unanswered permission prompt overnight becomes a denial and the agent keeps going.
- INI configuration —
~/.config/prospero/prospero.ini, which can include other files or URLs for shared team settings; skills, MCP servers and web search are supported. - Self-documenting — the agent can read Prospero's embedded docs, configure itself and point you to any place in the UI.
Why it matters
Lean harnesses matter most for local models and long unattended jobs: Wellons notes it can drive a fuzzing campaign on a headless box without the Linux OOM killer killing the harness instead of the fuzz target.
Usage
- Get Prospero from the project (GitHub
skeeto/prospero, build instructions indocs/building.md, or the release builds linked from the author's site). - Start it with no arguments, or run
prospero .to open a new session rooted in the current folder. - Configure an endpoint — e.g. a local llama.cpp server, OpenRouter, or your OpenAI/Anthropic API key — in Settings or in
~/.config/prospero/prospero.ini:
model = falstaff/Qwen3.8-27B
[endpoint falstaff]
url = http://falstaff.local/
key = env:FALSTAFF_API_KEY
- Give the agent a task; watch its plan, todo list, sub-agents and background jobs in the dockable panes.
- For remote work, add an SSH host so the headless engine runs on that machine.
Tip: once a model is connected you can simply ask Prospero how to configure Prospero — it reads its own documentation.