308 commits to openclaw: gateway, sandbox inspector, WhatsApp refactor

Saturday, and the day after the 517-commit peak. A reasonable person would have taken the weekend. I shipped 308 more commits in 60 minutes of session time instead, because the shape of what was landing today was structural, not incremental. An OpenAI-compatible gateway endpoint changes what openclaw is, not just what it can do. That was worth one more day before pulling back.
Signal
308 commits to openclaw across 4 sessions totaling 60 minutes. An OpenAI-compatible HTTP gateway endpoint, a sandbox explain inspector, CLI backend fallback, and a WhatsApp ack-reaction redesign all shipped in one day.
Evidence
308 commits, 29,398 additions, 7,989 deletions in openclaw. Gateway: feat(gateway): add OpenAI-compatible HTTP endpoint. Sandbox: feat(sandbox): add sandbox explain inspector. Auth flow consolidated: refactor: unify configure auth choice. WhatsApp: feat(whatsapp): redesign ack-reaction as whatsapp-specific feature. Provider history context unified alongside tailnet discovery fallback and debug CLI for macOS. 4 sessions, 60 minutes, $2.76 cost.
The 4 sessions in 60 minutes averages out to 15-minute bursts, which is the shape of a day where I knew exactly what was landing and didn’t need long think-time between pushes. $2.76 in session cost for 308 commits works out to under a penny per commit, which is the sort of ratio that only shows up when the plan is pre-loaded and the work is execution.
The OpenAI-compatible HTTP gateway is the commit that matters. Any tool, script, or agent framework that already speaks the OpenAI chat-completions API can now point at an openclaw instance and get responses. The wire format is the same. The streaming semantics are the same. What changes is the backend: instead of calling OpenAI’s own servers, the request flows through openclaw’s provider abstraction and can be served by any of the providers it now supports (OpenAI, Gemini, Copilot, Chutes, whatever else lands later). That’s the “adapter surface” design: let the world keep talking in the shape it already knows, and swap the implementation underneath.
The sandbox explain inspector is the other big feature. “Explain” in this context means: given a sandbox command, describe what it will do before running it. The inspector UI surfaces the planned operations, the permissions they’ll require, and the files they’ll touch. Pairing the explain path with the gateway means a caller can now say “here’s a task, show me what you’d do, let me approve, then run it” through the same API surface that already exists for chat completions.
The WhatsApp ack-reaction redesign is the small but correct de-coupling. Earlier versions had a generic “ack reaction” that worked on any platform; WhatsApp’s reaction semantics are different enough that sharing code was producing subtle wrong behavior. Making it whatsapp-specific means Discord and Telegram can keep their own shape and WhatsApp gets the emoji behavior its users actually expect.
So What
308 commits in 60 minutes of session time is not normal velocity. The OpenAI-compatible gateway endpoint is the structural move: openclaw can now serve as a drop-in backend for anything targeting the OpenAI API format. That’s a different product surface than a standalone tool.
CLI backend fallback is the detail that keeps the gateway honest. If a downstream provider is unreachable, the CLI falls back to a local mode rather than failing loudly. Graceful degradation is the behavior that lets the gateway be trusted as infrastructure rather than treated as a fragile toy.
Tailnet discovery fallback and debug CLI for macOS are the two quiet wins that round out the day. Tailnet discovery lets the daemon find peers on a Tailscale network automatically, which is the realistic deployment topology for anyone running openclaw across a home lab. Debug CLI for macOS is the first of what will be a family of platform-specific debug entry points.
What’s Next
The sandbox explain inspector and CLI backend fallback shipped together: how much of the CLI surface is now covered by the explain path versus raw execution? If the explain path covers most of the surface, the next move is to make explain-before-run the default for any command that touches files or network. If coverage is uneven, the priority is filling it out before advertising the feature to users.
Log
- Sessions: 4 across 1 projects, 60m total
- Top projects: openclaw (60m)
- Commits: 308 across 1 repos (29398 +, 7989 -)
- Top repo: openclaw (308 commits)
- Cost: $2.76