One gateway. Every coding tool.
Drop ModelMeld between your coding tools and your LLM backends. Route simple requests to fast OSS models, hard ones to your existing ChatGPT subscription or the frontier API keys you already pay for. Predictable cost ceilings, no key custody.
Three steps to multi-model routing across your dev tools.
Point your tool at localhost
Claude Code, Cursor, Aider, anything OpenAI-compatible — base URL stays the same. No code changes.
OPENAI_BASE_URL=http://localhost:8080/v1
ModelMeld routes each request
Simple prompts (autocomplete, type hints, docstring adds) route to OSS-tier models. Hard prompts (debugging, architecture) route to your existing ChatGPT subscription via OAuth passthrough, or to a frontier API key you already pay for.
route: scout → qwen3-coder-next route: scout → claude-sonnet-4-6 (your Anthropic key)
Auditable routing on every response
Same model name on the wire. Every response carries x-modelmeld-* headers showing which model actually served the request, which tier it ran on, and the task category the scout matched.
x-modelmeld-routed-model: qwen3-coder-flash x-modelmeld-tier: oss x-modelmeld-task-category: coding
Self-host the gateway and your frontier keys never leave your machine. Use Hosted with BYOK and your keys transit per-request only — used to make the upstream call, then forgotten. Never stored at rest, never logged.
Validated end-to-end on real coding-tool traffic.
Built and tested against the dev tools you actually use.
Anthropic `cache_control` breakpoints forwarded verbatim via native-shape passthrough on /v1/messages. We don't strip them — cached prompts hit cached, the way Anthropic intended.
Speaks Anthropic Messages for Claude Code and OpenAI Chat Completions for Cursor, Aider, Continue, Cline. No client code changes.
When your request carries tools, the scout filters out models that can't reliably do function-calling — your agents don't get broken responses from a smaller model picked by mistake.
Every response carries headers showing the routed model, tier, task category, and quality threshold. Same request + same registry = same model. Audit log captures every choice.
Built into the product.
Your frontier keys, your custody.
Self-host the OSS gateway and your keys never leave your machine — routing happens in your process. The same holds for subscription passthrough: your ChatGPT OAuth bearer transits per-request only, used to make the upstream call, then forgotten. Hosted with BYOK works the same way via the x-modelmeld-byok-* header. Never stored at rest, never logged. No custody, no per-request markup.
Open-source core.
ModelMeld is AGPL-3.0 licensed. No lock-in, fork-friendly, contribute-friendly — calling the gateway over HTTP from your tools doesn't make them AGPL. The whole routing engine is public.
We store the minimum we can.
- Always: request metadata (model, latency, tokens) plus a SHA-256 prompt hash — never the prompt body itself.
- Only when you enable them: completion cache and tiered memory persist prompt-equivalent content — cache for repeats, memory for cross-model continuity. Both are off by default in OSS and Hosted. Tenant-scoped when on; retention follows the policy in /privacy.
Works with the tools you already use.
Two native API surfaces — Anthropic Messages and OpenAI Chat Completions — so Claude Code, Cursor, Aider, Continue, Cline, and any OpenAI or Anthropic SDK drop in unchanged. No SDK swaps, no client code rewrites.
The OSS engine works today.
Self-host on your own GPU and route from the moment pip install finishes. Bring your own frontier API keys, or point your ChatGPT subscription at the gateway. Walk through it step-by-step on the Get Started page.