Inside QM: How Y Combinator's Internal Agent Fleet Became an Open-Source Harness
Y Combinator open-sourced the agent harness that runs YC — with some caveats worth knowing.
Most agent frameworks are built for a single person. Stretching a personal assistant to cover an entire company works for a while, but the coordination problem grows fast — and YC ran into it directly.
They started with a small Ruby-based agent loop that could reach internal data, added crons and webhook triggers, then provisioned more than 50 Hermes agents as individual employee assistants. Managing a fleet at that scale became a job in itself.
QM — short for quartermaster, the person who keeps things in order belowdecks on a ship — is what they built instead, and it's now open source (primarily under MIT license). It currently runs inside YC across accounting, legal, events, and engineering, including the work of building QM itself.
The core idea is the scope: the unit of isolation, applied identically to a person or a Slack channel. Each scope gets its own memory, files, credential view, permissions, scheduled jobs, and a durable sandbox — meaning tools installed in one session persist into the next, unlike many agent environments that reset with every run.
The core itself stays deliberately small — identity, policy, the scheduler, and the agent loop, backed by Postgres for sessions, memory, and the job queue. The web UI, admin panel, and Slack integration sit as plugins on top of its API, and the underlying harness (Claude Code, Codex, OpenCode, or Pi) is swappable rather than locked to one vendor.
Security runs on three postures: Strict pauses every tool call for human approval, Auto (the default) runs a classifier over provenance-labelled external data and tool results before they reach the model, and Dangerous disables screening and pauses entirely. Hard denials — for things like recursive deletes — apply at every level regardless of posture.
That Auto-mode screening is a genuinely uncommon, concrete design response to prompt injection. That said, it's worth knowing QM's own security documentation is candid that this isn't bulletproof yet: the command policy can reportedly be bypassed via obfuscation, some browser-driven actions sit outside the core's approval gates, and the project describes itself as early, experimental software rather than a hardened, production-ready system