Amazon recently previewed Kiro, a new AI-driven integrated development environment (IDE) that aims to reshape how developers build software. Kiro is a fork of Code OSS, which is the open-source core of Visual Studio Code, but with a focus on supporting development workflows driven by formal specifications. Unlike many other AWS tools, Kiro is designed to stand apart from the core AWS ecosystem, targeting a broad range of developers across platforms.
What Is Kiro?
Kiro is a standalone IDE developed and operated by a small, focused team within AWS. Although it’s an AWS product, it can be used without an AWS account — users can log in with Google or GitHub instead. This separation from AWS core services reflects a strategic decision to give Kiro a unique identity that appeals to developers working on different platforms and cloud environments.
Kiro is currently in preview and free to use during this phase. After the preview period, AWS will offer several pricing tiers:
- Free tier: 50 agentic interactions per month
- Pro: $19 per user/month for 1,000 interactions
- Pro+: $39 per user/month for 3,000 interactions
- Additional interactions are charged at $0.04 each.
An “interaction” refers to one AI-driven exchange, which can be quite extensive—potentially involving several minutes of continuous AI work on generating or iterating code.
What Makes Kiro Different?
The standout feature of Kiro is its specification-driven workflow. Instead of just writing code directly or using chat-based AI coding assistance, Kiro encourages developers to create structured specifications in markdown files:
requirements.md
design.md
tasks.md
These files serve as the backbone for the AI’s work and the project’s development.
Using Structured Specifications
The requirements.md
file follows the EARS (Easy Approach to Requirements Syntax) method, a formalized way of writing clear, constrained requirements originally developed at Rolls Royce. This helps reduce ambiguity and maintain clarity in what the project needs to achieve.
The design.md
file outlines the technical architecture and technology stack for the project—defining how the application should be built.
The tasks.md
file breaks down the implementation into actionable steps, guiding development from start to deployment.
This approach allows Kiro to manage projects in segments. For example, an ecommerce application might have separate specifications for user authentication, product catalog management, and shopping cart functionality. This modular method keeps projects organized and makes collaboration easier.
Steering Files and MCP Servers
In addition to specs, Kiro supports “steering” files that define coding standards such as naming conventions, project structure, and tech stack preferences. These files help ensure consistency in generated code.
Kiro also integrates with MCP servers — configurations are managed via JSON files to support more complex backend workflows.
Agent Hooks for Automation
One innovative feature of Kiro is agent hooks: automated AI-driven actions triggered by file events like creation, save, or deletion. These hooks can be customized by describing desired behavior — for instance, generating tests automatically or scanning code for security issues when files are updated.
This gives developers a powerful way to automate routine tasks without losing control over the process.
Testing Kiro: A Practical Example
To see Kiro in action, we described a volunteer rota management application without specifying any technology preferences. Using Claude Sonnet 4.0 as the default large language model (LLM), Kiro quickly generated detailed specification documents covering:
- React frontend
- Node.js/Express backend
- PostgreSQL database
It went further by specifying Material-UI components for UI styling, React Router for navigation, Prisma ORM for database access, Jest for testing—all implemented in TypeScript.
Kiro also produced 20 distinct tasks, each with multiple steps. The first task—setting up the initial project—completed smoothly. However, initializing the database introduced some issues when connecting to PostgreSQL and running Prisma’s dev server. Instead of fixing the error directly, Kiro generated a README file explaining database setup instructions.
While some manual steps remain necessary, the amount of work Kiro accomplished in just minutes would have otherwise taken days. Importantly, the output was not tied specifically to AWS services—the deployment setup used Docker containers that could run in various environments.
Human Developers Still Needed
Nathan Peck, AWS developer advocate for AI, emphasized that Kiro is not meant to replace human software engineers but to save them significant time by handling repetitive or boilerplate tasks. “Current LLMs still need a human SDE [software development engineer] in the loop,” Peck said.
AWS CEO Matt Garman described Kiro as “an agentic IDE that gets developers from prototype to production with the structure that production-ready code requires.” The specification documents provide a shared reference point for both AI and human developers throughout the project lifecycle.
Challenges Ahead: Spec Synchronization and Security
One potential challenge with Kiro’s approach is maintaining alignment between specifications and the actual state of the codebase as projects evolve. Peck acknowledged that specifications are mostly static documents now and can become out of sync with ongoing changes—something that will require attention if Kiro is to handle long-term projects effectively.
Security is another concern. By default, Kiro installs in Autopilot mode, where it can make code changes automatically. This mode speeds up workflows but might raise trust issues for some users. Alternatively, Supervised mode requires manual approval before any changes are applied.
Even in Autopilot mode, critical actions such as installing npm packages or running potentially risky commands prompt user approval. Users can also configure allow lists for automatic approval of safe commands.
Language Support and Ecosystem Considerations
Kiro supports multiple programming languages but targets TypeScript/JavaScript, Python, and Java most directly. .NET developers face some limitations since Kiro uses the Open VSX extension registry, which excludes Microsoft’s proprietary C# extensions available in VS Code.
Some developers have expressed a preference for a CLI version of Kiro independent of any IDE. Peck noted there is room for such a version but argued IDEs offer advantages because they provide more tools and integration options out of the box.
Positioning in a Crowded Market
The AI coding assistant market is crowded with products from established players like GitHub Copilot, Amazon CodeWhisperer, and several startups. What sets Kiro apart is its spec-driven methodology, which promotes more organized and manageable AI-generated codebases rather than ad hoc snippets or chat responses.
By coupling AI capabilities with formal requirements and design documents, Kiro offers a more structured path from idea to production-ready code—helping teams maintain clarity and control amid increasingly complex development processes.
Conclusion
Amazon’s Kiro introduces an interesting twist on AI-powered coding by grounding development workflows in formal specifications. Its unique identity outside core AWS services allows it to appeal broadly across developer communities. While still early and requiring human oversight, Kiro shows promise for significantly speeding up software development while maintaining order through carefully crafted specs.
As this tool matures beyond preview, its success will depend on how well it handles evolving specs, integrates into existing workflows, and addresses trust concerns around automation modes. For now, Kiro stands as a distinctive option worth watching in the evolving world of AI-assisted programming.