Point your tools at it · curl
curl against the plan you already pay for
Two base URLs, one key. Anthropic-shaped clients talk to http://localhost:3456; OpenAI-shaped clients — chat/completions and, since 6.3, the Responses API — talk to http://localhost:3456/v1. The key is dario (any value works until you set DARIO_API_KEY, which then has to match).
Setup
curl
curl http://localhost:3456/v1/messages -H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":256,"messages":[{"role":"user","content":"Hello!"}]}'
curl http://localhost:3456/v1/chat/completions -H "content-type: application/json" \
-d '{"model":"gpt-5.5","messages":[{"role":"user","content":"Hello!"}]}'Before that
Install dario, log in, leave it running
Three commands, once. The proxy binds 127.0.0.1:3456 and holds your login; every tool on the machine shares it. Add a ChatGPT plan with dario add altman and the two fail over to each other.
terminal
$ npm install -g @askalf/dario $ dario login # your Claude plan: Pro, Max 5x or Max 20x Login successful. $ dario proxy # leave it running dario · http://localhost:3456 Your Claude subscription is now an API.
0 runtime dependencies
SLSA-attested every release
Nothing phones home
MIT, independent, unofficial
Other tools
Same URL, same key
Codex CLI
Claude Code
Cursor
Cline · Roo Code · Kilo Code
Aider
Continue.dev
Zed
OpenHands
OpenClaw
Codex CLI · OpenAI SDK · any OpenAI-compatible tool
Claude Agent SDK · Anthropic SDK
Docker
Compatibility matrix
Something not listed? If it reads ANTHROPIC_BASE_URL or OPENAI_BASE_URL, or has a "Base URL" field, it works. The compatibility matrix says which tools are exercised end-to-end, which are inferred from a shared code path, and which are untested — one honest cell per tool.