Kiro: AWS's AI-Powered Development Environment

What is Kiro?

Kiro is AWS’s AI-powered integrated development environment and yet another fork of Visual Studio Code. There are however, some key capabilities and differences, that I’ll explain more about below. Announced at AWS re:Invent 2024 and released in mid July 2025, it’s presently accessed via a wait list sign up; an email will eventually arrive with the necessary code for access. You can sign up for the wait list here https://kiro.dev/downloads/

Built on the foundation of VS Code, Kiro extends this with native integration of Amazon Q, via the free AWS BulderId or paid Q developer subscription. Most of you I expect will want to use Q developer, as the free tokens associated with a vanilla sign up get burnt pretty quick (less than a day) and that’s it for the month. The platform has some interesting AI workflows and aims to eventually support multiple AI models (currently just anthropic claude sonnet 3.7 & 4). One of the key features for me is Model Context Protocol (MCP) integration; allowing you to extend the AI capabilities with custom tools and data sources into the agentic domain.

Unique functions.

The primary aims of Kiro include:

  • Contextual AI Assistance: Understanding entire codebases rather than just individual files
  • AWS-Native Development: Integration with AWS services and deployment patterns
  • Extensible AI Workflows: Support for custom AI tools through MCP integration
  • Autonomous Development: Ability to perform complex, multi-step development tasks with minimal human intervention
  • From Vibe coding to viable code: Create design specs to define objectives or just vibe a new app
  • Multiple context sessions: You can switch between locations and projects. The context is stored associated with the location, and appears to my observation so far to be exactly where it was left. You can also have different contexts for different tasks. Very cool…
Kiro IDE screenshot
Kiro creating this site

Managing Context Effectively

One of the biggest challenges when working with AI assistants like Kiro is context management.
At some point or another you’re going to encounter the inevitable Session Too Long message, which means context is exhausted and out of bounds.

Session Too Long
Kiro will do it's best to condense and summarize before starting a new chat session, but that typically occurs when you least want it to.
Here's some to-do I've found helpful to avoid the dreaded context limit:

Start Fresh When Needed

Don’t hesitate to start new conversations when switching between major tasks or when the context becomes cluttered. A clean slate often produces better results than trying to persist with an over grown conversation history.

Use Specific File References

Instead of pasting entire files into chat, use Kiro’s file reference system:

  • #File to reference specific files
  • #Folder to include entire directories
  • #Codebase to scan your indexed project

Leverage Steering Rules

Create steering documents in .kiro/steering/ to provide consistent context without consuming conversation tokens:

  • Project conventions and standards
  • Architecture patterns specific to your codebase
  • Common commands and workflows
  • Team-specific guidelines

Break Down Complex Tasks

Rather than asking Kiro to “build an entire feature,” break requests into logical steps:

  1. Design and planning phase
  2. Core implementation
  3. Testing and validation
  4. Documentation and cleanup

Use MCP Tools Strategically

Configure MCP tools for repetitive tasks that don’t require conversation context:

  • File operations and searches
  • AWS resource queries
  • Documentation lookups
  • Automated testing workflows

Context Hygiene Best Practices

  • Be explicit: Clearly state what you want rather than assuming context
  • Reference previous work: Use specific commit hashes or file versions when referring to earlier changes
  • Clean up regularly: Archive or delete old conversations that are no longer relevant
  • Use hooks: Set up automated workflows for routine tasks to preserve context for creative work

When Context Limits Hit

If you encounter context limits:

  1. Summarize the current state and goals
  2. Start a new conversation with the summary
  3. Use file references instead of inline code
  4. Consider breaking the task into smaller, independent pieces

The key to effective Kiro usage is treating it as a collaborative partner rather than a simple code completion or code vibing tool (even though you can vibe quite a way before exhausting your context). By managing context thoughtfully and leveraging the spec features, you can maintain productive AI-assisted development workflows even on complex projects. Adjusting the kiroAgent.trustedCommands allows for either fine grained or wildcard style commands that can be approved, to improve productivity and velocity. For any other task that is not approved, you’ll be prompted for approval or to trust. If you click trust, you’ll be further prompted with as many as 3 options of differing levels of trust. E.g. aws cloudformation *, or aws *, or the full end to end command. Presently at time of writing there are safe guards for piped commands and && style concatenation, that provide welcome reassurance that the development team have your back. With these built-in guardrails, security, compliance, and collaborative team features (subject for a future blog post), Kiro taps into an emerging niche that I expect the rest will soon follow.