AWS Emulator is a local program that operates as an endpoint for AWS APIs and has no GUI. By specifying the emulator as the connection destination for the AWS CLI or AWS SDK through environment variables, it can be used without changing any code. It was built from 438 AWS API models and supports interfaces for hundreds of services. However, the extent to which it is implemented varies by service and operation. A “fidelity” score indicating how closely it behaves like AWS is published on GitHub for each release. The test suite used for validation has also been published in a separate repository, “aws-emulator-evaluation-suite.”

 Intended uses include local testing, running integration tests in CI/CD pipelines without using an AWS account or resources, and prototyping applications for AWS with AI coding agents. For AI coding agents, an “aws-emulator” skill is also provided to handle installing, launching, and connecting to the emulator.

 On Linux, it can be installed from x86_64 or aarch64 RPM or Debian packages. On macOS and Windows, build the image using the project’s Dockerfile and run it with Docker. The source code is published on GitHub under the CC0 license. GitHub

Fixes are consolidated and revalidated, and only code that passes all checks is released. Distribution binaries are built and published on GitHub as well. (Image: AWS)

 It is not intended for use in production environments. IAM policies and resource-based policies are not evaluated in the same way as in AWS, so we urge that it not be used for security testing. All resources are held in memory and disappear when the emulator is stopped.

 According to Matthew Goldberg, the senior principal engineer at AWS who led its development, AWS Emulator began as a weekend experiment. The inspiration was an Anthropic researcher’s demonstration earlier this year of building a C compiler using only AI agents. Goldberg instructed Kiro, AWS’s AI development environment, to perform three stages of work: write a test based on the AWS CLI, modify the test until it succeeded in an actual AWS environment, and create an in-memory implementation that passed the test. The first one, “Amazon SQS,” reportedly took about 15 minutes to complete.

 Three types of agent teams are now developing in parallel: a team that creates tests from API models and validates them against actual AWS, a team that runs those tests in the emulator and reports bugs, and a team that fixes the reported bugs. Hundreds of agents operate simultaneously and are said to fix thousands of issues per day. The human development team writes no code whatsoever and does not review it either. The emulator is updated many times a day.

Three agent teams developing AWS Emulator. They divide responsibility for creating tests, finding bugs, and fixing them. (Image: AWS)
(empty)