One email each morning — yesterday's AI, sortedGet it in your inbox

METAL LAB

NVIDIA releases Switchyard, an LLM routing proxy for coding agents

A Rust proxy that connects Claude Code and Codex to open-source models as-is — not yet production-ready

이미지: METAL LAB 생성

Summary

  • NVIDIA has released Switchyard, an open-source proxy that routes LLM traffic across multiple models and providers
  • It lets agents like Claude Code and Codex use models served via vLLM, NVIDIA NIM, Ollama and others without changing their API format
  • The project is at pre-alpha stage, and its maintainers say the API and routing algorithms will change significantly before a stable release
프로젝트명
Switchyard
개발
NVIDIA (GitHub 조직 NVIDIA-NeMo, 저작권 NVIDIA Corporation)
형태
Rust로 작성된 프록시 및 라이브러리
지원 API 변환
OpenAI Chat Completions ↔ OpenAI Responses ↔ Anthropic Messages
지원 백엔드
vLLM, NVIDIA NIM, Ollama, OpenAI 호환 엔드포인트
실행 방식
런처(Claude Code·Codex CLI·OpenClaw), 서버, 라이브러리 3가지
개발 단계
프리알파(pre-alpha), v1.0 전까지 API·알고리즘 크게 변경 예정
라이선스
Apache 2.0

Plugging coding agents straight into open-source models

Developers who want to switch a coding agent like Claude Code or Codex to an open-source model for cost or speed reasons usually have to rework the agent's own configuration, since each agent is hard-wired to either the OpenAI or Anthropic API format. Switchyard, an open-source project NVIDIA published through its NVIDIA-NeMo GitHub organization, is a Rust-based proxy that works around this without touching the agent's code.

What it solves

Switchyard distributes requests across multiple providers, translates between the OpenAI and Anthropic APIs, logs operational metrics, and offers typed routing algorithms. For instance, you can keep Claude Code running exactly as before while swapping the backend to vLLM, NVIDIA NIM, Ollama, or an OpenAI-compatible endpoint — the agent still believes it's talking to its native API. In reality, a different model chosen on the server side handles the request. The same setup lets you split traffic across multiple models for A/B benchmarking, route to different models at different stages based on specific signals, or plug in your own custom routing algorithm.

How to try it

The project offers three ways to run it.

  1. Launcher path — Run coding agents such as Claude Code, Codex CLI, or OpenClaw through Switchyard. If you don't already have uv, the Python package manager, install it first, then install the published Switchyard tool, set your OpenRouter key, and run the packaged distribution. To use your own TOML configuration, just specify the route ID and config file.
  2. Server path — Run Switchyard as a standalone proxy. Install Rust and Cargo, then install the published binary, which by default lands in ~/.cargo/bin. Create a routes.toml config file, validate it, and start the server.
  3. Library path — Embed switchyard-libsy in your own Rust application. This library doesn't call models directly; it only decides which target to use and hands the actual call back to the caller, so it can be dropped into an existing proxy, gateway, or agent runtime without adding a new HTTP stack.
PathTarget usersPrerequisites
LauncherClaude Code, Codex CLI, OpenClaw usersuv
ServerTeams wanting a standalone proxyRust, Cargo
LibraryBuilt-in routing for a custom Rust appRust project

Currently pre-production

The project description states plainly: "Experimental software. Not for production use." It also notes that, being at pre-alpha stage, the API and routing algorithms are expected to change significantly before reaching v1.0. It is licensed under Apache 2.0, with NVIDIA listed as the copyright holder.

What you could do with it

For example, a team could standardize on Claude Code internally while routing sensitive codebases to a self-hosted open-source model and sending routine work to a commercial model. It could also be used for benchmarking — streaming the same prompt to several open-source models at once to compare response quality and latency. With signal-based staged routing, you could set up a configuration that automatically switches to a different model when the failure rate for responses rises.

Editor's take

NVIDIA is a chip company, not a chatbot company. So why is it shipping a routing proxy like this out of its own GitHub organization? The logic is simple — the more open-source models proliferate, the better it is for whoever sells the hardware to run them. The easier it becomes for developers to use self-hosted models instead of Claude or GPT, the more GPU demand grows for running those models. Switchyard reads as a move by NVIDIA to bring serving stacks like vLLM and NIM — which run on its own chips — closer to the coding-agent ecosystem.

Similar efforts already exist. Unsloth Desktop shipped a desktop app that connects Claude Code and Codex to local LLMs, and projects like LiteLLM have long handled API format translation. What sets Switchyard apart is that it's a low-level proxy written in Rust, and that it also ships as a library for developers who want to write their own routing algorithms. Still, it's too early to bolt pre-alpha software directly in front of a team's coding-agent pipeline. For now, the right use case is personal experimentation — connecting Claude Code to open-source models running on vLLM or Ollama and running A/B comparisons. It's safer not to hand it production traffic until v1.0, when the routing logic stabilizes.

In the coming weeks, reports of teams actually wiring this proxy into internal agent pipelines will likely start showing up in GitHub issues or community forums. How quickly that feedback gets incorporated will determine whether this stays an experimental tool or becomes infrastructure teams actually adopt.

Code from this story

Comments