A gateway that routes

Anthropic and Google behind one handler that picks per request. Coupling either as the other's tool works until you switch providers.

Read the code

The cheaper alternative

Expose Gemini as a set of tools inside the Claude agent and let one provider drive the other.

Two trees: coupled, and routed

What it would have cost

Vendor lock-in, and a rewrite on the day you switch. That cost is invisible until it is total.

What the decision bought

One handler, per-request routing, and a fallback path when a provider fails.

Where it lives

OurStoryTime, /api/ai/*

Next decision

Offline as the default state