I like Claude Desktop, so I created my own
I like the Claude Desktop application and use it a lot, both for my work and in a personal capacity.
I 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.
Previously I had some experience with Tauri (a cross-platform Rust framework for desktop applications) and OrbStack, so I decided to use them in this project.
For 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).

My 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.

Here it fetched the Hacker News frontpage, sorted the top stories, saved them to markdown, and wrote a Twitter thread - all from a single prompt.

Keeping the agent in a box
To 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.
There's a second layer too: every write/exec tool call goes through an approver (my canUseTool) before anything actually runs, so I can see and deny the command before it touches the filesystem.

Moving to Apple container machines
After the first several versions, I recalled that I recently saw from WWDC'26 that Apple introduced container machines, 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).
Moving 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.

GLM-5.2 just works
What 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.

It 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.
I 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.

If 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.
Tools, and where this goes next
The 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) or with external MCPs. I haven't gotten to MCPs yet.

Many 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.
If you wonder why I chose Baseten here, the answer is very simple. I bought the book 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.
In 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.