Proxy server to use Kiro's Claude models with Claude Code CLI
npm install kiro-claude-proxyA proxy server that exposes an Anthropic-compatible API backed by Kiro's AWS CodeWhisperer, letting you use Claude models with Claude Code CLI or any Anthropic-compatible client.
```
┌──────────────────┐ ┌─────────────────────┐ ┌────────────────────────────┐
│ Claude Code │────▶│ This Proxy Server │────▶│ AWS CodeWhisperer │
│ (Anthropic │ │ (Anthropic → AWS │ │ (codewhisperer. │
│ API format) │ │ CodeWhisperer) │ │ us-east-1.amazonaws.com) │
└──────────────────┘ └─────────────────────┘ └────────────────────────────┘
1. Receives requests in Anthropic Messages API format
2. Uses OAuth tokens from Kiro CLI database
3. Transforms to AWS CodeWhisperer format
4. Sends to AWS CodeWhisperer API
5. Converts responses back to Anthropic format with full streaming support
- Node.js 18 or later
- Kiro CLI installed and authenticated (kiro auth)
---
`bashRun directly with npx (no install needed)
npx kiro-claude-proxy start
$3
`bash
git clone
cd kiro-claude-proxy
npm install
npm start
`---
Quick Start
$3
Make sure Kiro CLI is installed and authenticated:
`bash
kiro auth
`$3
`bash
If installed via npm
kiro-claude-proxy startIf using npx
npx kiro-claude-proxy startIf cloned locally
npm start
`The server runs on
http://localhost:8080 by default.$3
`bash
Health check
curl http://localhost:8080/healthList available models
curl http://localhost:8080/v1/models
`---
Using with Claude Code CLI
$3
Create or edit the Claude Code settings file:
macOS:
~/.claude/settings.json
Linux: ~/.claude/settings.json
Windows: %USERPROFILE%\.claude\settings.jsonAdd this configuration:
`json
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "dummy",
"ANTHROPIC_BASE_URL": "http://localhost:8080",
"ANTHROPIC_MODEL": "claude-opus-4-5",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-5",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5",
"CLAUDE_CODE_SUBAGENT_MODEL": "claude-sonnet-4-5"
}
}
`$3
Add the proxy settings to your shell profile:
macOS / Linux:
`bash
echo 'export ANTHROPIC_BASE_URL="http://localhost:8080"' >> ~/.zshrc
echo 'export ANTHROPIC_API_KEY="dummy"' >> ~/.zshrc
source ~/.zshrc
`> For Bash users, replace
~/.zshrc with ~/.bashrcWindows (PowerShell):
`powershell
Add-Content $PROFILE "n$env:ANTHROPIC_BASE_URL = 'http://localhost:8080'"
Add-Content $PROFILE "$env:ANTHROPIC_API_KEY = 'dummy'"Windows (Command Prompt):
`cmd
setx ANTHROPIC_BASE_URL "http://localhost:8080"
setx ANTHROPIC_API_KEY "dummy"
`Restart your terminal for changes to take effect.
$3
`bash
Make sure the proxy is running first
kiro-claude-proxy startIn another terminal, run Claude Code
claude
`---
Available Models
| Model ID | Description |
|----------|-------------|
|
claude-opus-4-5 | Claude Opus 4.5 |
| claude-sonnet-4-5 | Claude Sonnet 4.5 |
| claude-sonnet-4 | Claude Sonnet 4 |
| claude-haiku-4-5 | Claude Haiku 4.5 |
| auto | Let Kiro choose the best model |---
API Endpoints
| Endpoint | Method | Description |
|----------|--------|-------------|
|
/health | GET | Health check |
| /v1/messages | POST | Anthropic Messages API |
| /v1/models | GET | List available models |---
Troubleshooting
$3
Make sure Kiro CLI is installed and authenticated:
`bash
kiro auth
`$3
Ensure Kiro CLI is properly installed and has created its database. Try running any Kiro command first:
`bash
kiro --help
`$3
Your Kiro authentication may have expired. Re-authenticate:
`bash
kiro auth
`---
Development
$3
`bash
kiro-claude-proxy start --debug
`$3
-
PORT - Server port (default: 8080)
- DEBUG` - Enable debug logging (set to 'true')---
MIT
---
This project uses Kiro CLI's authentication system to access AWS CodeWhisperer models through an Anthropic-compatible API interface.