Personal tooling

A local gateway for headless Claude and Codex

October 2026.

I built a personal gateway that gives every agent I write one OpenAI-compatible endpoint. Role aliases decide whether a call goes to headless Claude Code, headless Codex or an API model, and every call leaves a proof record.

It is LiteLLM on 127.0.0.1, hash pinned, with two custom providers I wrote: one runs claude -p and the other codex exec, both on my own logins. Every model call in the Offerings Atlas went through it, 302 of them on 10 October 2026 alone, at no marginal cost.

How a call is locked down

  • No tools. No tools and no MCP servers, with a permission mode that cannot prompt.
  • No state. An empty temporary working folder, one turn and no saved session.
  • No leakage. Claude Code's own system prompt is replaced, so no memory, project instructions or skills reach the model.
  • No API bill. API keys are stripped from the child process, so the call bills the subscription and not an account.
  • Proof. Every call writes a record: prompt and schema hashes, models used, CLI version, tokens, duration and the raw output.

Personal tooling for my own machine. The subscription routes serve only me, and hosted or shared use should move to API keys. OpenAI recommends API keys for automation, so I treat the Codex route as experimental.

More projects