MCP servers, OpenRouter OAuth, and a steadier chat
You can now configure MCP servers from settings, OpenRouter sign-in works reliably, and chat, billing, and specialists land a wave of fixes.
0.1.8 brings MCP servers under your control with a real configuration UI and per-organization sharing, fixes OpenRouter sign-in, refreshes Settings around a consistent Connections experience, and steadies chat panels, billing, and specialists for everyday use.
Sandbox: configure MCP servers from Settings
You can now add, edit, and remove MCP servers from a dedicated section in Settings. Each server walks you through transport, command, environment variables, and tools, and you can reuse the same configuration across specialists. Servers default to private, and a per-server visibility switch promotes a server to your organization so teammates pick it up automatically without re-pasting credentials. Organization-shared and personal servers live on the same screen, so it stays clear which is which.
Auth: OpenRouter sign-in
Connecting OpenRouter from Settings now completes cleanly. The Connections card refreshes the moment the flow finishes, and the model dropdown populates against your OpenRouter key even before you set up another provider. When a specialist points at a model whose native provider you have not configured, it now uses OpenRouter automatically instead of failing. Error messages explain what is missing and link to the right setup section.
First-run sign-in on a fresh install no longer requires a second attempt. Stored credentials are also kept separate per build channel (debug, dev, beta, nightly, production), so installing alongside another channel will not collide with your existing sign-in.
Chat: panels, threads, and composer polish
Specialist replies in a thread now stay in the thread. Streaming responses render in place rather than appearing in the parent channel.
The chat panel can no longer end up at zero width after closing the browser panel — it restores a sensible width when adjacent panels close or reload. Message bubbles share consistent sizing and styling across user, channel-notice, and specialist cards, and the composer placeholder is back to neutral copy. Suggestion chips in DMs now route to the matching specialist when there is a confident match, so tapping a chip starts the right conversation.
A new copy button on chat messages confirms with a transient checkmark, and an app-wide toaster surfaces orchestrator and tool errors without taking over the screen.
Specialists: drafts, models, and IQ that loads on cold start
Specialist drafts no longer fail to load on a cold start, and store errors come back as actionable messages instead of generic fallbacks. Duplicate specialists that previously appeared in marketplace and sidebar lists are deduped, and counters reflect the real total.
Local model handling is tighter. Local models referenced from your user or workspace config are auto-downloaded after settings load, downloads resolve against the same Hugging Face cache the runtime reads from (so a “downloaded” state is one that actually works), and the download progress bar is byte-accurate when file sizes are known. The default local model is now Qwen3-32B.
Settings and billing: fewer surprises
Connections, Integrations, and Linked Accounts share a consistent action-card layout, and every Settings section uses the same panel pattern, including a working Cmd/Ctrl + , shortcut for opening Settings. Billing plans are now fetched live and resolved against production Stripe pricing, so the plans you see match what you are billed for. Missing billing permissions that were preventing the billing UI from loading are restored. New first-run installs land on a sensible default UI scale instead of the maximum, the Packages tab is hidden from Settings navigation while the underlying functionality stays available, and knowledge plot creation no longer fails on sign-in validation.
Editor: a steadier code panel
The code panel now shares the same shell as the browser panel. Popping out works, switching conversations switches the active editor with it, and per-conversation state is preserved so you can keep VSCode open on one chat while it stays closed on another. The browser panel gains the same single-instance-per-chat behavior with a working pop-out and a synced address bar. The embedded VSCode page also blocks attempts to launch external apps from the editor surface.
Security and platform
Project paths are verified to live inside the sandbox directory, blocking attempts to escape via symlinks or relative paths. The macOS production build no longer triggers a “damaged” Gatekeeper warning: the release pipeline now verifies code signing and notarization on the updater before it ships, and update channel routing matches the bundle. Mobile builds (Android and iOS) compile again after upstream changes.
Polish & fixes
- Same-column kanban drag and drop reorders again instead of silently snapping back.