← Back to posts

I Killed My OpenClaw Agent for Good

I've been moving away from OpenClaw for weeks. Auth tokens expiring, gateway errors mid-task, scheduled jobs that looked healthy until they weren't.

Then Anthropic sent an email saying Claude subscriptions no longer cover OpenClaw usage.

Nat Eliason's reaction: "Alright quick what's the move? Codex?"

So that decision I'd been putting off? Made for me.

This post is the full breakdown of how I replaced every core OpenClaw function. Not just "I switched to Claude Code." The actual system. Persistent sessions, mobile access, scheduled automations, memory, handoff docs, the whole thing.

The problems were stacking up before the email

This wasn't a sudden breakup. OpenClaw had been giving me friction for months:

  • Auth tokens expiring without warning
  • Cron environments losing variables between runs
  • Gateway errors killing jobs mid-execution
  • Scheduled automations that needed constant babysitting
  • Jobs that reported healthy status but produced nothing

I was spending more time diagnosing failures than getting work done. That's backwards.

What Anthropic actually said

Boris Cherny from Anthropic posted the details:

Boris Cherny explaining the engineering constraints behind the decision

Claude subscriptions no longer cover third-party harness usage. OpenClaw, Lindy, anything that isn't Claude Code or Claude Cowork. You can still use OpenClaw with API keys or pay-as-you-go overage bundles.

The reasoning: third-party tools put outsized strain on their systems. They want to prioritize capacity for their own products.

The Codex/ChatGPT fallback is not the same

The first reaction from most people was "switch to Codex." I tried it. Switched my OpenClaw to ChatGPT's models.

Noticeably worse. The quality gap between Opus/Sonnet and GPT-5.3-Codex for multi-step automations and context-heavy reasoning was real. Tasks that Claude handled cleanly needed more hand-holding. More corrections, more re-runs, more supervision.

For code completion and simple scripting, Codex is fine. For the kind of autonomous agent work where you describe a problem and the model builds a full solution, Claude is still ahead.

What it actually costs on the API

My daily Anthropic API spend when running OpenClaw heavily:

| Date | Cost | |------|------| | Feb 13 | $48.06 | | Feb 14 | $48.26 | | Feb 15 | $48.18 | | Feb 16 | $48.36 | | Feb 17 | $48.07 | | Feb 18 | $49.51 | | Feb 19 | $48.14 | | Feb 20 | $48.19 | | Feb 21 | $49.09 | | Feb 23 | $48.51 |

Roughly $48/day. Full month of heavy usage: $1,400-$1,500.

| Usage level | Claude Sub (before) | API (now required) | Codex Sub | |-------------|--------------------|--------------------|-----------| | Light (1-2 hrs/day) | $20/mo (included) | ~$200-400/mo | $20/mo | | Moderate (4-5 hrs/day) | $20/mo (included) | ~$600-900/mo | $20/mo | | Heavy (8+ hrs/day) | $20/mo (included) | ~$1,200-1,500/mo | $200/mo | | Power user (always on) | $20/mo (included) | ~$1,500-2,000+/mo | $200/mo |

75x price increase overnight for heavy users. That's why people are panicking.

The full replacement: how I rebuilt every OpenClaw function

This isn't a "just use Claude Code instead" story. I had to rebuild the actual operating system. Here's every piece and what replaced it.

1. Persistent sessions on the Mac Mini

OpenClaw's biggest advantage was always-on persistent sessions. Your agent lives on a server, remembers context across conversations, and keeps working when you close your laptop.

I replaced this by installing Claude Code directly on my Mac Mini. It runs 24/7 from a closet. No screen, no keyboard. Just a headless machine running Claude Code with full access to my repos, my tools, and my scheduled tasks.

The setup:

  • Mac Mini with macOS, running Claude Code
  • GitHub as the shared memory layer (everything syncs to repos)
  • SSH access so I can connect from my laptop if I need to check something
  • All secrets in 1Password, accessible from both machines

The Mac Mini is the server that OpenClaw used to be. But it's mine. No third-party auth that can expire. No gateway sitting between me and the model.

2. Scheduled tasks replace OpenClaw's cron

OpenClaw had a scheduling system for recurring jobs. It was flaky. Mine is better.

Claude Code has built-in scheduled tasks. I have eight running right now:

  • 565 meeting notes: Tuesday at 2:45pm, extracts Granola meeting notes and drafts a summary to Slack for review
  • Newsletter Wednesday: Every Wednesday at 9am, checks for new blog posts and prompts me to draft the email
  • Weekly alignment review: Sunday at 2pm, grades my week against my identity profile and suggests focus areas
  • Weekly skill discovery: Scans Cowork sessions, Slack, Granola, and my skills folder to find repeatable processes that should become skills
  • ICP enrichment monitoring: Watches the enrichment pipeline and reports status
  • ThreadCopy store update: Reminds me to push Chrome Web Store updates when approved

These run on the Mac Mini through Claude Code's scheduler. No launchd scripts to manage. No cron files to edit. I describe what I want and when, and it creates the task.

When one of these fires, Claude Code picks it up, runs the job, and reports back. If I'm not around, the output waits for me. No babysitting.

3. Dispatch and routines for complex workflows

Some of the things I ran on OpenClaw were multi-step workflows. Not just "run this script" but "check this data, make a decision, then do different things based on what you find."

Claude Code handles this through dispatch (spawning sub-agents for parallel work) and routines (multi-step workflows that maintain state across steps).

Example: my ICP enrichment pipeline takes 6,081 buyer profiles from a Google Sheet, enriches each one with LinkedIn data, company data, and AI synthesis, then outputs a deployable HTML dashboard. That's thousands of API calls, data transformations, and decisions. It runs as a routine with handoff docs so any session can pick up where the last one left off.

The handoff doc pattern is the key insight here. Every long-running project gets a HANDOFF.md file that documents the current state, what's done, what's next, and any gotchas. When a new Claude Code session starts, it reads the handoff doc and picks up seamlessly. This is how I get persistent memory without needing OpenClaw's always-on sessions.

I have handoff docs for:

  • The ICP enrichment pipeline (2,749/6,081 profiles enriched, 45% complete)
  • The weekly review system
  • The newsletter infrastructure
  • The Google Ads MCP setup

Each one reads like a briefing document. Current session reads it, does work, updates it before closing. Next session starts cold but has full context. That pattern replaced OpenClaw's "persistent session" entirely.

4. GitHub as permanent memory

OpenClaw stored conversation history and agent memory in its own system. When OpenClaw goes away, so does that memory.

Everything I run now writes to GitHub. Meeting notes, enrichment data, skills, tools, handoff docs, blog posts. All of it lives in repos:

  • nickyc1/agents: Skills, tools, voice profile, capabilities
  • nickyc1/appsumo-meeting-notes: Auto-synced Granola notes organized by date and company
  • nickyc1/nickbuilds-site: Blog and site source
  • nickyc1/nickbuilds-newsletter: Email templates, drafts, SendFox automation
  • nickyc1/ICP: The enrichment pipeline and dashboard
  • nickyc1/nickbuilds-whatsapp: WhatsApp bot for mobile Claude access

If my Mac Mini dies, I buy a new one, clone the repos, and I'm running in an hour. Nothing is trapped in a third-party system.

5. WhatsApp for mobile access

OpenClaw had a solid mobile experience. Message your agent from your phone through Slack or the chat interface. Claude Code doesn't have that out of the box.

So I built a WhatsApp bridge. A Node.js server running on my Mac Mini that connects Twilio to the Anthropic API. I message on WhatsApp, it forwards to Claude, Claude responds, Twilio sends it back.

The setup took about 10 minutes:

  • Twilio account with WhatsApp sandbox (free)
  • A small Express server that receives webhook messages
  • Forwards to Claude via the Anthropic SDK
  • Sends responses back through Twilio
  • Maintains conversation history per phone number

It's not full Claude Code with file access and tool use. But for quick questions, brainstorming, drafting messages, and kicking off tasks while I'm away from my laptop, it works. The code is in my nickbuilds-whatsapp repo.

Cost: roughly $5-15/month on the Anthropic API for moderate WhatsApp usage. Compared to the $1,500/mo OpenClaw was costing on the API, that's a rounding error.

6. Skills files replace OpenClaw's custom instructions

OpenClaw had a way to define custom instructions for your agent. Skills files in Claude Code do the same thing but better.

Every recurring task I do has a skill file. Newsletter drafting, blog publishing, Google Ads reporting, meeting note extraction. Each skill is a markdown file that describes what to do, step by step. When I invoke it, Claude Code reads the skill and executes.

The difference from OpenClaw: skills are stored in GitHub, versioned, portable across machines, and editable by anyone (including Claude Code itself). OpenClaw's custom instructions lived in their system. When you leave, they're gone.

What I still want from Anthropic

The replacement is working. But there are gaps I want closed:

Claude Code on mobile, natively. The WhatsApp bridge is a workaround. I want to open the Claude app on my phone and have the same Claude Code session with the same tools, memory, and file access. Right now the mobile app is a separate product from the one I work in all day.

Better context handoff between sessions. The HANDOFF.md pattern works, but it's manual. I'd love a built-in mechanism where Claude Code automatically writes a session summary when it closes and reads it when it opens. Like git stash for agent context.

Team sharing. OpenClaw made it easy to put an agent in a Slack channel where the whole team could interact with it. Claude Code is single-user right now. I want my ads team to be able to ask the agent questions without going through me.

What I'd tell someone migrating today

  1. Install Claude Code on a dedicated machine. A Mac Mini or any always-on computer. This is your server.
  2. Move everything to GitHub. Every skill, every memory file, every handoff doc. If it's not in a repo, it doesn't exist.
  3. Write HANDOFF.md files for every major project. This is how you get persistent memory without persistent sessions.
  4. Set up scheduled tasks for anything that ran on OpenClaw's cron. Claude Code's scheduler is more reliable.
  5. Build the WhatsApp bridge if mobile access matters to you. 10 minutes to set up.
  6. Cancel OpenClaw. You don't need it anymore.

The agent ecosystem is shifting fast. Anthropic is making it clear they want you on their tools. Building on someone else's relationship with the model provider was always a risk. Now that risk materialized.

Own your stack. Keep it boring. Make it reliable.