OpenClaw Billing Proxy integration left persistent local state and difficult rollback, including path/bootstrap confusion
I’m raising this because our experience around openclaw-billing-proxy was much more invasive and difficult to unwind than expected.
The expectation was that this would behave like a transport-layer shim for Anthropic traffic. Instead, after installation and related setup/update work, we ended up with persistent local OpenClaw state changes, difficult rollback, and severe path/bootstrap confusion that outlived the proxy itself.
I am not claiming malicious behaviour. I am saying the operational blast radius felt much larger than the name and implied scope suggest.
Environment
- OpenClaw
2026.4.10 at time of cleanup/verification
- macOS
- OpenClaw installed via Homebrew / npm-managed CLI path
- Anthropic provider had been routed through local proxy on
http://127.0.0.1:18801
What we can state confidently
1. OpenClaw config was left depending on the proxy
After setup, the active OpenClaw config had Anthropic routed through the proxy instead of the direct API, for example:
models.providers.anthropic.baseUrl = http://127.0.0.1:18801
Some level of config rewrite may be expected during setup, but in practice these changes became sticky operational dependencies and had to be manually repaired during cleanup.
2. Rollback was not clean by default
After the proxy period ended, rollback still required manual repair work, including:
- changing Anthropic config back from the proxy to the direct API
- removing proxy-related local artifacts
- disabling proxy-related operational checks that were still present in the environment
The net result was that rollback felt brittle and operator-dependent.
3. We encountered a real stray .assistant platform/ directory structure on disk
This was one of the biggest operational problems.
A real .assistant platform/ folder structure existed on disk during the same install/update window, and it had to be deleted manually. It appeared to contain partial agent/runtime files, but not a complete mirror of the canonical OpenClaw paths.
In practice, this caused serious path/bootstrap confusion, including:
- agent startup looking in the wrong place
- missing-file behaviour for expected startup files
- broken or inconsistent memory/bootstrap continuity
- the agent behaving as if non-canonical paths were valid
This issue was especially disruptive because it affected agent orientation and recovery, not just model routing.
4. Path/bootstrap contamination materially complicated diagnosis
During the same period, parts of the runtime began referring to invalid assistant platform paths instead of canonical OpenClaw paths.
I cannot yet prove whether this came directly from the proxy repo itself, from a related setup script, or from interaction with local customisation during installation/update work. However, it happened during the same window and materially worsened recovery.
Important scope note
I want to be careful not to overclaim.
I am not asserting as fact that every LaunchAgent, cron, helper script, or local automation artifact we later found was created by the upstream proxy repository itself. Some of that may have come from our own local setup or recovery work layered around the proxy.
What I am asserting is:
- the proxy integration left OpenClaw operationally entangled with proxy-local state
- rollback was not clean or obvious
- the surrounding failure mode was large enough to create major disruption well beyond simple request proxying
Why this matters
The risk is not just “proxy stops working.” The bigger risk is:
- OpenClaw becomes operationally dependent on proxy-local state
- core config silently stays pointed at proxy infrastructure
- path/bootstrap confusion affects agent startup and continuity
- safe rollback requires deep manual knowledge of OpenClaw internals
That is a much bigger contract than “billing proxy” suggests.
Requested improvements
Minimum
- Document exactly what the proxy changes locally during setup.
- Provide a single uninstall / rollback path that restores OpenClaw to a direct non-proxy state.
- Make setup print a before/after summary or diff of all local mutations it performs.
- Warn clearly that this is not just an outbound request shim if it changes local OpenClaw runtime configuration.
Better
- Keep proxy integration isolated from core OpenClaw config where possible.
- Avoid persistent local mutation unless the user explicitly opts in.
- Provide a manifest of all files, paths, and runtime artifacts the integration may create.
- Add a status/doctor-style command that shows everything the integration changed locally.
Questions for the maintainer
- Is the proxy intended to leave persistent OpenClaw config changes behind, or should rollback be expected to be easy and complete?
- Are there any known conditions under which non-canonical local path structures or cloned runtime files can appear during setup/update?
- Is there an official uninstall process that removes all persistent side effects and restores direct Anthropic routing cleanly?
- What is the maintainer-recommended way to verify that the environment is fully clean after removal?
Short version
Our experience with openclaw-billing-proxy was not just “proxy Anthropic traffic.” After installation and related setup/update work, we were left with persistent OpenClaw config dependency on the proxy, difficult rollback, and severe path/bootstrap confusion, including a real stray .assistant platform/ directory structure on disk that had to be deleted manually. Even if not every side effect can yet be attributed directly to the repo, the integration/rollback experience was invasive enough that it needs much clearer documentation and a proper uninstall path.
OpenClaw Billing Proxy integration left persistent local state and difficult rollback, including path/bootstrap confusion
I’m raising this because our experience around
openclaw-billing-proxywas much more invasive and difficult to unwind than expected.The expectation was that this would behave like a transport-layer shim for Anthropic traffic. Instead, after installation and related setup/update work, we ended up with persistent local OpenClaw state changes, difficult rollback, and severe path/bootstrap confusion that outlived the proxy itself.
I am not claiming malicious behaviour. I am saying the operational blast radius felt much larger than the name and implied scope suggest.
Environment
2026.4.10at time of cleanup/verificationhttp://127.0.0.1:18801What we can state confidently
1. OpenClaw config was left depending on the proxy
After setup, the active OpenClaw config had Anthropic routed through the proxy instead of the direct API, for example:
models.providers.anthropic.baseUrl = http://127.0.0.1:18801Some level of config rewrite may be expected during setup, but in practice these changes became sticky operational dependencies and had to be manually repaired during cleanup.
2. Rollback was not clean by default
After the proxy period ended, rollback still required manual repair work, including:
The net result was that rollback felt brittle and operator-dependent.
3. We encountered a real stray
.assistant platform/directory structure on diskThis was one of the biggest operational problems.
A real
.assistant platform/folder structure existed on disk during the same install/update window, and it had to be deleted manually. It appeared to contain partial agent/runtime files, but not a complete mirror of the canonical OpenClaw paths.In practice, this caused serious path/bootstrap confusion, including:
This issue was especially disruptive because it affected agent orientation and recovery, not just model routing.
4. Path/bootstrap contamination materially complicated diagnosis
During the same period, parts of the runtime began referring to invalid
assistant platformpaths instead of canonical OpenClaw paths.I cannot yet prove whether this came directly from the proxy repo itself, from a related setup script, or from interaction with local customisation during installation/update work. However, it happened during the same window and materially worsened recovery.
Important scope note
I want to be careful not to overclaim.
I am not asserting as fact that every LaunchAgent, cron, helper script, or local automation artifact we later found was created by the upstream proxy repository itself. Some of that may have come from our own local setup or recovery work layered around the proxy.
What I am asserting is:
Why this matters
The risk is not just “proxy stops working.” The bigger risk is:
That is a much bigger contract than “billing proxy” suggests.
Requested improvements
Minimum
Better
Questions for the maintainer
Short version
Our experience with
openclaw-billing-proxywas not just “proxy Anthropic traffic.” After installation and related setup/update work, we were left with persistent OpenClaw config dependency on the proxy, difficult rollback, and severe path/bootstrap confusion, including a real stray.assistant platform/directory structure on disk that had to be deleted manually. Even if not every side effect can yet be attributed directly to the repo, the integration/rollback experience was invasive enough that it needs much clearer documentation and a proper uninstall path.