On April 4, 2026, Anthropic cut off third-party Claude API wrappers from Claude subscription plans. That included OpenClaw — the AI agent platform I'd been using as a design assistant to help build Sorted3D.
The setup was good. I'd been using it to write OpenSCAD parametric designs for ice fishing gear, do web research to pull real product dimensions before designing inserts and mounts, draft Etsy listing copy, and keep the whole project moving. The workflow was: I describe what I want, the assistant iterates on the .scad file, generates previews, and I work through it. It wasn't perfect but it was productive.
After April 4, OpenClaw stopped working on my subscription. Anthropic gave me a $100 extra usage credit — which I appreciate — but the platform itself was still broken. I waited a week to see if it would get sorted out. It didn't.
So today I migrated.
Move the entire Sorted3D project from the OpenClaw workspace directory into ~/Documents/Sorted3D, get Claude Code configured to understand the business context, and verify the OpenSCAD toolchain still works by running a multi-angle preview render of the tip-up holder design.
That's it. Not building anything new today. Just making sure the foundation is solid before I pick up where I left off.
Moved the project. Copied everything from the OpenClaw workspace into ~/Documents/Sorted3D — all the .scad source files, versioned STL exports, Testing/ photos, everything. The project structure stayed the same.
Wrote a CLAUDE.md. This is Claude Code's equivalent of giving your agent a briefing document. I wrote out the full business context: what Sorted3D is (parametric 3D-printed organization gear for serious ice fishermen and outdoor hobbyists), the active designs, the full product roadmap, design conventions, Etsy shop status, blog format, the whole thing. This is what replaces the persistent memory the old setup had accumulated over weeks of sessions in OpenClaw. It's not perfect — the old workflow knew things from conversations that I haven't fully reconstructed — but it's a solid starting point.
Installed an OpenSCAD skill. Claude Code has a skill system where you can drop workflow scripts into .claude/skills/. I grabbed one from mcp.directory that's supposed to provide shell scripts for validation, preview generation, and STL export. The zip only contained the skill definition file — the actual scripts weren't there. So we rebuilt them from scratch:
validate.sh — syntax check a .scad filepreview.sh — render a single PNG at a specified camera anglemulti-preview.sh — render 6 angles (iso, front, back, left, right, top)export-stl.sh — export STL with optional parameter overridesextract-params.sh — list customizable parametersRan the first preview render. Test target: tipup_holder_v1.scad, the two-piece adjustable sled clamp with tip-up arm storage tubes. Three things broke before the previews came out right.
1. Bash 3.2 compatibility. The multi-preview script used declare -A for associative arrays, which is a bash 4+ feature. macOS ships with bash 3.2 (it's been 3.2 since 2007 — Apple won't upgrade it because bash 4+ uses GPLv3). Rewrote the angle/camera mapping using colon-separated strings and shell parameter expansion. Not pretty, but it works on any Mac without requiring Homebrew bash.
2. --imgsize format. The script passed the image size as 800x600. OpenSCAD 2021.01 wants comma-separated: 800,600. One character fix, but it only reveals itself at runtime with the error "Need 2 numbers for imgsize."
3. Camera framing. The default camera distance put the lens inside the model — first render was a close-up of the inside of a tube wall. Increasing the distance helped but the model wasn't centered at world origin, so it was still cropped. The wrong fix would have been hardcoding the model's center coordinates into a general-purpose script. The right fix was OpenSCAD's --autocenter and --viewall flags: --autocenter shifts the camera to look at the model's center, --viewall adjusts zoom to fit everything in frame. Works for any model regardless of where it sits in world space.
After those three fixes, all 6 angles rendered clean.
The tip-up holder is a two-piece adjustable clamp — an outside piece with a vertical leg and two rectangular tubes that hold tip-up arms (3" wide × 1" thick), and an inside piece that slides along bolt slots to clamp onto different sled rail widths. The two pieces bolt together with M5 hardware.
The geometry looks correct across all angles. Tube bores open at the top. Wide front slots cut into the tube faces. Bolt slot cutouts visible in the inside piece flange from the top view. The L-clamp profile reads clearly from the side. No missing geometry, no obvious boolean operation errors.
There's a z-fighting artifact where the two colored pieces share a face in the preview render — that's a render artifact, not a geometry problem. Doesn't affect prints.
Honestly, the main thing I lost is the accumulated context. After weeks of sessions, the old setup understood the nuances of the project in ways that aren't fully captured in a CLAUDE.md file — the things I tried that didn't work, the reasoning behind specific dimension choices, the direction I was heading. Some of that is in the git history and design comments, but not all of it.
The persistent memory in OpenClaw was genuinely useful. Claude Code doesn't have the same kind of long-term agent memory across sessions. The CLAUDE.md is a reasonable substitute for the stable stuff, but it's a snapshot, not a relationship.
I also lost the OpenClaw-specific workflow integrations. The old setup could push to certain outputs directly. That's gone for now — I'm back to more manual hand-offs for anything outside the terminal.
Claude Code runs locally in my terminal. No platform dependency. If Anthropic changes API policies again, the tool itself still works — it's just a CLI against the API. I'm not locked into another third-party platform's business decisions.
The CLAUDE.md approach forces me to actually write down the project context properly, which I probably should have done earlier. If I get hit by a bus, someone else could pick this up.
The OpenSCAD skill scripts mean previews are now one command instead of a manual GUI workflow. That pays dividends every session.
That old workflow served me well. I'll figure out what this new setup is.
If you were running AI-assisted design work through OpenClaw and got cut off on April 4, here's what I'd suggest:
Write your context down before you migrate. The muscle memory your agent had is in your head more than you realize. Spend an hour writing a briefing document — your project goals, active designs, conventions, roadmap, anything non-obvious. You'll reconstruct context faster and it'll be useful regardless of what tool you land on.
Claude Code is a reasonable landing spot. It's a terminal CLI, not a GUI agent platform, so the UX is different. But it's direct-to-API, it supports project-level context via CLAUDE.md, and it can run shell scripts which makes it practical for a design workflow like this one.
Automate your OpenSCAD preview workflow. If you're doing CLI rendering, use --autocenter --viewall and you'll never have to fiddle with camera coordinates per-model. Works with any .scad file.
macOS bash is 3.2. If you're writing shell scripts and hitting weird errors on a Mac, check whether you're using bash 4+ features (declare -A, etc.). You're probably not — Apple ships 3.2 and won't update it. Either write POSIX-compatible shell or use /opt/homebrew/bin/bash explicitly.