kiro-gateway is a free, open source api development & testing project written in Python and released under AGPL-3.0. It has 2,281 GitHub stars, 552 forks and 103 open issues, and was last pushed 4 months ago. On this registry it ranks #74 of 103 tracked projects in API Development & Testing, with 5 head-to-head comparisons available.

What is kiro-gateway?

Kiro Gateway is an open-source proxy API gateway that turns the Claude and other models available inside Kiro IDE and Kiro CLI (Amazon Q Developer / AWS CodeWhisperer) into OpenAI- and Anthropic-compatible API endpoints, for developers who want to reach those models from any client.

What it is

Kiro Gateway is a Python project, built on FastAPI, that sits between a client application and the Kiro API. It speaks the OpenAI API format and provides a native Anthropic /v1/messages endpoint, so a client that already supports either protocol can be pointed at the gateway instead of at a commercial API provider. The gateway handles authentication against Kiro, refreshes tokens automatically before they expire, and normalizes model names such as claude-sonnet-4-5, claude-sonnet-4.5, and claude-sonnet-4-5-20250929 into a single resolvable identifier.

The concrete problem it solves is that the models bundled with Kiro IDE and CLI โ€” Claude Sonnet 4.5, Claude Haiku 4.5, Claude Sonnet 4, GLM-5, DeepSeek-V3.2, MiniMax M2.5, MiniMax M2.1, and Qwen3-Coder-Next โ€” are normally reachable only from those Kiro clients. Kiro Gateway replaces the need to work inside the Kiro client by exposing the same model access over HTTP in formats the wider tool ecosystem already understands.

Key capabilities

  • OpenAI-compatible API plus a native Anthropic /v1/messages endpoint, so both protocol families connect without an adapter layer.
  • Multi-account support with intelligent failover between multiple accounts.
  • Extended thinking, described in the README as reasoning exclusive to the project.
  • Vision support for sending images to a model, and web search for current information.
  • Tool calling (function calling), full message history, and full SSE streaming.
  • Retry logic on errors 403, 429, and 5xx, with automatic retries.
  • Smart token management that refreshes credentials before expiration, plus HTTP/SOCKS5 proxy support for restricted networks.

Who uses it and how

  • Developers who run Claude Code, OpenCode, OpenClaw, Claw Code, Codex app, Cursor, Cline, Roo Code, Kilo Code, Continue, or Obsidian and want to point those tools at Kiro.
  • Teams building on the OpenAI SDK or LangChain, which target the gateway through the OpenAI-compatible surface.
  • Users on the Kiro free tier, where Sonnet 4.5, Haiku 4.5, and Sonnet 4 are commonly available.
  • Deployments on restricted networks, where HTTP/SOCKS5 proxy support allows outbound access.
  • Anyone needing several Kiro accounts behind one endpoint, using the built-in failover.

Getting started

Clone the repository and choose either native Python deployment on Python 3.10+ or Docker deployment, both documented in the Quick Start. Either path requires a logged-in Kiro IDE account or Kiro CLI with AWS SSO (AWS IAM Identity Center, OIDC), using a free Builder ID or a corporate account.

How it compares

No comparable tool is named in the available facts, so Kiro Gateway stands alone in this registry. It is not contrasted with any paid product here because none is listed.

When to use it โ€” and when not to

A self-hoster must operate the gateway service itself, as a Python process or a Docker container, and must hold a working Kiro IDE or Kiro CLI identity. Model availability tracks the Kiro tier โ€” Claude Opus 4.5 was removed from the free tier on January 17, 2026 โ€” so anyone who needs that model should not assume it is reachable. The repository carries 103 open issues, and anyone unwilling to depend on an unofficial bridge to Kiro's API, or unable to obtain a Kiro account, should not pick it.

project readme (upstream, from github) โ€” read inline

๐Ÿ‘ป Kiro Gateway

Proxy gateway for Kiro API (Amazon Q Developer / AWS CodeWhisperer)

๐Ÿ‡ฌ๐Ÿ‡ง English โ€ข ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน โ€ข ๐Ÿ‡จ๐Ÿ‡ณ ไธญๆ–‡ โ€ข ๐Ÿ‡ช๐Ÿ‡ธ Espaรฑol โ€ข ๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia โ€ข ๐Ÿ‡ง๐Ÿ‡ท Portuguรชs โ€ข ๐Ÿ‡ฏ๐Ÿ‡ต ๆ—ฅๆœฌ่ชž โ€ข ๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด

Made with โค๏ธ by @Jwadow

License: AGPL v3 Python 3.10+ FastAPI Sponsor

Use Claude models from Kiro with Claude Code, OpenCode, OpenClaw, Claw Code, Codex app, Cursor, Cline, Roo Code, Kilo Code, Obsidian, OpenAI SDK, LangChain, Continue and other OpenAI or Anthropic compatible tools

Models โ€ข Features โ€ข Quick Start โ€ข Configuration โ€ข ๐Ÿ’– Sponsor


๐Ÿค– Available Models (Free List)

โš ๏ธ Important: Model availability depends on your Kiro tier (free/paid). The gateway provides access to whatever models are available in your IDE or CLI based on your subscription. The list below shows models commonly available on the free tier.

๐Ÿ”’ Claude Opus 4.5 was removed from the free tier on January 17, 2026. It may be available on paid tiers โ€” check your IDE/CLI model list.

๐Ÿš€ Claude Sonnet 4.5 โ€” Balanced performance. Great for coding, writing, and general-purpose tasks.

โšก Claude Haiku 4.5 โ€” Lightning fast. Perfect for quick responses, simple tasks, and chat.

๐Ÿ“ฆ Claude Sonnet 4 โ€” Previous generation. Still powerful and reliable for most use cases.

๐Ÿ’ค GLM-5 โ€” Open MoE model (744B params, 40B active). Advanced model for complex systems engineering and long-horizon agentic tasks.

๐Ÿ‹ DeepSeek-V3.2 โ€” Open MoE model (685B params, 37B active). Balanced performance for coding, reasoning, and general tasks.

๐Ÿงฉ MiniMax M2.5 โ€” Open MoE model (230B params, 10B active). Enhanced version with improved reasoning and task handling.

๐Ÿงฉ MiniMax M2.1 โ€” Open MoE model (230B params, 10B active). Great for complex tasks, planning, and multi-step workflows.

๐Ÿค– Qwen3-Coder-Next โ€” Open MoE model (80B params, 3B active). Coding-focused. Excellent for development and large projects.

๐Ÿ’ก Smart Model Resolution: Use any model name format โ€” claude-sonnet-4-5, claude-sonnet-4.5, or even versioned names like claude-sonnet-4-5-20250929. The gateway normalizes them automatically.


โœจ Features

Feature Description
๐Ÿ”Œ OpenAI-compatible API Works with any OpenAI-compatible tool
๐Ÿ”Œ Anthropic-compatible API Native /v1/messages endpoint
๐Ÿ”€ Multi-Account Support Intelligent failover between multiple accounts
๐ŸŒ VPN/Proxy Support HTTP/SOCKS5 proxy for restricted networks
๐Ÿง  Extended Thinking Reasoning is exclusive to our project
๐Ÿ‘๏ธ Vision Support Send images to model
๐Ÿ” Web Search Search the web for current information
๐Ÿ› ๏ธ Tool Calling Supports function calling
๐Ÿ’ฌ Full message history Passes complete conversation context
๐Ÿ“ก Streaming Full SSE streaming support
๐Ÿ”„ Retry Logic Automatic retries on errors (403, 429, 5xx)
๐Ÿ“‹ Extended model list Including versioned models
๐Ÿ” Smart token management Automatic refresh before expiration

๐Ÿš€ Quick Start

Choose your deployment method:

  • ๐Ÿ Native Python - Full control, easy debugging
  • ๐Ÿณ Docker - Isolated environment, easy deployment โ†’ jump to Docker

Prerequisites

  • Python 3.10+
  • One of the following:
    • Kiro IDE with logged in account, OR
    • Kiro CLI with AWS SSO (AWS IAM Identity Center, OIDC) - free Builder ID or corporate account

Installation

# Clone the repository (requires Git)
git clone https://github.com/Jwadow/kiro-gateway.git
cd kiro-gateway

# Or download ZIP: Code โ†’ Download ZIP โ†’ extract โ†’ open kiro-gateway folder

# Install dependencies
pip install -r requirements.txt

# Configure (see Configuration section)
cp .env.example .env
# Copy and edit .env with your credentials

# Start the server
python main.py

# Or with custom port (if 8000 is busy)
python main.py --port 9000

The server will be available at http://localhost:8000


โš™๏ธ Configuration

๐Ÿ’ก Advanced users: Looking for multi-account support? See Account System below.

Option 1: JSON Credentials File (Kiro IDE / Enterprise)

Specify the path to the credentials file:

Works with:

  • Kiro IDE (standard) - for personal accounts
  • Enterprise - for corporate accounts with SSO
KIRO_CREDS_FILE="~/.aws/sso/cache/kiro-auth-token.json"

# Password to protect YOUR proxy server (make up any secure string)
# You'll use this as api_key when connecting to your gateway
PROXY_API_KEY="my-super-secret-password-123"
๐Ÿ“„ JSON file format
{
  "accessToken": "eyJ...",
  "refreshToken": "eyJ...",
  "expiresAt": "2025-01-12T23:00:00.000Z",
  "profileArn": "arn:aws:codewhisperer:us-east-1:...",
  "region": "us-east-1",
  "clientIdHash": "abc123..."  // Optional: for corporate SSO setups
}

Note: If you have two JSON files in ~/.aws/sso/cache/ (e.g., kiro-auth-token.json and a file with a hash name), use kiro-auth-token.json in KIRO_CREDS_FILE. The gateway will automatically load the other file.

Option 2: Environment Variables (.env file)

Create a .env file in the project root:

# Required
REFRESH_TOKEN="your_kiro_refresh_token"

# Password to protect YOUR proxy server (make up any secure string)
PROXY_API_KEY="my-super-secret-password-123"

# Optional
PROFILE_ARN="arn:aws:codewhisperer:us-east-1:..."
KIRO_REGION="us-east-1"

Option 3: AWS SSO Credentials (kiro-cli / Enterprise)

If you use kiro-cli or Kiro IDE with AWS SSO (AWS IAM Identity Center), the gateway will automatically detect and use the appropriate authentication.

Works with both free Builder ID accounts and corporate accounts.

KIRO_CREDS_FILE="~/.aws/sso/cache/your-sso-cache-file.json"

# Password to protect YOUR proxy server
PROXY_API_KEY="my-super-secret-password-123"

# Note: PROFILE_ARN is NOT needed for AWS SSO (Builder ID and corporate accounts)
# The gateway will work without it
๐Ÿ“„ AWS SSO JSON file format

AWS SSO credentials files (from ~/.aws/sso/cache/) contain:

{
  "accessToken": "eyJ...",
  "refreshToken": "eyJ...",
  "expiresAt": "2025-01-12T23:00:00.000Z",
  "region": "us-east-1",
  "clientId": "...",
  "clientSecret": "..."
}

Note: AWS SSO (Builder ID and corporate accounts) users do NOT need profileArn. The gateway will work without it (if specified, it will be ignored).

๐Ÿ” How it works

The gateway automatically detects the authentication type based on the credentials file:

  • Kiro Desktop Auth (default): Used when clientId and clientSecret are NOT present

    • Endpoint: https://prod.{region}.auth.desktop.kiro.dev/refreshToken
  • AWS SSO (OIDC): Used when clientId and clientSecret ARE present

    • Endpoint: https://oidc.{region}.amazonaws.com/token

No additional configuration is needed โ€” just point to your credentials file!

Option 4: kiro-cli SQLite Database

If you use kiro-cli and prefer to use its SQLite database directly:

KIRO_CLI_DB_FILE="~/.local/share/kiro-cli/data.sqlite3"

# Password to protect YOUR proxy server
PROXY_API_KEY="my-super-secret-password-123"

# Note: PROFILE_ARN is NOT needed for AWS SSO (Builder ID and corporate accounts)
# The gateway will work without it
๐Ÿ“„ Database locations
CLI Tool Database Path
kiro-cli ~/.local/share/kiro-cli/data.sqlite3
amazon-q-developer-cli ~/.local/share/amazon-q/data.sqlite3

The gateway reads credentials from the auth_kv table which stores:

  • kirocli:odic:token or codewhisperer:odic:token โ€” access token, refresh token, expiration
  • kirocli:odic:device-registration or codewhisperer:odic:device-registration โ€” client ID and secret

Both key formats are supported for compatibility with different kiro-cli versions.

Getting Credentials

For Kiro IDE users:

  • Log in to Kiro IDE and use Option 1 above (JSON credentials file)
  • The credentials file is created automatically after login

For Kiro CLI users:

  • Log in

readme truncated โ€” read the full docs on github

Frequently asked questions

Is kiro-gateway free to use?

kiro-gateway is open source under the AGPL-3.0 licence. There is no licence fee and no seat count โ€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does kiro-gateway do?

๐Ÿ‘ป Proxy API gateway for Kiro IDE & CLI (Amazon Q Developer / AWS CodeWhisperer). Use free Claude models with any client.

What is kiro-gateway written in?

kiro-gateway is primarily written in Python. Its source is publicly available at https://github.com/jwadow/kiro-gateway, and it has 2,281 GitHub stars.