pi-provider-kiro

pi extension for the Kiro API (AWS CodeWhisperer/Q) — 12 kiro-cli-verified models with OAuth authentication

Packages

Package details

extension

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-cli session 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:

  • 403 auth races, where it can refresh credentials from kiro-cli
  • first-token / stalled-stream recovery
  • empty-stream retries
  • non-retryable Kiro body markers like MONTHLY_REQUEST_COUNT and INSUFFICIENT_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