Kiro Rolls Out New IDE Features For Smarter Spec-Based Coding

Kiro launches new features including property-based testing, checkpoints, a new CLI and team plans, expanding its spec-driven AI development capabilities for builders.

author-image
SMEStreet Edit Desk
New Update
Kiro Programming- 2
Listen to this article
0.75x1x1.5x
00:00/ 00:00

Since launching Kiro in preview in July, we've seen strong adoption of Specs as a structured way to build with AI. We were the first to bring spec-driven development to AI coding tools, and the broader industry has recognized its value—planning is the right way to do work with AI agents.

Over the past months, we've added capabilities like remote MCP, global steering files, dev server support, our Auto agent, and making specs more flexible with optional tasks.

Today at general availability, we are releasing a set of brand new capabilities: 1/ property-based testing for spec correctness (which measures whether your code actually matches what you specified); 2/ new way to checkpoint your progress on Kiro; 3/ a new Kiro CLI bringing agents to your terminal and; 4/ team plans with a simple way to manage them centrally.

Kiro IDE

The new version of Kiro IDE introduces three new capabilities.

Measuring “spec correctness” with property-based tests

There's a fundamental problem with AI code generation: how do you know the code actually does what you specified? Traditional unit tests only check specific examples. Worse, whoever writes the tests (human or AI) is limited by their own biases—they have to think of all the different, specific scenarios to test the code against, and they'll miss edge cases they didn't think of. AI models often “game” the solution by modifying tests instead of fixing code, or go in endless loops to fix the issues.

Property-based testing (PBT) addresses this by measuring whether your code matches the behavior you defined in your Spec. Instead of testing specific examples, Kiro goes into your project’s specifications and extracts properties that represent how the system should generally behave, then tests against them.

What is a property? A property is a universal statement: for any set of inputs, such that certain preconditions hold, some predicate (expected behavior) is true. For example: "For any authenticated user and any active listing, the user can view that listing."

How it works: Kiro helps you write specifications using EARS format (e.g., "THE System SHALL allow authenticated users to view active car listings"). Kiro extracts properties from these requirements, determines which can be logically tested, then generates hundreds or thousands of random test cases to check your code. For example, if you’re building a car sales app:

  • Traditional unit test approach: User adds Car #5 to favorites, Car #5 appears in their list
  • Property-based test approach: For any user and any car listing, WHEN the user adds the car to favorites, THE System SHALL display that car in their favorites list. PBT then automatically tests this with User A adding Car #1, User B adding Car #500, User C adding multiple cars, users with special characters in usernames, cars with various statuses (new, used, certified), and hundreds more combinations, catching edge cases and verifying that implementation matches your intent.

Throughout this process, PBT probes to find counter-examples through a technique called "shrinking"—almost like a ‘red team’ trying to break your code. When it finds violations or counter-examples, Kiro can automatically update your implementation, or surface options for you to fix the Spec, implementation, or PBT itself.

Why this matters: While PBTs are not verification or proof, they provide evidence for correctness across scenarios you'd never write manually—showing whether your implementation actually behaves according to what you defined. 

Rewind changes with checkpointing

You can now go back to a previous change in your agent execution flow. Kiro generates a checkpoint every time the agent makes a change or takes an action. You can roll back any number of steps without losing progress. This comes in handy when you're far along in implementing a task and don't want to lose your progress or spend credits redoing work.

Kiro Coding