Groove now has a persistent daemon running on :3141 that manages all agent coordination. It holds the registry, broadcasts state over WebSocket, and exposes a REST API. This is the foundation everything else builds on — agents can finally be aware of each other because there's a central process keeping track. State persists to disk, so if the daemon restarts, your agents don't vanish.
The core commands are in: groove start, groove stop, groove spawn, groove kill, groove agents, and groove nuke. The goal was to make multi-agent workflows feel as simple as opening a new terminal tab. Spawn an agent with a role and scope, and it's immediately introduced to its peers. No config files, no ceremony.
This is the thing that makes multi-agent actually work. When you spawn agent #2, the daemon writes AGENTS_REGISTRY.md and notifies all existing agents about the new arrival. Every agent knows who else is running, what files they own, and what they're working on. No more two agents silently editing the same file and creating contradictory changes.
Scoped file ownership is now enforced at the daemon level. When you spawn with --scope "src/api/**", that agent owns those files. Other agents are told to stay out. We went with advisory locks for v0.1 — agents are informed, not blocked. This prevents the #1 pain point in multi-agent setups: wasted tokens from conflicting edits.
The Journalist is now running as a background synthesis loop. It tails agent stdout, filters noise, and generates GROOVE_PROJECT_MAP.md — a living snapshot of what exists, what's being built, and who's doing what. This is the cold-start killer. When a new agent spawns, it reads one file and knows the entire project. No more wasting 5 minutes and thousands of tokens re-explaining your codebase.
Day 1 provider support ships with Claude Code. The provider abstraction is in place — isInstalled(), buildSpawnCommand(), parseOutput() — so adding Codex, Gemini, and Ollama is just implementing the interface. But Claude Code is where most of our users live, so that's where we started.