{"slug": "i-like-claude-desktop-so-i-created-my-own", "title": "I like Claude Desktop, so I created my own", "summary": "A developer built Recowork, a desktop agent application inspired by Claude Desktop, using Tauri, OrbStack, and Apple container machines with GLM-5.2. The app plans, calls tools, and chains steps to complete tasks from a single prompt, with security layers including container isolation and tool approval. The project demonstrates the effectiveness of Chinese AI models like GLM-5.2 and the potential for low-cost AI-powered tools.", "body_md": "# I like Claude Desktop, so I created my own\n\nI like the Claude Desktop application and use it a lot, both for my work and in a personal capacity.\n\nI also love to build stuff, and with the recent release of GLM-5.2 I decided to see if I could build my own Claude Desktop. I called it [Recowork](https://github.com/invisible-hand/recowork).\n\nPreviously I had some experience with [Tauri](https://github.com/tauri-apps/tauri) (a cross-platform Rust framework for desktop applications) and [OrbStack](https://orbstack.dev/), so I decided to use them in this project.\n\nFor those who are not familiar with Claude Desktop - it is a desktop application with an agentic harness that can do chat, code, and something in between (Cowork).\n\nMy version follows the same idea: you give it a goal and it plans, calls tools, and chains the steps together until the job is done.\n\nHere it fetched the Hacker News frontpage, sorted the top stories, saved them to markdown, and wrote a Twitter thread - all from a single prompt.\n\n## Keeping the agent in a box\n\nTo make your desktop agent secure (unlike OpenClaw) you need to limit agents within a closed space, i.e. a container. You don't want to allow an LLM to execute random commands on your machine, and VMs/containers help with this exact thing.\n\nThere's a second layer too: every write/exec tool call goes through an approver (my `canUseTool`\n\n) before anything actually runs, so I can see and deny the command before it touches the filesystem.\n\n## Moving to Apple container machines\n\nAfter the first several versions, I recalled that I recently saw from [WWDC'26 that Apple introduced container machines](https://developer.apple.com/videos/play/wwdc2026/389/?time=276), and I decided to try it - moreover because I had recently upgraded to macOS Golden Gate (not sure if this thing is available on the previous versions).\n\nMoving to Apple container machines saved some extra requirements (people wouldn't need to install OrbStack) and some disk space. I didn't notice any performance differences between OrbStack's and Apple's containers, although I didn't do proper performance testing.\n\n## GLM-5.2 just works\n\nWhat surprised me is how well GLM-5.2 works with the Claude Agent SDK. You can throw any (basic) task at this thing and it... just works.\n\nIt even recovers gracefully - here it tried Python, found it wasn't available, and switched to Node's BigInt to validate a 10,000-line Fibonacci sequence without missing a beat.\n\nI wanted to see how much it costs, so I added detailed stats - tokens in/out, cached, etc. - and it is fascinating to see that the hundreds of threads where I tested the model's capabilities resulted in ~$1 of spend.\n\nIf you are poor, GLM-5.2 is a great choice for you. I am not poor, and I used Claude Code with Opus 4.8 to build this desktop application, but it is still fascinating how effective Chinese models are.\n\n## Tools, and where this goes next\n\nThe Claude Agent SDK comes with an awesome set of tools that can do a lot, and if need be, this list can be extended either with built-in tools (i.e. my approver `canUseTool`\n\n) or with external MCPs. I haven't gotten to MCPs yet.\n\nMany people are starting to say that tokens from the big labs are becoming more expensive and in some cases unsustainable. Others are saying that the future is in open source models, and that the huge success of inference providers such as Fireworks, Baseten, and others only proves this point.\n\nIf you wonder why I chose Baseten here, the answer is very simple. I bought the book [Inference Engineering](https://www.baseten.co/inference-engineering/) by Philip Kiely, who works at Baseten, and while reading the book I set up an account with Baseten and was surprised how good it is.\n\nIn any case, modern AI-powered tools are completely bonkers. Anyone who knows a bit of this and a bit of that can build something - and make a lot of money off it - if they know what they're doing, or at least have the curiosity and drive to figure it out.", "url": "https://wpnews.pro/news/i-like-claude-desktop-so-i-created-my-own", "canonical_source": "https://www.zandrey.com/blog/i-like-claude-desktop-so-i-created-my-own", "published_at": "2026-06-30 22:52:48+00:00", "updated_at": "2026-06-30 23:19:50.639399+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "large-language-models", "developer-tools", "ai-products"], "entities": ["Claude Desktop", "Recowork", "Tauri", "OrbStack", "GLM-5.2", "Baseten", "Apple", "Claude Agent SDK"], "alternates": {"html": "https://wpnews.pro/news/i-like-claude-desktop-so-i-created-my-own", "markdown": "https://wpnews.pro/news/i-like-claude-desktop-so-i-created-my-own.md", "text": "https://wpnews.pro/news/i-like-claude-desktop-so-i-created-my-own.txt", "jsonld": "https://wpnews.pro/news/i-like-claude-desktop-so-i-created-my-own.jsonld"}}