You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Node.js 22.13+ is required. The database now uses the built-in node:sqlite; the native better-sqlite3 dependency (which failed to build on recent Node versions) is gone.
JSON/JSONC edits are applied surgically, preserving comments, key order and indentation.
Built-in paths are re-synced on every start: new ones are added, retired ones removed, and your enabled/disabled choices are kept.
Enable/disable toggles are only offered for agents that actually honour the flag.
Validation is dialect-aware (replaces the AJV schema, which only understood mcpServers).
Monaco editor is bundled locally instead of being loaded from a CDN.
ESLint 10 flat config, Vitest 3, TypeScript 5.9; CI on Node 22 and 24.
Windsurf is shown as Devin Desktop (Windsurf), Gemini CLI as legacy, Roo Code as archived.
Fixed
YAML configs (e.g. Goose) were overwritten with JSON after a structured edit.
Renaming a server in the form left the old entry behind.
Project-level configs without an agent were listed twice.
--token mode didn't work because the dashboard never sent the token.
Schema migrations are versioned with PRAGMA user_version.
Security
The production server sent Access-Control-Allow-Origin: * with no Host/Origin checks, so any website could rewrite MCP configs (and therefore the commands agents execute). Requests with a foreign Host/Origin or a non-JSON body are now rejected, including WebSocket upgrades.
Backup restore accepted ../ filenames; path entry ids, backup names and skill paths are now validated and confined (symlinks resolved).
Shell commands are spawned with argument arrays instead of interpolated strings.
Built-in entries that never contained MCP servers or pointed to non-existent files: Aider, Supermaven, Tabnine, JetBrains AI Assistant, Void, ~/.claude/mcp.json, ~/.claude/settings.json, Copilot hosts.json, Warp agent config, Cursor/Windsurf rules folders, CLAUDE.md as a "skill".