<?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: Vimarsha Cooray</title>
    <description>The latest articles on DEV Community by Vimarsha Cooray (@vimarshacooray).</description>
    <link>https://dev.to/vimarshacooray</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3890046%2F9e471f9f-4d3c-4baa-9bd7-9656217efebd.png</url>
      <title>DEV Community: Vimarsha Cooray</title>
      <link>https://dev.to/vimarshacooray</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vimarshacooray"/>
    <language>en</language>
    <item>
      <title>Claude Desktop for Linux (unofficial, CLI-powered, local-first)</title>
      <dc:creator>Vimarsha Cooray</dc:creator>
      <pubDate>Tue, 21 Apr 2026 04:15:21 +0000</pubDate>
      <link>https://dev.to/vimarshacooray/claude-desktop-for-linux-unofficial-cli-powered-local-first-5gfb</link>
      <guid>https://dev.to/vimarshacooray/claude-desktop-for-linux-unofficial-cli-powered-local-first-5gfb</guid>
      <description>&lt;p&gt;I built an unofficial desktop app for Claude on Linux because juggling browser tabs and terminal sessions wasn’t cutting it.&lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://claudedesktop.nova64.workers.dev/" rel="noopener noreferrer"&gt;https://claudedesktop.nova64.workers.dev/&lt;/a&gt;&lt;br&gt;
github: &lt;a href="https://github.com/janithcooray/claude-desktop" rel="noopener noreferrer"&gt;https://github.com/janithcooray/claude-desktop&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s a thin wrapper around the official claude CLI—no reverse engineering or custom APIs. It uses your existing account, billing, and rate limits exactly as they are.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Desktop-style interface&lt;br&gt;
A proper UI with a chat sidebar, main conversation view, and file previews. It feels like a real app, not a workaround.&lt;/p&gt;

&lt;p&gt;Two modes per chat&lt;br&gt;
Chat — simple conversations, no file or system access&lt;br&gt;
Cowork — attach folders and let Claude read, edit, and run code&lt;/p&gt;

&lt;p&gt;Sandboxed by default (Linux)&lt;/p&gt;

&lt;p&gt;Cowork runs inside a bubblewrap sandbox. Only attached folders are accessible; the rest of your home directory stays hidden.&lt;br&gt;
Optional Docker and unrestricted modes are available if you want more control.&lt;/p&gt;

&lt;p&gt;Local-first design&lt;br&gt;
Everything stays on your machine:&lt;/p&gt;

&lt;p&gt;Chats and messages stored in SQLite&lt;br&gt;
Per-chat working directories&lt;br&gt;
No cloud sync or hidden storage&lt;/p&gt;

&lt;p&gt;Resumable sessions&lt;br&gt;
Each chat maps to claude --resume, so conversations persist naturally across restarts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I built this&lt;/strong&gt;&lt;br&gt;
The CLI is powerful, but it falls short for:&lt;/p&gt;

&lt;p&gt;long-running conversations&lt;br&gt;
switching between contexts&lt;br&gt;
managing multiple sessions&lt;br&gt;
working visually with files&lt;/p&gt;

&lt;p&gt;This aims to keep the CLI’s power while making it practical for real workflows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;&lt;br&gt;
Alpha release&lt;br&gt;
Linux only (for now)&lt;br&gt;
Expect rough edges&lt;br&gt;
Note&lt;/p&gt;

&lt;p&gt;This is a community project and not affiliated with Anthropic. It simply uses the official CLI under the hood.&lt;/p&gt;

&lt;p&gt;Feedback, bug reports, and ideas are very welcome—especially around:&lt;/p&gt;

&lt;p&gt;sandboxing&lt;br&gt;
multi-project workflows&lt;br&gt;
packaging (Flatpak, AppImage, etc.)&lt;/p&gt;

&lt;p&gt;If you try it, I’d love to hear what breaks.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>linux</category>
    </item>
  </channel>
</rss>
