# Hybrid gateway for Claude Code

> A local LiteLLM proxy that runs Claude Code with a strong planner and cheap executors, and tracks what every session costs.

Canonical: https://mark-web.com/projects/hybrid-gateway
Author: Mark Sulleza
Stack: LiteLLM, Python, GLM, DeepSeek, Qwen in LM Studio
Source: https://github.com/mSulleza/litellm-hybrid-gateway
Write-up: https://mark-web.com/writing/claude-code-hybrid-model-stack

## Set it up

```bash
git clone git@github.com:mSulleza/litellm-hybrid-gateway.git ~/litellm
cd ~/litellm
python3 -m venv venv && ./venv/bin/pip install 'litellm[proxy]'
cp litellm.env.example litellm.env      # add the provider keys
cp agents/*.md ~/.claude/agents/        # the delegation subagents
lms load qwen/qwen3-coder-30b --context-length 65536 --gpu max
./run.sh                                # the proxy, on 127.0.0.1:4000
```

The context length on the Qwen load matters. LM Studio's default of 8,192 tokens is too small for Claude Code's requests, the call errors, and the proxy quietly falls back to DeepSeek. Everything still works and you save nothing.

## Use it

```bash
alias local-code="$HOME/litellm/claude-hybrid.sh"
local-code
```

`local-code` starts Claude Code against the proxy. The main loop runs on GLM-5.2. When it delegates, `deepseek-coder` takes coding jobs with a clear spec and `qwen-grunt` takes mechanical work like renames, formatting and running tests, for free on the local model. `/model opus` puts a frontier model back on the loop for a session that needs judgement. Plain `claude` is untouched and stays on the subscription.

## See what it cost

[Screenshot: usage.sh printing all-time requests, cost, cache-hit rate and a breakdown by backend model.] `usage.sh` in a terminal. Every request is logged with its model, tokens and cost.

Claude Code stamps each request with its session id, and a LiteLLM callback writes it to a local SQLite file with the cost. `local-usage` opens the dashboard at the top of this page, on 127.0.0.1:4040, with cost by model, by day and by session.

More on the local tier: [Running a 27B coding model on my laptop](/writing/local-27b-model-on-a-laptop).
