TL;DR — Claude Code sends its requests wherever one environment variable points. Aim that at a small local translator and it runs on the Kiro plan you already pay for. Full setup below, plus the two snags worth knowing about.
Claude Code and Kiro have something funny in common: underneath, they're powered by the same Claude models. Same brain. They just grew up speaking different dialects, so out of the box they can't hold a conversation.
I noticed this right as I was about to start a second subscription for Claude Code. My Kiro plan was already renewing every month, already serving the exact models Claude Code wanted to charge me for again. Paying twice to talk to the same thing felt absurd.
So instead of buying a second seat, I hired an interpreter. One small program that sits between them, listens to Claude Code, and relays everything to Kiro in a dialect it understands. Here's how to set it up, and what I learned doing it.
Why they can't just talk
Claude Code is more open-minded than people assume. It doesn't hard-code where it sends requests. It reads one environment variable, ANTHROPIC_BASE_URL, and ships everything to that address. Normally that's the official endpoint, but it'll happily send its requests anywhere you tell it to.
That's the opening. Point it somewhere local and the whole thing becomes possible.
Meet the interpreter
The catch is that Claude Code and Kiro phrase things differently. You can't just redirect one at the other and expect them to understand each other. You need a translator fluent in both.
That's . AWS plugins come from awslabs.
SOCIAL SHARE CARD GENERATOR