Skip to content

Changelog

All notable changes to Groove Dev.

v0.18.2latest2026-04-07
addedFull-screen spawn panel with Plan with AI
Complete redesign of agent spawning. Full-screen overlay with two-panel layout: configuration on the left (role, directory, permissions, effort, integrations, skills, schedule), and a full-height prompt editor or AI planning chat on the right. Plan with AI lets you discuss and refine tasks before spawning — responses are Groove-aware with system context. "Generate Prompt" synthesizes the conversation into a clean, actionable agent prompt.
addedPhased execution with automatic QC
Planners now generate teams with phase 1 (builders) and phase 2 (QC/finisher). Builder agents spawn immediately and work in parallel. When all builders complete, the QC Senior Dev agent auto-spawns to audit, integrate, test, commit, and launch. Safety net: if the planner omits the QC agent, one is auto-added. Nudge for manual users when agents finish without QC.
addedHeader redesign with dropdown navigation
Cleaner header: navigation aligned left, Integrations/Skills/Schedules/Journalist collapsed into a dropdown menu. Agent count removed. Active state uses text color only — no bottom borders.
addedPersistent drag-and-drop node tree
Agent nodes now support smooth drag and drop with positions persisted to localStorage. Nodes stay where you put them across refreshes. Positions keyed by agent name so they survive respawns. Smart edge routing: connections snap to the nearest side (top/bottom/left/right) as you move nodes. Default zoom pulled back for breathing room.
addedAgent naming and effort levels
Optional name field when spawning agents (e.g., 'Skills Developer' instead of 'fullstack-3'). Rename agents anytime from the Actions tab. Effort level selector: Low, Medium, High, Max — maps directly to Claude's --effort flag.
addedPer-agent scheduling from spawn panel
Toggle 'Recurring schedule' when spawning to auto-respawn agents on a cron. Frequency presets from every 30 minutes to monthly. Agent spawns once immediately and creates the schedule.
addedGlobal working directory
Set a default working directory that applies to all new agents. System-level directory browser lets you navigate anywhere on disk. 'Set as default for all agents' button. Per-agent override still available.
addedAnthropic API key support for instant plan chat
Enter an Anthropic API key in the spawn panel for sub-second plan chat responses via direct API call. Falls back to CLI for subscription auth. Key encrypted and stored locally.
improvedChat and activity persistence
Agent chat history and activity logs persist to localStorage across page refreshes. Chat carries over when agents are resumed or rotated. Clear button to reset conversations.
improvedIntegration fixes
Fixed dead 'Connect with Google' button. Error handling on all integration operations. Bundled Google OAuth credential support. Removed redundant Filesystem and SQLite integrations.
addedEditor directory switching
Directory bar at the top of the file editor — click to type any absolute path and the file tree reloads to that directory. Browse any project without restarting the daemon.
addedGarbage collector
Automatic cleanup runs daily: deletes log files older than 7 days, prunes stale plan artifacts after 24 hours, trims audit log to last 1000 entries. Stale recommended-team.json files auto-cleaned when a new planner spawns.
improvedDaemon startup reliability
Port retry on startup — waits up to 5 seconds for the port to release before falling back to another. Fixes port-hopping after groove stop && groove start.
v0.16.4latest2026-04-06
addedFile editor — CodeMirror 6 with syntax highlighting
VS Code-style file editor embedded in the GUI. CodeMirror 6 with One Dark theme, language detection for 20+ languages, line numbers, bracket matching, search, and auto-indent. Cmd+S saves to disk. New Editor tab in the header (second position after Agents). File tree sidebar (240px, expandable, lazy-loaded) with colored dots by language.
addedFile operations — create, rename, delete from context menu
Right-click any file or folder in the tree for a context menu: New File, New Folder, Rename, Delete. Inline text input for naming — press Enter to confirm, Escape to cancel. Toolbar with SVG file and folder icons for quick creation at root level. All operations audit-logged.
addedMedia viewer — images and video inline
Click an image (PNG, JPG, GIF, SVG, WebP, AVIF) to see it rendered on a checkerboard background. Click a video (MP4, WebM, MOV) to play with native controls. "Open in new tab" link for full-size viewing. Served via GET /api/files/raw with correct Content-Type headers (50MB limit).
addedEmbedded terminal — real PTY via Python pty module
Click the Terminal bar at the bottom of the editor to open an interactive shell. Uses Python's pty module to allocate a real pseudo-terminal — full prompt, colors, line editing, tab completion, Ctrl+C. xterm.js frontend with One Dark colors. Drag the resize handle to adjust height. Sessions auto-clean on disconnect. Requires Python 3.
addedLive file watching — agent change detection
When you have a file open in the editor and an agent modifies it, an amber banner appears: "File modified externally" with Reload and Dismiss buttons. Uses Node.js fs.watch with 300ms debounce. Self-saves are suppressed (no false alerts when you Cmd+S).
addedEditor tabs — dirty indicators and file switching
Open multiple files in tabs. Active tab has a 1px accent border and dark background. Dirty files show an amber dot. Close button on each tab. Tooltip shows full path. Tab state preserved while switching between files.
added8 new file API endpoints
Backend endpoints for the editor: GET /api/files/tree, GET /api/files/read, POST /api/files/write, POST /api/files/create, POST /api/files/mkdir, DELETE /api/files/delete, POST /api/files/rename, GET /api/files/raw. All reuse path validation (no traversal, no absolute paths, project-scoped). Binary detection on read. 5MB limit on text, 50MB on raw.
v0.15.12026-04-07
addedSkills Store — app-store marketplace for agent skills
Complete redesign of the skills marketplace into an app-store experience. Featured banner with curated skills, 3-column card grid, full detail modal with author profiles, ratings, download counts, and install/uninstall. Browse and My Skills tabs. Sort by popularity, rating, newest, or A-Z. Search across names, descriptions, and tags. Category filters with icons.
addedSkill injection — attach skills to agents at spawn or runtime
Installed skills can be attached to agents. Select skills in the spawn panel before launching, or attach/detach from the Actions tab on running agents. Attached skills are injected into the agent's context via the introducer — the agent receives the full SKILL.md instructions automatically. Clone and restart preserve attached skills.
addedSkill ratings — interactive star rating system
Rate skills 1-5 stars directly from the detail modal. Interactive hover effects on stars, immediate UI feedback. Ratings are proxied through the daemon to the skills server. Aggregate scores and rating counts displayed on cards and in the detail view.
addedVerification badges — trust indicators for skill publishers
Three verification tiers: Anthropic (gold), Groove (teal), and Verified (green) for community creators who complete verification. Badges displayed on skill cards, featured cards, and prominently in the detail modal. Builds trust in the marketplace.
addedLive Skills API — daemon wired to server-side registry
The daemon now fetches skills from the live API at docs.groovedev.ai/api/v1/skills instead of a static JSON file. Skill content downloaded from /api/v1/skills/:id/content. Install tracking via POST /api/v1/skills/:id/install. Offline fallback to bundled registry. No API key needed — the daemon is a read-only consumer.
changedExtended skill data model
Skills now include downloads, rating, ratingCount, price, featured, verified, and authorProfile (avatar, website, GitHub, Twitter/X). Ready for paid skills and community submissions.
v0.12.42026-04-07
addedRemote access — SSH tunnel to VPS daemons
groove connect user@host creates an encrypted SSH tunnel to a remote GROOVE daemon and opens the GUI in your browser. groove disconnect closes it. SSH config aliases work (groove connect my-vps). Preflight checks verify the daemon is running. Port collision detection auto-picks an open port. PID verification prevents killing unrelated processes.
addedInterface binding — Tailscale and LAN access
groove start --host tailscale auto-detects your Tailscale IP and binds the daemon to it. --host <ip> for explicit IPs. --host 0.0.0.0 is rejected by design — direct internet exposure is not supported. CORS and WebSocket origins updated to allow the bound interface.
addedAudit logging — every state-changing operation tracked
Append-only .groove/audit.log with 0600 permissions. 14 audited actions: agent spawn/kill/rotate/instruct, team save/load/delete/import/launch, credential set/delete, config changes, approval decisions. groove audit CLI with color-coded output. GET /api/audit endpoint. Auto-rotates at 5MB.
addedFederation auth — Ed25519 signed contracts across servers
Connect GROOVE daemons with groove federation pair <host>. Each daemon generates an Ed25519 keypair. Cross-server contracts are signed and verified. Replay protection (5-minute window). Invalid keys rejected at pairing time. Peer IDs restricted to hex (path traversal prevention). Full audit trail on both sides.
addedSmart VPS detection — contextual startup instructions
GROOVE detects VS Code Remote, plain SSH, and headless servers. VS Code users see "VS Code forwards this port automatically." SSH users see the exact groove connect command with their server IP. Local users see the GUI URL. No more confusing localhost links on remote servers.
changedCORS and WebSocket allow any localhost port
SSH tunnels use different ports (31416, 31417). The previous exact-port check rejected WebSocket connections through tunnels, showing "offline" in the GUI. Now allows any localhost origin regardless of port.
fixedGUI tunnel detection — shows 'tunneled (via ssh)' status
The bottom-left status pill now detects when the GUI is accessed through a tunnel (port mismatch with daemon) and shows the connection type. Host badge appears in the header for Tailscale/LAN connections.
v0.11.02026-04-07
addedLarge codebase support — workspaces, indexer, architecture injection
GROOVE auto-detects monorepo workspaces (npm, pnpm, lerna) and lets agents spawn in subdirectories. Codebase indexer scans project structure on daemon start. Auto-detects and injects ARCHITECTURE.md into agent context. Per-workspace journalist with scoped synthesis and handoff briefs. Workspace quick-pick buttons in spawn panel.
v0.10.102026-04-07
addedSession resume — zero cold-start conversation continuation
When you send a message to any agent, GROOVE now uses --resume SESSION_ID instead of killing and respawning with a handoff brief. Full conversation history preserved, zero token waste. Rotation with handoff brief only happens on degradation signals (the intended behavior).
addedMulti-provider support — Codex and Gemini fully working
All three providers now spawn, execute, and complete correctly. Codex uses codex exec --dangerously-bypass-approvals-and-sandbox. Gemini uses --yolo for tool auto-approval. API keys injected from credential store into agent environment. Smoke tested end-to-end: Gemini planner → Codex backend → Claude Code fullstack.
addedToken estimation for non-Claude providers
Codex and Gemini output plain text (not stream-json), so token counts were always zero. Now estimates tokens from output length (~4 chars/token). Dashboard, node heartbeats, and telemetry charts show data for all providers.
changedAuto-find open port — no more EADDRINUSE crashes
If port 31415 is taken (VS Code, other apps), the daemon tries the next 10 ports automatically. Writes .groove/daemon.port so CLI commands find the right port. Users never see port errors.
changedUpdated model lists — verified models only
Gemini: 3.1 Pro, 3 Flash, 3.1 Flash Lite, 2.5 Pro, 2.5 Flash. Codex: o3, o4-mini, GPT-4.1 family. Removed non-existent models.
changedNode heartbeat — real-time token line chart
Running agent nodes show a live mini line chart of token usage (last 40 data points) instead of the old neural flow animation. Shows actual intelligent activity.
changedCommand Center redesign — GrowthOS-inspired layout
Connected stat bar (5 cards, no gaps), large area chart + donut ring for model routing, horizontal bars for savings and agent fleet. Savings methodology shown so users understand how estimates are calculated.
fixedGemini agents now actually write files
Gemini CLI in headless mode needed --yolo to auto-approve tool calls. Without it, agents would output code as text instead of creating files.
fixedCodex CLI flags updated
Codex changed from --approval-mode full-auto to codex exec --dangerously-bypass-approvals-and-sandbox. Also requires exec subcommand for headless operation.
removedAider provider removed
Aider wraps the same APIs that Claude Code, Codex, Gemini, and Ollama access directly. Removed to simplify the provider set. Four providers remain.
v0.8.0beta2026-04-07
changedRebrand: Groove AI is now Groove Dev
Renamed to avoid trademark overlap with an existing AI company. npm package is now groove-dev (was groove-ai). Website is now groovedev.ai. Docs at docs.groovedev.ai. The groove CLI command is unchanged. The old groove-ai npm package is deprecated with a redirect.
v0.7.1beta2026-04-06
addedStreaming text in agent chat
Agent messages now stream in character by character with a pulsing cursor, like a live AI chat interface. Historical messages render instantly. Only the latest message animates.
addedToken tracking wired end-to-end
The TokenTracker's record(), recordRotation(), and recordColdStartSkipped() methods are now called from the process manager and rotator. Savings data (rotation, conflict prevention, cold-start) is real, persisted to .groove/tokens.json, and displayed in the Command Center gauges.
changedDashboard telemetry persists across tab switches
Telemetry data moved from React component state to the Zustand store. Switching between Agents and Stats tabs no longer wipes the chart. Historical data for completed agents is preserved.
changedPeak Context gauge replaces Avg Context
The Avg Context gauge showed 0 when all agents finished (only measured running agents). Replaced with Peak Context — shows the highest context usage reached across all agents, giving a meaningful metric even after a session ends.
changedFullstack agent auto-launches the app
The planner's recommended fullstack agent now includes instructions to audit all agents' work, fix issues, build the project, launch the dev server, and output the localhost URL. No more manually asking where the app is.
fixedChat history race condition — truly fixed
The WebSocket rotation:complete event was switching the panel to the new agent before the HTTP response could copy chat history. Now chat and timeline are copied atomically in the WebSocket handler before the panel switches.
fixedEfficiency gauge, savings, and dollar estimates now show real data
Previously all zeros because the TokenTracker was never fed. With token tracking wired, the Efficiency gauge, Savings breakdown, Estimated Savings dollar amount, and Routing data all display actual values.
v0.6.1beta2026-04-06
addedQuick Launch — planner recommends a team, one click to spawn all
After the planner finishes, it writes a structured team config to .groove/recommended-team.json. A Launch Team button appears in the chat showing each recommended agent with its task. One click spawns the entire team with proper roles, scopes, and prompts. Non-technical users just describe what they want, and the planner handles the rest.
addedUnity-style nodes with Bezier spline connections
Nodes redesigned with rounded corners, colored role badges (planner=purple, backend=teal, frontend=amber, fullstack=green), circular connection ports, and minimal clean layout. Edges are now smooth Bezier curves (splines) instead of angular steps — the spline is the brand. Matching the visual style of Unity and n8n node editors.
addedSemicircle gauge charts in the Command Center
The hero row now features SVG semicircle arc gauges for Efficiency %, Average Context, Agents, and Rotations — inspired by Grafana dashboards. Gauges animate smoothly on value changes. All dashboard panels have rounded corners.
addedChat markdown rendering
Agent messages in the chat now render markdown properly — bold text, inline code, headers, lists, numbered lists, and horizontal rules. No more raw ** and ### in the output.
addedPlanner recommends a team after planning
The planner prompt now instructs it to suggest specific agents with roles, scopes, and tasks. It notes that a fullstack agent is needed for root-level setup in Auto permission mode. Output uses clean plain text formatting.
changedPlanner routed to heavy model (Opus/Sonnet)
Planning was routed to Haiku (light tier) which produced shallow one-line responses. Now routes to the heavy tier since planning is foundational work that needs deep reasoning and thorough codebase research.
changedLive telemetry chart rebuilt from API data
The telemetry chart now builds its timeline from dashboard API polls (every 4s) instead of the WebSocket store. Per-agent area chart with thin flat lines, subtle gradient fills, time axis, and y-axis labels. Agent legend shows real-time token counts.
changedFlat terminal aesthetic — no neon anywhere
Removed all glow effects, text shadows, and neon styling across the entire UI. All lines 1px thin, colors flat, gradients subtle. Matches the dark terminal aesthetic of the GROOVE website.
fixedChat history persists across agent rotations
Chat messages and token timeline now carry from the old agent to the new agent when rotating or continuing. No more cleared chat when sending a message to a completed agent.
fixedPermission field was stripped — PM never activated
The validateAgentConfig() function stripped the permission field from the config, so the PM review instructions never reached agents. Now preserved through validation, registry, and rotation.
fixedToken tracking in dashboard hero stats
The TokenTracker was never fed data from the process manager. The dashboard now uses the registry's actual tokensUsed values as the source of truth. TOKENS USED, TOKENS SAVED, and dollar amounts now display correctly.
fixedToken data lost in parseOutput merge
When a stdout chunk contained multiple JSON events (assistant + usage), only the last event was returned, losing token counts. Now merges token totals across all events in a chunk.
changedWelcome banner shows every startup with useful links
The welcome message now displays on every groove start, not just first run. Shows provider scan, GUI URL, docs link, and GitHub. Box alignment fixed. CLI quick start commands removed (GUI is primary).
v0.5.0beta2026-04-06
addedAI Project Manager — automated review gate for risky operations
GROOVE now has a built-in AI Project Manager that reviews risky agent operations before they happen. When agents run in Auto mode, they call the PM before creating new files, deleting files, or modifying config. The PM checks scope, plan alignment, and team conflicts — then approves or rejects with reasoning. All reviews are logged in the new PM Review Log (formerly Approvals tab). This turns permission levels from decorative to functional.
changedPermission modes: Auto and Full Send
Replaced the three-tier permission system (Always Ask / Auto / Full Access) with two practical modes. Auto: AI PM reviews risky operations (~10-15s overhead per review). Full Send: no reviews, maximum speed. No more false promises of interactive approval in a headless system.
changedCommand Center — full redesign
The stats dashboard is completely rebuilt. Thin vertical bar charts for token burn rate and savings accumulation. Hero row with glowing dollar savings display. Agent fleet cards with context gauges. Adaptive threshold sparklines with session quality scores and signal breakdown (errors, repetitions, file churn). Journalist panel shows live AI synthesis summary. Routing viz now shows cost-per-tier. Feels like mission control, not a spreadsheet.
fixedEnter key in chat no longer spawns new agents
Pressing Enter in the chat input was firing both the keydown handler and an implicit form submission, causing double-fire. Fixed with type="button" on the Send button and stopPropagation on the Enter handler.
fixedAgent stats now carry across rotations
Previously, when an agent was rotated or continued, the new agent started with tokensUsed: 0. Now the rotator carries cumulative token stats to the new agent, so the dashboard shows lifetime totals.
fixedGemini CLI install command
The Gemini provider was showing Claude Code's install command. Fixed to show the correct npm i -g @google/gemini-cli.
v0.4.0beta2026-04-06
addedChat continuation — reply to finished agents
Agents that have completed their task can now be continued from the chat. Type a reply, hit Send, and GROOVE generates a handoff brief from the agent's work, appends your message, and spawns a fresh session with full context. No more "Respawn" button creating disconnected agents. The conversation is seamless.
addedContext chain — planner output flows to builders automatically
When you spawn a backend agent after a planner finishes, the backend now sees: what files the planner created, the planner's final output summary, and an explicit instruction to read relevant files before starting work. Completed agents are no longer invisible — they stay in the team context with their files and results.
addedPre-spawn task negotiation for duplicate roles
Spawning a second backend? GROOVE now queries the existing backend's work via a headless Claude call, then gives the new agent a clear task assignment: what to work on, what files to avoid. The Task Assignment section in the intro context keeps duplicate-role agents from stepping on each other.
addedKnock protocol — agent coordination for shared actions
Before restarting the server, running npm install, or modifying shared config, agents now check .groove/coordination.md for active operations. They write their intent, check for conflicts, then proceed. File-based coordination that works with any CLI tool.
addedMemory containment — agents ignore stale auto-memory
Claude Code's auto-memory system can bleed context from previous sessions into GROOVE agents. Now every agent gets explicit instructions to ignore auto-memory and rely only on GROOVE-provided context (handoff briefs, project map, registry). Two-layer enforcement: agent intro context + CLAUDE.md injection.
changedRole-specific prompts enforced daemon-side
The planner's "do NOT implement code" constraint was only applied in the GUI spawn panel. Now ROLE_PROMPTS are applied in the process manager during spawn — consistent regardless of whether agents are spawned from GUI, CLI, API, or chat continuation.
changedJournalist — synthesis on completion, 2x budget, 4x detail
The Journalist now triggers a synthesis cycle immediately when any agent completes — no more waiting up to 120 seconds for a stale project map. Synthesis input budget doubled to 40K chars. Text truncation increased from 500 to 2,000 chars. Result preservation increased from 500 to 3,000 chars. Handoff brief project map limit increased from 3K to 10K chars. Explicit Haiku model for predictable cost.
changedAdaptive degradation detection — file churn, error trends, tool failures
The rotation scoring system now detects file churn (same file written 3+ times = circular refactoring), error trends (increasing errors in the second half of a session = degradation signal), and tool failures (previously tracked but never extracted). Classifier window increased from 10 to 50 events for better signal quality.
changedModel-specific context windows
Context usage was hardcoded to 200K for all models. Now uses actual model metadata: Opus has a 1M context window, Sonnet and Haiku have 200K. Rotation thresholds are now meaningful across different models.
changedPort moved from 3141 to 31415
Port 3141 conflicted with VS Code dev servers and other common tools. Moved to 31415 — still pi, but in the ephemeral range where nothing else lives.
v0.3.0beta2026-04-05
addedCommand Center dashboard
A full-screen analytics dashboard showing token usage, savings breakdown, rotation timeline, model routing distribution, adaptive threshold profiles, and journalist status. The stats tab in the GUI now shows real-time operational data.
addedAdaptive model routing — wired end-to-end
The model routing system is now fully connected. Agents spawned with model: 'auto' get routed to the right tier (Opus for heavy tasks, Sonnet for medium, Haiku for light) based on role hints and classifier signals. Cost tracking logs every routing decision.
changedTech debt purge — 137 tests passing
Major cleanup pass across the codebase. All 14 test suites (137 tests) passing. Security audit complete: AES-256-GCM credentials, CORS localhost-only, input validation on all endpoints, prototype pollution protection.
v0.2.0beta2026-04-05
addedGUI overhaul — terminal-native design
Complete GUI redesign with One Dark Pro theme, JetBrains Mono font, and a terminal-native aesthetic. The GUI is served by the daemon — open http://localhost:31415 in any browser.
addedAgent Control Panel with Chat, Stats, and Actions
Click any agent to open a 45% sidebar with three tabs. Chat: instruct agents or query them without disrupting their work. Stats: live token heartbeat chart, context usage gauge, activity sparkline. Actions: rotate, stop, delete, clone, change model, modify prompt.
addedSpawn Panel with role presets and provider selection
The spawn panel offers role presets (Backend, Frontend, Fullstack, Planner, Testing, DevOps, Docs), permission levels, provider selection with inline API key entry, and model selector. One-click spawning with intelligent defaults.
addedAgent instruct and query endpoints
Send instructions to running agents via POST /api/agents/:id/instruct (rotates with new context) or ask questions via POST /api/agents/:id/query (headless one-shot, agent keeps running). Chat tab in the GUI uses both.
addedReact Flow agent visualization
Agents are displayed as nodes in a React Flow graph with animated edges for running agents. Click to select, drag to rearrange. NASA-style terminal readouts with status bars, heartbeat indicators, and compact metrics.
v0.1.0beta2026-04-05
addedThe daemon — the brain of the operation
GROOVE ships with a persistent daemon that manages all agent coordination. It holds the registry, broadcasts state over WebSocket, and exposes a REST API. State persists to disk, so if the daemon restarts, your agents don't vanish.
addedCLI — 17 commands for agent management
The full command set: groove start, groove stop, groove spawn, groove kill, groove agents, groove status, groove nuke, groove rotate, team management (save/load/list/delete/export/import), groove providers, groove set-key, and config commands.
addedIntroduction protocol — agents that know about each other
When you spawn agent #2, the daemon writes AGENTS_REGISTRY.md and gives every agent context about its peers — who they are, what files they own, what they're working on. No more two agents silently editing the same file.
addedFile lock manager — scoped ownership
Spawn with a scope pattern and that agent owns those files. Other agents are told to stay out. Advisory locks for v0.1 — agents are informed, not blocked.
addedThe Journalist — zero cold-start context
A background synthesis engine that watches all agent activity, filters noise, and generates GROOVE_PROJECT_MAP.md — a living snapshot of the entire project. New agents read one file and know everything. No more wasting thousands of tokens re-explaining your codebase.
addedFour providers supported
Day 1 support for Claude Code (subscription), Codex (API key), Gemini CLI (API key), and Ollama (local). The provider abstraction makes adding new tools straightforward.
v0.0.12026-04-04
addedProject scaffolding
Monorepo set up with npm workspaces — packages/daemon, packages/cli, and packages/gui. Licensed under FSL-1.1-Apache-2.0 — source-available now, converts to Apache 2.0 after two years.

FSL-1.1-Apache-2.0