<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Fred 🍓</title>
    <description>The latest articles on DEV Community by Fred 🍓 (@fxdgif).</description>
    <link>https://dev.to/fxdgif</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4200015%2F88b78dfa-6f6d-4354-9022-c4fa7d18f333.gif</url>
      <title>DEV Community: Fred 🍓</title>
      <link>https://dev.to/fxdgif</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fxdgif"/>
    <language>en</language>
    <item>
      <title>I kept missing Claude Code's permission prompts, so I built a desktop around it</title>
      <dc:creator>Fred 🍓</dc:creator>
      <pubDate>Thu, 22 Oct 2026 08:40:29 +0000</pubDate>
      <link>https://dev.to/fxdgif/i-kept-missing-claude-codes-permission-prompts-so-i-built-a-desktop-around-it-8fc</link>
      <guid>https://dev.to/fxdgif/i-kept-missing-claude-codes-permission-prompts-so-i-built-a-desktop-around-it-8fc</guid>
      <description>&lt;p&gt;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:&lt;/p&gt;

&lt;p&gt;One session finishes. Another one is working. And the third one has been sitting there for fifteen minutes, asking "Do you want to run &lt;code&gt;npm test&lt;/code&gt;?" in a window I wasn't looking at.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;VibeDesk&lt;/strong&gt;, a full-screen Windows desktop around the real Claude Code CLI.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/SLLYiK34I88" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  The idea: one dot per session
&lt;/h2&gt;

&lt;p&gt;Every session gets a short name in a dock and a colored dot:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;green: Claude is working&lt;/li&gt;
&lt;li&gt;yellow (pulsing): Claude is waiting for you&lt;/li&gt;
&lt;li&gt;blue: done&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That alone fixed most of my problem. I glance down, see a yellow dot, click it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Permission prompts as cards
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  A memory for each project
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Claude can drive the desktop
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it's built
&lt;/h2&gt;

&lt;p&gt;Electron, React, xterm.js with WebGL, node-pty. It doesn't replace or proxy anything: each terminal runs the normal &lt;code&gt;claude&lt;/code&gt; command with your own Pro/Max plan or API key. MIT licensed, Windows 10/11, no telemetry.&lt;/p&gt;

&lt;p&gt;And yes, most of the code was written by Claude Code itself, with me steering, testing and saying no a lot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Download: &lt;a href="https://github.com/fxd-gif/vibedesk/releases/latest" rel="noopener noreferrer"&gt;https://github.com/fxd-gif/vibedesk/releases/latest&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Website (one page per feature): &lt;a href="https://fxd-gif.github.io/vibedesk/" rel="noopener noreferrer"&gt;https://fxd-gif.github.io/vibedesk/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Source: &lt;a href="https://github.com/fxd-gif/vibedesk" rel="noopener noreferrer"&gt;https://github.com/fxd-gif/vibedesk&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Windows SmartScreen will warn because the installer isn't signed yet ("More info" → "Run anyway").&lt;/p&gt;

&lt;p&gt;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?&lt;/p&gt;

</description>
      <category>claude</category>
      <category>ai</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
