I usually have two or three Claude Code sessions open: a frontend, an API, sometimes a side project. And the most annoying thing wasn't the model or the cost. It was this:
One session finishes. Another one is working. And the third one has been sitting there for fifteen minutes, asking "Do you want to run npm test?" in a window I wasn't looking at.
So I built VibeDesk, a full-screen Windows desktop around the real Claude Code CLI.
The idea: one dot per session
Every session gets a short name in a dock and a colored dot:
- green: Claude is working
- yellow (pulsing): Claude is waiting for you
- blue: done
That alone fixed most of my problem. I glance down, see a yellow dot, click it.
Permission prompts as cards
When Claude wants to run a command, VibeDesk shows a card with the command and four buttons: In terminal, Deny, Always, Allow. One click, and the session keeps going. No hunting for the right terminal.
The same card shows up on your phone if you pair it (6-digit code, local network by default). Your phone buzzes, you tap Allow from the kitchen.
A memory for each project
Claude Code forgets your project between sessions. VibeDesk gives every project a small "brain": Markdown notes with links between them (Obsidian-compatible) that Claude reads and writes through MCP. Decisions, pitfalls, conventions. New sessions start from there instead of exploring the whole repo again.
Claude can drive the desktop
VibeDesk also ships an MCP server for the desktop itself. In any session you can say "sort my windows", "zen mode on" or "tokyo scene with more rain", and Claude does it. It can even open your local dev server in the preview window after starting it.
How it's built
Electron, React, xterm.js with WebGL, node-pty. It doesn't replace or proxy anything: each terminal runs the normal claude command with your own Pro/Max plan or API key. MIT licensed, Windows 10/11, no telemetry.
And yes, most of the code was written by Claude Code itself, with me steering, testing and saying no a lot.
Try it
- Download: https://github.com/fxd-gif/vibedesk/releases/latest
- Website (one page per feature): https://fxd-gif.github.io/vibedesk/
- Source: https://github.com/fxd-gif/vibedesk
Windows SmartScreen will warn because the installer isn't signed yet ("More info" → "Run anyway").
VibeDesk 2.0 ships on November 1, and the most-upvoted wish on GitHub goes in. I'd love feedback from people who run several sessions in parallel: what would you want to see at a glance?
Top comments (1)
Putting the permission card on the phone too is a nice touch. Most of my lost time is exactly that yellow-dot case.
To your question, from the Auten team (we build a computer-use MCP server, so our sessions click and type on the real screen): what I'd want at a glance is which session is currently driving the mouse and keyboard. Two sessions running a screen-control tool at once fight over focus, and a dot that says "this one holds the screen", plus a way to make the others wait, would save a lot of confusion.
A smaller one: how long each yellow dot has been waiting. Fifteen minutes vs fifteen seconds changes which one I click first.
Can the desktop MCP server see the other sessions' states, or only the windows and scenes?