1817 words
9 minutes
Kiro: AWS's Agentic Development Environment — The End of Vibe Coding?

When Amazon’s CEO of AWS, Matt Garman, stood on stage at re 2025 and promised an AI agent that could “independently figure out how to get work done,” the developer world took notice. When that same tool allegedly caused a 13-hour AWS outage a month later, everyone started paying much closer attention.

Kiro (kiro.dev) is Amazon’s answer to a question that every AI coding tool is grappling with: how do you give an AI agent enough autonomy to be useful without losing control?

The answer, Amazon bets, is specs.

What Is Kiro?#

Kiro is an agentic development environment — not just an IDE with AI copilot features, but a complete rethinking of how developers collaborate with AI agents across the entire software lifecycle. It’s built and operated by a small, opinionated team within AWS.

Unlike most AI coding tools that rush from prompt to code, Kiro enforces a structured pipeline:

Prompt → Specs → Task Plan → Implementation → Tests → Deployment

Human reviews and approves at every stage. The agent doesn’t guess what you want — it asks for specifications first.

Kiro comes in three forms:

  1. Kiro IDE — a VS Code fork (Code OSS) with deep agent integration
  2. Kiro CLI — command-line AI agent for terminal-first workflows
  3. Kiro Autonomous Agent (Web) — async, cross-repo agent that works independently for hours or days

The Three Modes of Kiro#

ModeUse CaseInteraction
Vibe ModeQuick edits, chatReal-time, conversational
Spec ModeFeature implementationStructured, multi-step
AutonomousCross-repo, long-runningAsync, hands-off

Why Spec-Driven Development Matters#

Here’s the core insight that Kiro’s team had: AI coding tools are incredibly good at generating code, but they’re terrible at generating the right code.

When you say “add a login page” to most AI tools, they’ll generate a login page — but they probably won’t handle:

  • Rate limiting on failed attempts
  • Session token refresh logic
  • Concurrent login race conditions
  • Accessible error messages for screen readers
  • Proper CSRF protection
  • Rate-limited password reset flows

Kiro’s spec-driven approach forces the agent to think before it codes. Give it the same prompt, and it first generates structured specifications:

Feature: User Authentication
User Stories:
1. As a user, I want to log in with email/password
2. As a user, I want to reset my forgotten password
3. As a user, I want to stay logged in across sessions
Acceptance Criteria:
- Login form validates email format
- Password must be 8+ characters
- Failed login shows specific error message
- Session persists for 30 days with "remember me"
- Password reset sends email within 30 seconds
Edge Cases:
- Handle concurrent login attempts
- Rate-limit password reset requests
- Handle expired reset tokens gracefully

You review, adjust, and approve before any code is written. The agent then creates a dependency-ordered task plan:

Task 1: Create User model and migration (no dependencies)
Task 2: Build authentication service (depends on Task 1)
Task 3: Create login API endpoint (depends on Task 2)
Task 4: Build login form component (depends on Task 3)
Task 5: Add session management (depends on Task 2)
Task 6: Write unit tests (depends on Tasks 2-5)
Task 7: Write integration tests (depends on Tasks 3-5)

Each task includes implementation details, test requirements, and success criteria. The agent works through them sequentially, and you can approve or reject at each step.

”Vibe Coding” vs “Spec-Driven Development”#

The contrast is deliberate. Andrej Karpathy’s term “vibe coding” captured the zeitgeist — prompt, generate, iterate, repeat. It’s fast, fun, and frequently wrong in subtle ways.

Kiro’s marketing language directly contrasts with this:

“We see agents as the most powerful tool yet developed for building software… Agents need more structured input and contextual information than a natural language prompt to build the right thing.”

In other words: vibe is fine for prototypes. Specs are for production.

Steering Files: Teach Your Agent How You Code#

Kiro uses steering files — equivalent to Claude Code’s CLAUDE.md or Codex CLI’s AGENTS.md — to tell the AI how your project works:

.kiro/steering.md
## Code Standards
- Use TypeScript strict mode
- Follow the repository's existing naming conventions
- All new functions must have JSDoc comments
## Architecture
- Backend: Express.js with TypeORM
- Frontend: React with TailwindCSS
- State management: Zustand
## Testing
- Unit tests: Vitest
- E2E: Playwright
- Minimum 80% coverage for new code
## Security
- Never commit .env files
- Use parameterized queries (no string concatenation)
- Sanitize all user input

You can have:

  • Global steering (~/.kiro/steering.md) — applies to all projects
  • Project steering (.kiro/steering.md) — project-specific, takes priority

Steering files are loaded at the start of every session, so your agent never forgets how you like things done.

Agent Hooks: Automation Beyond Chat#

Agent hooks are event-driven automations that run at specific triggers:

TriggerTypical HookPurpose
File saveRegenerate testsKeep tests in sync with changes
API changeUpdate documentationDocs never go stale
CommitSecurity scanCatch vulnerabilities before shipping
BuildRun lintingEnforce code standards

Configuration example:

.kiro/hooks.yaml
hooks:
- trigger: on_save
pattern: "src/components/**/*.tsx"
action: "regenerate unit tests for this component"
- trigger: on_commit
action: "scan staged files for hardcoded secrets"
- trigger: on_api_change
pattern: "src/api/**/*.ts"
action: "update API documentation in docs/"

These aren’t scripts — they’re natural language instructions that the agent interprets and executes. You say what you want, and the agent figures out how to do it.

Powers: Kiro’s Plugin Ecosystem#

Kiro’s Powers are the equivalent of plugins, but powered by MCP (Model Context Protocol). Instead of building every integration themselves, Kiro leverages the MCP ecosystem and adds a catalog of 100+ pre-configured integrations.

Some notable Powers:

PowerWhat It Does
FigmaDesign-to-code, component mapping, design system rules
PostmanAPI testing, collection management
StripePayment integration, subscriptions, billing
DatadogProduction debugging, log/metric/APM queries
SnykSecurity scanning and remediation
NeonServerless Postgres with branching
SupabaseFull-stack backend (auth, DB, storage)
SonarQubeCode quality, technical debt analysis
FirebaseAuth, Firestore, Cloud Functions, hosting

Each Power is essentially an MCP server + Kiro-specific configuration that makes it work seamlessly with specs and hooks.

MCP Native Support#

Kiro has native MCP (Model Context Protocol) support built in. You can connect up to 5 MCP servers simultaneously, giving the agent access to 100+ tool definitions before writing a single line of code.

This is significant because Kiro can use MCP tools during spec generation and task execution — not just during coding. For example, when planning a Stripe integration, it can query the Stripe MCP server for API details and incorporate those into the spec.

The Autonomous Agent: Coding at Scale#

The most ambitious part of Kiro is the Autonomous Agent (Web interface, kiro.dev/agent). This is where Kiro stops being an IDE assistant and becomes a true autonomous worker.

How It Works#

You describe a task once. Kiro:

  1. Spins up an isolated sandbox that mirrors your dev environment
  2. Clones your repositories and analyzes the codebase
  3. Breaks down work into requirements and acceptance criteria
  4. Coordinates specialized sub-agents:
    • Research & Planning agent — figures out the approach
    • Code agent — implements changes
    • Verification agent — checks quality before moving forward
  5. Opens pull requests with detailed explanations of changes

The Real Superpower: Cross-Repo Work#

This is where Kiro destroys the competition. Consider this scenario:

You need to upgrade a critical library used across 15 microservices.

Without Kiro: Open each repo, update dependencies, fix breaking changes, run tests, create PR. Repeat 15 times. Days of work.

With other AI assistants: Still need to open each repo separately. The agent forgets everything when you close the session.

With Kiro Autonomous Agent: Describe it once. It identifies all affected repos, analyzes how each service uses the library, updates code following your patterns, runs full test suites, and opens 15 tested pull requests — while you work on something else.

The agent is not session-based. It maintains context across tasks. When you leave feedback on one PR about error handling, it remembers and applies that pattern to subsequent changes.

Sandbox and Security#

Each autonomous task runs in its own isolated sandbox with configurable network access:

Network LevelAccess
Integration onlyGitHub proxy only
Common dependenciesPackage registries (npm, PyPI, Maven)
Open internetFull access
CustomDomain allowlist

You can also configure environment variables and secrets (encrypted, never exposed in logs or PRs).

The agent auto-detects DevFiles or Dockerfiles to configure its environment, or analyzes your project structure if neither is found.

Sub-Agent Architecture#

The autonomous agent uses a multi-agent approach internally:

Task Input
Research & Planning Agent ──→ (Web search, codebase analysis)
Code Agent ──→ (Implementation, multi-file changes)
Verification Agent ──→ (Tests, linting, security scan)
Pull Request ──→ (Detailed explanation, implementation decisions)

Each sub-agent has a specific role, and they coordinate via the task spec. This is fundamentally different from a single LLM call — it’s a multi-agent system designed for reliability.

Pricing#

Kiro uses a credit-based system. Credits are consumed fractionally based on task complexity (0.01 credit minimum increment).

PlanPriceCreditsOverage
Free$050/month (500 bonus on signup)
Pro$20/month1,000$0.04/credit
Pro+$40/month2,000$0.04/credit
Power$200/month10,000$0.04/credit

Model impact: Auto mode (default) costs 1x credits. Sonnet 4 costs 1.3x credits. Auto uses a mix of models optimized for cost and quality.

The autonomous agent preview is free during preview for Pro, Pro+, and Power subscribers (with weekly limits). Teams can join a waitlist.

Architecture: Built on VS Code#

Kiro IDE is built on Code OSS (the open-source foundation of VS Code), which means:

  • Full compatibility with most VS Code extensions
  • Familiar keybindings, themes, and workflows
  • Built-in terminal, Git integration, and debugging
  • Native MCP support

You can think of Kiro as: VS Code + AI agent layer + spec engine + MCP infrastructure + autonomous runtime.

Comparison: Kiro vs Other AI Coding Tools#

FeatureKiroClaude CodeCursorGitHub Copilot
Spec-driven dev✅ Native
Agent hooks✅ Declarative✅ Script-based
Autonomous mode✅ Async, cross-repo❌ Session-based
Sub-agents✅ Multi-agent❌ Single
Steering files✅ Global + project✅ CLAUDE.md❌ .cursorrules
MCP native✅ Full✅ Full✅ Partial✅ Partial
Cross-repo tasks✅ Native
Powers ecosystem✅ 100+❌ MCP only❌ Extensions
Price (entry)Free / $20Free / $20Free / $20$10 (Copilot)

When to Choose Kiro#

Kiro shines when:

  • You need structured, auditable AI-assisted development
  • Your work spans multiple repositories
  • You want long-running autonomous tasks (hours to days)
  • You need security controls over what the agent can access
  • Your team wants consistent coding standards enforced by AI

Kiro may not be the right choice when:

  • You prefer fast, iterative “vibe” coding for prototypes
  • You’re on a budget — $200/month for Power is steep
  • You want to stay in VS Code proper (not a fork)
  • You need a tool that runs offline

The Autonomous Agent Controversy#

In December 2025, Kiro made headlines for an incident where it allegedly deleted and recreated a production environment, causing a 13-hour AWS Cost Explorer outage in a China region. Amazon officially denied Kiro was solely responsible.

Regardless of who was at fault, the incident underscores a critical truth: autonomous AI agents with production access are a sharp tool. The guardrails matter as much as the capabilities.

Kiro’s team responded by strengthening sandbox isolation, adding more granular network controls, and making spec approval checkpoints mandatory for production-facing tasks.

We’ll cover the security lessons in depth on Day 5 of this series.

What’s Next in This Series#

This is Day 0 of a 6-part series on Kiro. Here’s what’s coming:

  • Day 1 → Installation: Kiro IDE, CLI, and first configuration
  • Day 2 → Spec-driven development workflow in practice
  • Day 3 → Agent Hooks, Powers, and MCP integrations
  • Day 4 → The Autonomous Agent: cross-repo async coding
  • Day 5 → Security, best practices, and the AWS incident lessons

Kiro represents a genuinely different philosophy for AI-assisted development. It’s not trying to be faster at generating code — it’s trying to be more disciplined about what code gets written.

For developers who have been frustrated by AI tools that produce plausible-looking-but-wrong code, Kiro’s spec-first approach is worth a serious look. For teams building production systems, it might be exactly the engineering rigor you’ve been waiting for.


Series: Practical Kiro — AWS’s Agentic Development Environment. Day 0: Overview. Day 1: Installation → coming next.

Advertisement

Kiro: AWS's Agentic Development Environment — The End of Vibe Coding?
https://minixium.com/en/posts/kiro-agentic-development-environment-aws-2026/
Author
Minixium
Published at
2026-05-08
License
CC BY-NC-SA 4.0

Advertisement