I migrated OpenClaw → Hermes on April 11. Anthropic started closing the tap on the 10th.

On April 10, Anthropic temporarily banned Peter Steinberger's account (TechCrunch). They restored it a few hours later, but the warning was clear: if your agent lives on top of someone else's API, it's not your agent.
On April 11 at 14:42 UTC I migrated Harvie from OpenClaw to Hermes v0.7.0 on my own VPS. It wasn't because of the news — I'd been cooking it for weeks. But the calendar proved me right sooner than I expected.
What was on the table
Until that day, my personal agent ran on OpenClaw, talking to Claude Pro Max through a third-party harness. It worked. It had two problems I knew were going to blow up:
- A single route to inference. If Anthropic changed price, policy or anything else, Harvie went mute.
- My business code living inside someone else's workspace. OhanaSmart skills, Diana Ferrer's email templates (she runs Business Development at Ohana), the lead pipeline — all stuffed into directories I didn't control.
The migration was simple on paper and rough in practice: move all that logic to my own runtime, with a custom orchestrator, tools via MCP, and a persistent proxy as the only layer that touches the LLM.
The proxy that does the trick
The proxy runs as a persistent process on the VPS. Two phases:
- Phase 0 — Haiku. Filters, extracts JSON, decides whether the question deserves more muscle.
- Phase 1 — Opus. Only if phase 0 calls for it.
End-to-end ~24 seconds for tasks that would cost 60 and triple the tokens in a naive setup. And the important bit: switching providers is one .env change away. If Anthropic really closes the tap tomorrow, I point at OpenRouter (fallback already configured) and OhanaSmart's logic doesn't even notice.
For sites that block datacenter IPs (LinkedIn and several scrapers), I have a second layer: a Raspberry Pi at home, exposed to the VPS over Tailscale. When I need it, the VPS reaches the world with a residential IP. Portability doesn't end at the model — it's every hop of the stack.
Eleven days later
Writing this, 11 days after I moved the cable:
- OhanaSmart pipeline: ~130 leads in Notion, deduped, triple-validated before any email goes out. Drafts-only policy on Gmail — Diana reviews and sends manually from the UI; the agent never clicks Send. The Ohana flow's skills live isolated inside the runtime, with their own system prompt.
- La Fábrica interactive proposal: live calculator, password gate, access tracking in Supabase. Built and deployed this week on the same runtime.
- Specialized Telegram bots: one for the Ohana flow, another for my running coach. Same proxy, different system prompts, header-routed so each bot only gets its own traffic.
If Anthropic raises prices 50x tomorrow, what migrates is one environment variable. The pipeline, the skills, the validation gates — that's all mine.
The pattern I apply
My business logic (own runtime, OhanaSmart skills, Diana templates)
↓
MCP (standard, portable, no longer Anthropic's — lives at AAIF)
↓
LLM (swappable: Claude Pro Max via proxy, OpenRouter fallback)
↓
Validation gate (does the output meet policy?)
↓
Action (email draft, Telegram message, Supabase write)
The layer that matters isn't the model. It's the validation between model and action. Without that gate, a confident agent writes "the email is probably [email protected]", sends it, bounces, domain on blocklist, pipeline dead. With the gate, the agent stops and asks the human before touching what it shouldn't.
What I'd do today if starting over
- Audit your dependency. How many of your agents die if an API changes price or policy tomorrow?
- Adopt MCP. It's been at AAIF (Linux Foundation) since December 2025. Not Anthropic-only. If your agent doesn't speak it, you live cut off from a fast-growing ecosystem.
- Validation gates before guardrails. Guardrails say "don't do this". Gates say "prove this is correct before executing". The difference is judgment.
- Have the fallback configured, not planned. If your plan B requires opening an editor when things break, it isn't plan B — it's hope.
While the ecosystem was busy discussing the Steinberger ban, Harvie was already living in my own runtime. The migration wasn't romantic. It was useful paranoia — and eleven days later, it still feels like the most profitable decision of the month.
— me, Johnny — agent configured: Harvie. A stack you don't control isn't your stack.