Anthropic's Claude Duet is a background agent that checks in each morning, does long jobs on its own and asks before it sends or pays. It's waitlist-only for now. We had already built most of the same thing at home, out of Claude Code, a personal server and a handful of open tools. We call it Wren. This is what it's made of, how it compares, and what it taught us.
Wren at a glance. Drawn by ChatGPT, checked and corrected by Wren. Tap to enlarge.
How it grew
June 2026. Session tooling (crss) lets Claude Code run for days on a server and be reached from a phone.
August. A shared message bus lets Claude, Codex, ChatGPT and other agents hand each other work.
October.DispatchBench picks the cheapest model for each job, and the orchestrator gets a name, a persona and a memory: Wren.
26 October. A 07:00 Telegram brief, and a phone approve/deny gate, tested live both ways.
How you talk to it
From anywhere. Telegram (typed or voice notes), the Claude app's Remote Control and voice chat, the desktop app, or ChatGPT, which reaches the server through a connector. Every door opens onto the same server and the same memory, so you can run several Wren threads at once.
Current
Ways in
ChatGPT
Claude
→
Connectors
Control + Control2Same Agent Host backend and tunnel
LiteSeparate fallback tunnel · fixed mailbox
→
On the server
Workflow + checkpoints
Coordination
Tasks + data
Control and Control2 share an Agent Host backend and tunnel. Lite provides a separate fallback.
What it's made of
Claude Code on a home server, signed in to a Max plan. Opus does the planning and checking.
crss: starts, messages, hands off and repairs long-running sessions. Every agent on the box runs on it.
token-reduce and QMD: read only the slice of a repo or notes folder a task needs. QMD is a local search engine over our markdown, re-indexed every six hours.
DispatchBench and the delegate skills: send each job to the cheapest model that passes. Codex builds, Haiku sweeps and reads, Fable gives a second opinion, and Kimi or Grok can be added through the same skills whenever we subscribe.
A soul: a short persona file every session loads, plus a cheap reviewer that saves one lesson before each context reset. Wren keeps getting better at its own job.
Shared memory: a gbrain knowledge base plus plain git-tracked notes that Claude, Codex and the other agents all read and write.
The bus: a small mailbox database where agents post tasks and replies to each other, including Hermes and OpenClaw.
Phone bridges: the Hermes gateway and takopi for Telegram; Claude Remote Control for the app.
ChatGPT's apps, through Codex: about 25 connectors, including Interactive Brokers, Questrade, Alpaca, Binance and CoinGecko, plus GitHub and site hosting.
Market data on the server: Databento, Yahoo Finance, FRED, SEC EDGAR, Helius for Solana, and web search.
Daily jobs: about 25 scheduled tasks, the 07:00 brief that summarises them, and the approval gate.
Proposed
Startup
Session
→
Small startup contextWorkflow · safety · active checkpoint
→
Load on demand
Skills + personas
Searchable ledgers + research
Integrations
→
Verify and save
Evidence verification
→
Compact checkpoint + append-only ledger
Startup context stays small. Skills, searchable records and integrations load on demand before verification and saving.
Against Duet
Fourteen features, checked against the Claude Duet product page on 26 October. Our own assessment, not a benchmark: Duet is more polished and works out of the box.
8Ahead
5At parity
1Partial
0Missing
FeatureDuetWrenStatus
Shared memory and skillsDuetMemory, skills and apps carry over from the Claude app.WrenA gbrain knowledge base and git-backed notes that Claude, Codex and the other agents all read and write.Ahead
More than one modelDuetOpus 5.5.WrenOpus plans and checks. Codex builds, Haiku sweeps, Fable reviews, and Kimi or Grok plug in through the delegate skills when we subscribe. DispatchBench picks the cheapest model that passes.Ahead
Its own computerDuetA cloud computer managed by Anthropic.WrenA server we own, on 24/7: Intel i7-8700 (6 cores, 12 threads), 62 GB RAM, 2.8 TB NVMe, root access and about 25 scheduled jobs. Duet doesn't publish its specs. For scale, Kepler (ChatGPT's agent on our bus) reports a cloud box with 9 CPUs, 10 GB RAM and 31 GB of disk. Ahead on control; not proven ahead of Duet on size.Ahead
Drives other agentsDuetWorks on its own.WrenA shared message bus since August: Claude sessions, Codex, ChatGPT, Hermes, OpenClaw and hosted agents post tasks and replies to each other.Ahead
ThreadsDuetOne chat history, in the mobile app and on the web.WrenSeveral Wren threads at once, all sharing one memory. More work in parallel; the trade-off is no single history to scroll back through.Ahead
Brokers and market dataDuetNone named on the product page.WrenBrokers: Interactive Brokers, Questrade and Alpaca, through ChatGPT's apps. Market data through ChatGPT: Alpaca, Binance and CoinGecko; Financial Datasets and Quartr are connected but not paid for yet. Straight from the server: Databento, Yahoo Finance, FRED, SEC EDGAR, Helius for Solana, and open web search. Several are paid feeds a Duet user would have to add and pay for themselves. Orders always need a human.Ahead
Big tasks in the backgroundDuetTakes a request and reports back when it's done.WrenChild sessions, started by crss, work for hours or days with checkpoints, review and merge, and fresh sessions resume from saved state, so one job can run for weeks. Example: a six-week Ethereum client benchmark that ran largely unattended.Parity
DeliverablesDuetBriefs, docs, sheets, decks and dashboards.WrenPublished pages like this one, plus self-refreshing dashboards.Parity
VoiceDuetText or voice in the mobile app.WrenDictation into any thread, Telegram voice notes run as tasks, and Claude's own voice chat.Parity
Yes/no suggestionsDuetOffers follow-ups as yes/no choices.WrenEvery session ends with a recap and one-tap next steps.Parity
Morning briefDuetA daily summary and drafted next steps.WrenEvery day at 07:00 a short Telegram brief of the overnight jobs, with two yes/no next steps, for about three cents.Parity
A soul that keeps improvingDuetNo personality or self-improvement mentioned on the product page.WrenA short persona file loads in every session, and a cheap reviewer saves one lesson before each context reset, so Wren gets better week by week. Ideas borrowed openly from Hermes and OpenClaw.Ahead
Moves moneyDuetAsks before it sends messages or pays.WrenWren decides the portfolio and writes the trades onto an instruction sheet; you open it in ChatGPT through the Interactive Brokers connector and accept. It also says what to do with the crypto wallet. Next goal: a small wallet it trades on its own. A Telegram gate asks before other outward actions; no reply means no.Ahead
Connectors, inbox, calendarDuetMore than 6,000, including Gmail and Calendar.WrenAbout 25 ChatGPT apps through Codex, plus our own server and memory tools. Inbox, calendar and Slack are left off on purpose; they're a switch away through ChatGPT when we want them.Partial
What it costs
Wren runs on the Claude Max plan we already pay for, plus Codex and ChatGPT subscriptions we already had. Duet comes with Pro and Max plans and shares their limits. Here's what the same work would cost at API list prices, so you can judge for yourself.
Our heavy week$1,200–1,400, or roughly $5,000–6,000 a month. Mostly Opus re-reading long context while it runs many sessions at once.
A light, Duet-sized day$110–220 a month: a morning brief, a few errands and one or two long jobs.
Expensive head, cheap hands. The strong model plans and checks; cheaper models do the reading and building.
A "done" is a claim. Wren re-runs the check before it believes a helper, and so should you.
Borrow openly, then add only what fixes a repeat failure. We borrowed openly from Hermes and OpenClaw: the persona, the lesson saved before each reset, the rules for what not to remember. After that, a new habit gets in only when it fixes a failure we keep hitting.
Remove scaffolding as models improve. Each new Claude model needs less hand-holding, so hooks and rules get re-tested and dropped once they stop paying.
Own the box, own the gates. You decide what runs, where, and what needs your yes first.
The whole thing on one page
Ways in
Telegramtext and voice notes
Claude appRemote Control, voice
ChatGPTconnector to the server
Desktop app
→
Wren, on a home server
Claude Code · Opusplans, checks, decides
Memorygbrain + git notes
crss + token-reduce + QMDsessions, lean reads
Brief + approval gate07:00 digest, ask before acting
In short: one strong model on your own server, reachable from your phone or ChatGPT, handing work to cheaper models and other agents, and asking you before anything leaves the building.