qm – Multiplayer agent harness for work
TL;DR Highlight
Per-person and per-room isolated sandboxes let a team share one agent across Slack and web
Who Should Read
A backend developer putting an agent into company Slack who worries about per-person and per-channel permissions and memory separation
Core Mechanics
- Built for a whole company, not one person
- Each employee gets an isolated workspace and can also work with the agent in channels, group messages, and projects.
- Each person and room has its own memory, files, keychain view, permissions, crons, web apps, and durable sandbox.
- Harness and model are swappable
- Pi and Claude Code both drive the same core.
- Pi runs models from many providers, so you are not tied to one vendor.
- Headless core plus Postgres and sandboxes
- The core handles API, identity, policy, scheduler, and the agent loop.
- Postgres stores sessions, memory, and queue, and the agent has a small fixed tool set including execute, which runs commands in the scope's sandbox.
- Without SESSION_STORE=postgres, sessions live in process memory and vanish on restart.
- The org picks one security posture
- Strict pauses every harness tool call for human approval.
- Auto (default) blocks private-network access, and Dangerous has no approval gates.
Community Reactions
- Opinion that the frontend skill stands out
- A commenter noted an "anti-slop" frontend skill meant to avoid templated-looking interfaces.
- It reportedly bans certain background palettes for premium-consumer briefs.
- Experience that scoping is the hard part
- One commenter said the hardest part of multiplayer agents was scoping, not the agent loop.
- They called per-person scopes plus shared rooms a sane answer for a company-wide assistant.
- Doubts about usefulness and differentiation
- Several commenters wanted comparisons with Claude Cowork and HarnessRouter.
- One argued it is all prompts, tools, and context, and limited context windows made such tools not useful for them.
- AWS deployment experience and MCP demand
- One commenter said they deploy QM into customer AWS accounts via the official Terraform path and shared a DIY vs managed cost calculator.
- Another argued a true multiplayer harness must support other agents and MCP clients.
How to Apply
- Draw a scope table for your internal agent
- Within 30 minutes, list where memory, files, credentials, and permissions get mixed across personal, channel, and project use.
- For each mixed cell, decide whether to isolate or share.
- Split tool-call approval into security postures
- Classify agent tool calls into Strict, Auto, and Dangerous levels.
- Keep commands like deletes and destructive SQL as hard rules blocked at every level.
- Move agent sessions to Postgres
- If sessions only live in process memory, store them in a database.
- Follow qm's approach of keeping sessions, memory, and queue in one DB and verify they survive restarts.
- Spin up qm as a dev instance
- Have your coding agent follow the deployment guide or run qm init to create a deployment repo.
- Try it first through the web surface on a dev instance.
Try It
# Prompt to paste into Claude Code (qm deployment setup)
Let's deploy https://github.com/yc-software/qm. Follow the deployment guide in this repo. My org slug is {{org-slug}} and my target is {{fly or aws}}.
# Or run directly (CLI from the source)
npm exec --yes --package=@yc-software/qm@latest -- qm init . --org {{org-slug}} --target {{fly or aws}}
npm install
# Next: set DATABASE_URL and SESSION_STORE=postgres in .env so sessions persist.Terminology
Related Papers
Same Simulation, Different Evidence: Where Retrieved Tool Output Costs LLM Agents Accuracy
Saving long tool output to files cut GPT-5.1 accuracy by 11.3 points; naming the authoritative file restored it.
Fake News, Real Crashes: Information Injection Attacks on LLM Financial Trading Agents
Fake headlines hijacked LLM trading agents 62% of the time versus 14% for prompt injection.
Harness Engineering 101: The LLM is the brain, the harness is the body
An agent is a loop managing a JSON array; 16 chapters build one from scratch
Harness2 by Google Research – Recursive Agent Harnessing
Recursively refining the harness with fixed model weights raised benchmark scores by up to 11.8 points.
Ousted Savannah police officer gave ICE agent husband access to Flock system
A police officer shared her Flock login with her ICE-agent husband; an audit found 983 searches and she was fired
Tmux and Claude Code: Sessions, Send-Keys, and the Ceiling
Running Claude Code agents in tmux works well, but limits appear around four agents.