pi-provider-kiro
pi extension for the Kiro API (AWS CodeWhisperer/Q) — 12 kiro-cli-verified models with OAuth authentication
Package details
Install pi-provider-kiro from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-provider-kiro- Package
pi-provider-kiro- Version
0.8.0- Published
- May 29, 2026
- Downloads
- 1,275/mo · 162/wk
- Author
- mobrienv
- License
- MIT
- Types
- extension
- Size
- 5.4 MB
- Dependencies
- 2 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./dist/index.js"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-provider-kiro
A pi provider extension that connects pi to the Kiro API (AWS CodeWhisperer/Q), exposing 12 kiro-cli-verified models through one provider surface.
Why this exists
Kiro gives you a strong free model menu, but pi needs a provider that speaks Kiro's auth, model catalog, and streaming protocol cleanly. pi-provider-kiro handles that bridge, including:
- AWS Builder ID, IAM Identity Center, Google, and GitHub login flows
- shared credentials from an existing
kiro-clisession when available - reasoning-aware streaming
- region-aware model filtering so pi only shows models your Kiro region can actually use
Quick start
Install the provider:
pi install npm:pi-provider-kiro
Or install it globally with npm:
npm install -g pi-provider-kiro
Then log in from pi:
/login kiro
The login flow supports:
- AWS Builder ID — native device-code flow, works well over SSH/remotes
- Your organization — IAM Identity Center start URL
- Google — social login via
kiro-cli - GitHub — social login via
kiro-cli
If you already use kiro-cli, the provider can reuse those credentials instead of forcing a second login.
Models
| Family | Models | Context | Reasoning |
|---|---|---|---|
| Claude Opus | claude-opus-4-7, claude-opus-4-6 |
1M | ✓ |
| Claude Sonnet 4.6 | claude-sonnet-4-6 |
1M | ✓ |
| Claude Sonnet 4.5 | claude-sonnet-4-5 |
200K | ✓ |
| Claude Sonnet 4 | claude-sonnet-4 |
200K | ✓ |
| Claude Haiku 4.5 | claude-haiku-4-5 |
200K | ✗ |
| DeepSeek 3.2 | deepseek-3-2 |
164K | ✓ |
| MiniMax | minimax-m2-1, minimax-m2-5 |
196K | ✗ |
| GLM 5 | glm-5 |
200K | ✓ |
| Qwen3 Coder | qwen3-coder-next |
256K | ✓ |
| Auto | auto |
1M | ✓ |
All listed models are free to use through Kiro.
Usage
Once logged in, select any Kiro model in pi:
/model claude-sonnet-4-6
Or let Kiro pick automatically:
/model auto
Reasoning is automatically enabled for supported models. Use /reasoning to adjust the thinking budget.
Retry Behavior
Generic transient retries such as HTTP 429 and 5xx are handled by pi-coding-agent at the session layer.
This provider only keeps local recovery for Kiro-specific cases:
403auth races, where it can refresh credentials fromkiro-cli- first-token / stalled-stream recovery
- empty-stream retries
- non-retryable Kiro body markers like
MONTHLY_REQUEST_COUNTandINSUFFICIENT_MODEL_CAPACITY
Development
npm run build # Compile TypeScript
npm run check # Type check (no emit)
npm test # Run the Vitest suite
npm run test:watch # Watch mode
Architecture
The extension is organized as one feature per file:
src/
├── index.ts # Extension registration
├── models.ts # 12 model definitions + ID resolution
├── oauth.ts # Multi-provider auth (Builder ID / Google / GitHub)
├── kiro-cli.ts # kiro-cli credential sharing
├── transform.ts # Message format conversion
├── history.ts # Conversation history management
├── thinking-parser.ts # Streaming <thinking> tag parser
├── event-parser.ts # Kiro stream event parser
└── stream.ts # Main streaming orchestrator
See AGENTS.md for detailed development guidance and .agents/summary/ for full architecture documentation.
License
MIT