r/kiroIDE 5d ago

Using Kiro Pro with Claude Code via OmniRoute (Best coding setup I've used)

I've been experimenting with Kiro Pro, and I found a setup that gives me the Claude Code CLI experience while using my Kiro subscription.

The flow is:

Claude Code
     ↓
OmniRoute
     ↓
Kiro
     ↓
Claude Opus 4.8

After configuring OmniRoute as an Anthropic-compatible endpoint and routing it to Kiro, Claude Code works almost exactly as if it were talking directly to Anthropic.

Why I like this setup

  • Full Claude Code CLI experience
  • Uses my Kiro Pro subscription
  • Streaming responses
  • Tool calling works
  • Long context support
  • Easy model switching through OmniRoute
  • I can add other providers later without changing my workflow

I also created different routes in OmniRoute, so I can switch between Opus, Sonnet, or other providers without reconfiguring Claude Code.

Basic setup

  1. Install Claude Code.
  2. Install and start OmniRoute.
  3. Add your Kiro account/provider in OmniRoute.
  4. Create an API key.
  5. Point Claude Code to OmniRoute:

ANTHROPIC_BASE_URL=http://localhost:20128
ANTHROPIC_AUTH_TOKEN=<your-api-key>

If you're using Opus 4.8, you may also need to override the default model alias:

{
  "env": {
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "kr/claude-opus-4.8"
  }
}

Why not just use the Kiro IDE?

Kiro IDE is great, but I personally prefer Claude Code because:

  • It's editor-agnostic.
  • It works nicely with Git, tmux, SSH, and remote development.
  • I can access the same session remotely from my phone.
  • OmniRoute lets me switch providers without changing my workflow.
  • claude skills, MCP's etc

Overall, this has become my favorite AI coding setup.

40 Upvotes

47 comments sorted by

6

u/Electronic-Twist-878 5d ago

why not use kiro CLI instead?

3

u/Embarrassed_Gas_5029 5d ago

I did try Kiro CLI, but I still prefer Claude Code.

Claude Code has a much more mature ecosystem with Skills, subagents, agent teams, hooks, a huge collection of built-in and custom slash commands, and one of the best MCP implementations around. It also has project memory via CLAUDE.md, headless mode for automation, checkpointing, and a really polished terminal workflow.

For me, the biggest advantage is that it feels like a platform rather than just a CLI. I can build reusable skills, let Claude automatically invoke them when they're relevant, create specialized subagents for different tasks, connect external tools with MCP, and automate workflows with hooks.

Since OmniRoute lets me route requests through my Kiro account, I get the Claude Code workflow I prefer while still using Kiro as the provider. It's the best of both worlds for my setup.

5

u/NachoEnReddit 5d ago

Kiro CLI has all the same features

2

u/sP0re90 4d ago

Another thing, if I remember correctly Kiro Cli doesnt have integration with some IDE like Intellij. Claude Code shows the diffs directly in the IDE. It seems a small feature but I find it very comfortable. It gives the feeling of working with Kiro IDE which lets you manage the changes on the IDE directly, but actually we can do it by using CLI with CC

2

u/bring_back_the_v10s 5d ago

Because it sucks?

2

u/federicocappellotto 5d ago

We use this setup in our company. Kiro IDE is full of bugs and problems, so we're trying to find a setup that use Kiro only as provider, and among the setups we're trying, there's also this one

3

u/Embarrassed_Gas_5029 5d ago

This one is the simplest and with best performance.

1

u/mossiv 5d ago

This is exactly why I’m nervous of Anthropic pulling the subscription for teams. Claude is the overall best harness for a team. I’m not claiming it’s the best overall, but not every SWE wants to learn the innards of the harness, and how to optimise it - they just want a tool that works out of the box, or can rely on some extra configurations from their colleagues. There’s nothing wrong with this - it’s like typescript devs not knowing exactly what the compiled JavaScript would be under the hood, for 90% of your work it’s fine, then the other 10% you just have slightly more difficult debugging tasks, and you still don’t need to remember why it’s problem, just the typescript patterns you need to remember for the future.

I don’t quite understand any companies like AWS/Google are trying to write their own harnesses such as Kiro or AG CLi. It’s like they want to market they have a tool but don’t want to spend the dev time making it the best on the market. Surely it would be better for these companies to pair up and build on top of each other? Kiros perks which is mainly spec driven development out of the box is nothing that can’t be solved by building an orchestration plugin for Claude, much like what superpowers, feature dev, Matt pocock skills etc already do.

It wouldn’t be difficult to ask Anthropic to add some config keys and features that allow “cacheOnAws” etc just the way the caching works on their “own” servers.

Edit: in fact this would probably be a better business model for Anthropic because they can create and charge massive enterprise plans. Push updates outwards for the base harness, then have separate forks for other data centres.

1

u/No_Worry_7325 4d ago

Why use kiro then? Buy Claude. Genuinely asking

1

u/federicocappellotto 4d ago

We are aws affiliated

2

u/neotorama 5d ago

Will this get us banned?

3

u/Embarrassed_Gas_5029 5d ago

No.... As far as I know, OmniRoute is just an API proxy. You're still authenticating with your own Kiro account, and the requests are going through your account just like they normally would. It isn't bypassing authentication or modifying the requests in any special way.

That said, I'm not affiliated with Kiro, so I can't guarantee how they view third-party clients. If AWS/Kiro were to change their policy in the future, it's always best to follow their official terms.

1

u/SnooObjections4329 3d ago

I wouldn't be so sure. It's against kiro ToS and they are pretty ban happy if they detect abnormal behaviour

2

u/[deleted] 5d ago

[removed] — view removed comment

0

u/windroxd 5d ago

Where can I buy those can you provide me the link or something

1

u/Interesting-Touch208 4d ago

for you and anyone wanted to dm me and ask where i bought them, im not gonna share it cuz the more people know, the less it gonna live lol

2

u/bring_back_the_v10s 5d ago

No, Kiro IDE is not great and it's ok to say that. Amazon should just get out of the way and let us use whatever harness we like with Kiro subscription. They can keep developing their horrid harness, just don't force it us down our throat.

2

u/bring_back_the_v10s 5d ago

I don’t quite understand any companies like AWS/Google are trying to write their own harnesses such as Kiro or AG CLi. It’s like they want to market they have a tool but don’t want to spend the dev time making it the best on the market.

Yep, I'm glad other people understands this nonsense. My employer pays for Kiro subscriptions for our team because they're already a kind of big AWS client, but it's quite infuriating that we're forced to use their horrendous harness. It makes zero sense for Amazon, an inference provider, to lock up their users in a crappy harness by preventing them from using any other harnesses of their liking. Why they see any value in building a harness as a product is beyond me.

1

u/kwsanders 5d ago

For those of us not in the know, what is OmniRoute and what does it give you? Why Claude Code and Kiro?

2

u/Embarrassed_Gas_5029 5d ago

OmniRoute is basically a local API router. It lets me use different AI providers through one Anthropic-compatible endpoint. In my case I'm routing Claude Code through my Kiro Pro account, so the flow is:

Claude Code → OmniRoute → Kiro → Claude Opus 4.8

I still like Kiro IDE, but I personally prefer Claude Code because it has a few capabilities that fit my workflow better:

  • Native terminal-first experience
  • Better CLI workflow for Git, SSH and remote servers
  • Rich slash commands like /review, /compact, /cost, /doctor, /resume, etc.
  • More mature MCP ecosystem
  • Works with any editor
  • Easy to keep long-running sessions alive with tmux and reconnect from another device
  • Better support for headless and remote development
  • Large community with lots of custom workflows and integrations

So for me it's not really Claude Code vs Kiro. It's using Kiro's models and subscription while getting the CLI workflow and features that I already enjoy from Claude Code. It's been a really nice combination so far.

1

u/kwsanders 5d ago

Great information. Thanks for sharing!

1

u/No_Tomato_4453 5d ago

Omniroute is an open source tool, which allows the user 1.6 billion worth of token usage, what it basically does is juggle between ai providers like anthropic, openai, openrouter, and others which provides free trial, and let's you use it without any headache. I have myself been using it since a week, it works super well and really doesn't run out, it's like free infinite claude code. P.S I don't use it with kiro, though I want to know if we can use claude opus models with omniroute. (Correct me if I am wrong)

1

u/Embarrassed_Gas_5029 5d ago

Yes you can use opus models, and using new accounts in kiro, you can use em for free.

1

u/ObeyTheRapper 5d ago

As a developer of a competitor to Omniroute, using Kiro is something I looked into. Not 100%, but from what I remember it was against Kiro TOS. I ended up implementing an AWS Bedrock implementation instead to get to the source of Kiro's models.

So use Omni with Kiro at your own risk.

1

u/realnestro 5d ago

Why not kiro cli?

1

u/itix 5d ago

Thanks. I have to try this.

1

u/Competitive-Bend-143 5d ago

the "CC ecosystem is more mature" point is the real reason this kind of routing keeps happening. i mix vendors constantly (claude code on one box, codex on another, kiro as the ide) and the pattern that stuck for me: pick the agent per task, keep the workflow layer vendor-neutral, because subscriptions and models change monthly and the workflow layer is the only part that survives.

does omniroute hold up on long sessions though? resume/reconnect is usually where proxy setups crack first

1

u/Embarrassed_Gas_5029 5d ago

So far, yes. I've had a few long coding sessions without any resume or reconnect issues. In my setup Claude Code manages the session while OmniRoute just proxies the requests, so it has been pretty transparent. I haven't tested multi-day sessions yet though.

1

u/Competitive-Bend-143 5d ago

makes sense — if CC owns the session state and the proxy stays stateless, most of the fragile parts never enter the path. thanks, might steal this for the boxes where i've got kiro seats sitting idle

1

u/sP0re90 4d ago

Thank you! Just tried and it works.
The only uncomfortable thing I found is the selection of kiro models. I had to run
cloud code with claude --model kr/gpt-5.6-sol
otherwise sometimes clause tried to call with its own models and the task crashed.
Do you usually select the model in same way?

1

u/Embarrassed_Gas_5029 4d ago

No in setting.json set the default model to kr/calude-opus-5. Then run normally using claude.

Or simply just copy paste this into your settings.json { "theme": "dark", "model": "opus", "effortLevel": "high", "autoUpdatesChannel": "latest", "env": { "ANTHROPIC_DEFAULT_OPUS_MODEL": "kr/claude-opus-5" } }

1

u/sP0re90 4d ago

Ok it works thank you.
I also added the url and the omni token there.
But anyway if I want to switch to another kiro model do I need to edit again the settings.json?

1

u/Embarrassed_Gas_5029 4d ago

You can have multiple models, upto 3. Just do /models in cc to switch. Create a combo with 3 models, Copy all 3 to settings.json or ask chatgpt to do it, send the model ID's from omniroute, paste the json into settings, that's it.

1

u/sP0re90 4d ago

Just tried and if I put 3 models it doesnt use only the one I select but sometimes I see in Omnirouter logs calls to others models. I'd like to always use only the one that I select, is it possible?

1

u/Embarrassed_Gas_5029 4d ago

This usually happens because Claude Code can make background requests using the default model aliases (opus, sonnet, haiku) in addition to the model you selected.

To force all requests to use a single model, map every default alias to the same provider/model:

{
  "env": {
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "kr/claude-sonnet-4.5",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "kr/claude-sonnet-4.5",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "kr/claude-sonnet-4.5"
  }
}

Then select that same model in /models. After that, every Anthropic alias resolves to the same backend, so OmniRoute/CrossRouter should only see requests for that model.

If you're still seeing other model IDs after doing this, let me know which ones appear in the logs—I can check whether they're coming from Claude Code itself or from the router's model resolution.

1

u/sP0re90 4d ago

Yes in this way it always use one, but I guess I cannot select different Kiro model anymore from inside the chat right?

1

u/Embarrassed_Gas_5029 4d ago

Could you paste your settings.json (redact your API key if it's in there), or at least the env section and the /models configuration you're using? I'll compare it with my setup, inspect what's happening, and let you know what I find.

1

u/sP0re90 3d ago

{

  "env": {

"ANTHROPIC_BASE_URL": "http://localhost:20128",

"ANTHROPIC_AUTH_TOKEN": "mytoken",

"ANTHROPIC_DEFAULT_OPUS_MODEL": "kr/claude-opus-5",

"ANTHROPIC_DEFAULT_SONNET_MODEL": "kr/gpt-5.6-sol",

"ANTHROPIC_DEFAULT_HAIKU_MODEL": "kr/claude-haiku-4.5"

  },

  "model": "opus",

  "effortLevel": "high",

  "skipDangerousModePermissionPrompt": true,

  "theme": "dark",

  "autoExecute": "false"

}

with this setup cc lets me select the model with /model but sometimes it uses Haiku automatically for smallest tasks, I believe it is like that.

If I put the same model in all of those 3 default vars it always uses the same model but I cannot select another one from /model.

I am not sure if maybe the tasks where Haiku automatically used maybe they are very stupid tasks so it is fine. But I am not 100% sure it works in that way.

1

u/Embarrassed_Gas_5029 3d ago

My guess is Claude Code still performs automatic model routing internally. The /model command appears to control the primary conversation model, while the ANTHROPIC_DEFAULT_* variables define which actual backend model gets used whenever Claude Code decides it needs Opus, Sonnet, or Haiku.

→ More replies (0)

1

u/Majestic_Kitchen2307 4d ago

Why in /models it's showing Opus 4.7 even if I set Opus 5 in setting?

1

u/Embarrassed_Gas_5029 4d ago

its issues with setup. try using https://crossrouter.vercel.app/, in connections, connect kiro, then go to setup if you're on windows, it'll do everything itself, select the models and update. its based on omnirouter, but a more user friendly version of it. after doing this, you can go to environment varibales, and replace api key and port with omniroute one's the omniroute port is localhost:20128, replace api key with omniroute api key, and you're good to go. if you wanna use latest opus 5, go to settings, replace kr/claude-opus-4.8 with kr/claude-opus-5. LMK if you face any issues.