LocalStack LogoLocalStack Icon

5 LocalStack Features You're Probably Sleeping On (Even if You’re Only Using It for AWS)

LocalStack is evolving beyond AWS, but many of its most powerful features still focus on improving the AWS development experience. In this post, we highlight 5 AWS-centric features you might be missing that can speed up your local development, improve your testing, and help you build more resilient apps.

5 LocalStack Features You're Probably Sleeping On (Even if You’re Only Using It for AWS)

LocalStack has become a go-to tool for local AWS development, but that’s only part of the story. While LocalStack is expanding to support more cloud platforms, many developers still rely on it primarily for AWS. And even within the AWS ecosystem, there are features you might not be taking full advantage of.

If you’re only using LocalStack to spin up a few basic services, you’re missing out on some seriously useful capabilities that can save time, improve testing, and help build more resilient cloud apps.

Here are 5 AWS-focused features you may have overlooked:

1. Web UI for Instant Visibility

WebUI

Most developers start out using LocalStack from the CLI, but the Web UI (launch here) is an underrated superpower. It’s perfect for quick debugging and stack validation. Instead of digging through logs or awslocal commands, you can visually inspect:

  • Which AWS resources are running
  • Configurations of each service (e.g. API Gateway routes, Lambda triggers)
  • Directly invoke endpoints or test Lambda functions

Use Case:

You deploy an API Gateway and Lambda stack with LocalStack, but the endpoint keeps returning a 500. Instead of fumbling through CLI commands, you open the Web UI and quickly spot the issue. The Lambda isn’t triggering and the API route is misconfigured. A few quick changes and a manual test later, your stack is working as expected.

Resources

  • Go ahead. Pretend you were gonna read the docs

2. Hot Reload: Instant Lambda Updates

Hot Reload

When you’re developing Lambda functions, every small code change can turn into a slow feedback loop if you have to redeploy your whole stack.

LocalStack’s Lambda hot reloading feature allows you to update your Lambda function code locally, and see changes applied instantly, without redeploying or restarting your services.

Use Case:
You’re tweaking a Lambda function handler and want to quickly verify that a bug is fixed. Instead of packaging and redeploying the function, you can simply update your code file and LocalStack will detect the change and reload the function in real-time.

Resources

3. Chaos Engineering Tools

Chaos Eng

Testing how your app behaves when AWS services fail is tricky unless you simulate it locally. LocalStack’s built-in chaos engineering capabilities (launch here) let you inject faults into services like DynamoDB or S3 to proactively test resilience before you ship.

Here’s how it works:

Inject a failure into DynamoDB using the Chaos UI or CLI:

Terminal window
awslocal dynamodb create-table \
--table-name test-table \
--attribute-definitions AttributeName=id,AttributeType=S \
--key-schema AttributeName=id,KeyType=HASH \
--billing-mode PAY_PER_REQUEST

Then simulate a failure:

Terminal window
curl -X POST http://localhost:4566/_tools/chaos/failure \
-H "Content-Type: application/json" \
-d '{
"service": "dynamodb",
"operation": "PutItem",
"errorType": "InternalServerError"
}'

Use Case:
You want to know how your retry logic handles DynamoDB capacity errors. Instead of waiting for real production issues, you can simulate those faults locally, verify your fallback behavior works, and ship with confidence.

Resources

  • Feeling dangerously curious? This blog post. goes deeper.
  • Go ahead and check out the docstoo if you’re feeling froggy.

4. Cloud Pods for Portable Environments

Cloud Pods

Need to share a full snapshot of your local AWS stack with your team? Cloud Pods let you save, share, and restore complete environments. It’s a game changer for reproducibility, onboarding, and debugging hard-to-reproduce issues.

In the example below, we load a pod and test it locally:

Terminal window
.venvblkgrlcto@blkgrlctos-MacBook-Pro amazon-sqs-best-practices-cdk % localstack pod load event-workflow
Cloud Pod event-workflow successfully loaded
.venvblkgrlcto@blkgrlctos-MacBook-Pro amazon-sqs-best-practices-cdk % pytest
====================================================== test session starts ======================================================
platform darwin -- Python 3.13.2, pytest-8.4.1, pluggy-1.6.0
rootdir: /Users/blkgrlcto/amazon-sqs-best-practices-cdk
plugins: typeguard-2.13.3
collected 1 item
test_integration.py . [100%]
================================================= 1 passed, 4 warnings in 5.58s =================================================

Use Case:
Let’s say a teammate reports a bug that’s only happening in their stack. With Cloud Pods, they can snapshot their exact environment and share it with you. You can spin it up locally, reproduce the bug, and debug together. No more “works on my machine.”

Resources

  • The docs are standing by if you’re hungry for more!
  • If you’re looking for more hands-on learning check out this tutorial

5. Full Local Testing in CI

Testing cloud apps in CI often means dealing with credentials, costs, and throttling. With LocalStack Pro, you can fully emulate AWS services directly inside your CI pipelines, enabling fast, fully local integration tests with no AWS credentials required.

Here’s a simple example of a CI workflow that triggers tests to run as you push or pr to main :

name: Test on LocalStack
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
jobs:
localstack-test:
name: Deploy on LocalStack
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Install CDK and CDKLocal
run: |
npm install -g aws-cdk-local aws-cdk
cdklocal --version
- name: Start LocalStack
uses: LocalStack/setup-localstack@main
with:
image-tag: 'latest'
install-awslocal: true
use-pro: true
env:
LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }}
- name: Deploy CDK stack
run: |
cdklocal bootstrap
cdklocal deploy --require-approval never
- name: Run tests
env:
AWS_DEFAULT_REGION: us-east-1
AWS_REGION: us-east-1
AWS_ACCESS_KEY_ID: test
AWS_SECRET_ACCESS_KEY: test
run: |
pip3 install boto3 pytest
pytest --disable-warnings

Use Case:
You’re validating an end-to-end deployment pipeline with API Gateway, Lambda, and DynamoDB. Instead of spinning up real AWS resources for each PR, your CI can launch LocalStack, run full integration tests, and tear everything down reliably, quickly, and cost-free.

Resources

  • Here’s a guide to get you started.
  • If you’re into reading blog posts here’s a good one.

Wrap up:

Even as LocalStack broadens beyond AWS, many of its most mature and powerful features are still tightly focused on improving the AWS developer experience. If you’re not taking advantage of these capabilities yet, you’re leaving a lot of value on the table.

Try it free. Because breaking things locally is less embarrassing 🫠


Kiah Imani
Kiah Imani
DevRel at LocalStack
Kiah Imani is a Senior Dev Advocate at LocalStack, where she turns cloud chaos into clarity. She’s all about making AWS dev feel local, fun, and way less stressful.