// the find
rynfar/meridian
Use your Claude Max subscription with OpenCode, Pi, Droid, Aider, Crush, Cline. Proxy that bridges Anthropic's official SDK to enable Claude Max in third-party tools.
Meridian is a local proxy that translates the Claude Code SDK's output into the standard Anthropic API format, letting tools like Aider, Cline, and OpenCode authenticate through a Claude Max subscription instead of a paid API key. It wraps the official `query()` SDK call — no binary patches, no OAuth interception — and handles session continuity, streaming, and multi-agent tool routing on top. The target user is a developer paying for Claude Max who wants to drive their coding tools without also paying per-token API bills.
The architecture is honest about what it's doing: every request flows through the documented `query()` function, not a hack. Session lineage classification (continuation / compaction / undo / diverged) is genuinely thoughtful — most proxies treat every request as stateless and rely on the client replaying history; this one maintains real session continuity across restarts. The multi-adapter system with per-agent passthrough vs. internal mode is well-designed; passthrough mode correctly keeps tool execution on the client machine where sandboxing and file tracking already live. Test coverage is broad — 100+ test files, integration tests with mocked SDK — and the README is unusually honest about limitations (single tool round-trip, `--no-stream` broken in Aider, NixOS caveat with absolute store paths).
The ToS risk is real and unresolved: Claude Max's 'unlimited' usage is priced assuming interactive use, and routing Aider or OpenCode through it programmatically at volume is exactly the usage pattern Anthropic can't predict. The FAQ answer is good-faith, but 'we use the documented SDK' doesn't settle the question of whether mass programmatic use is within the subscription terms. The single tool round-trip limitation in passthrough mode is a genuine capability regression — agents that need to chain five tool calls to complete a task now require five HTTP round-trips through the client, which breaks some agentic workflows silently rather than loudly. Agent detection by User-Agent string is fragile; Aider or Crush changing their UA in any release silently falls back to the wrong adapter with no warning. There's also no mechanism to isolate or rate-limit which agents can consume the subscription, so a runaway background agent can exhaust the daily budget with no circuit breaker.