Skip to content

LocalStack image requires authentication from March 23, 2026 #387

@HarshCasper

Description

@HarshCasper

Hey folks 👋

I'm Harsh from the LocalStack team. Wanted to flag an upcoming change that will directly affect users of the LocalStack integration in lambda-tools.

What's changing: Starting March 23, 2026, localstack/localstack:latest on Docker Hub will consolidate into a single unified image that requires authentication via a LOCALSTACK_AUTH_TOKEN. The free Community image, as it exists today, will no longer be available under that tag without an auth token set.

What this means for this repo:

src/localstack.ts defines:

const LOCALSTACK_IMAGE = 'localstack/localstack';

and resolves the full image at runtime as ${LOCALSTACK_IMAGE}:${versionTag}. Any user who calls getConnection() or localStackHooks() after March 23 without a LOCALSTACK_AUTH_TOKEN set will hit an authentication error and the container will fail to start.

The places most likely to need updating:

  • src/localstack.ts — the getConnection and localStackHooks functions should forward LOCALSTACK_AUTH_TOKEN from process.env to the container's environment
  • README / docs — auth token setup should be listed as a prerequisite

What users will need to do:

  1. Sign up for a free LocalStack account at localstack.cloud
  2. Generate an auth token from the LocalStack Web App
  3. Set LOCALSTACK_AUTH_TOKEN as an environment variable when starting the container

With lambda-tools, this could be handled by updating the container creation in getConnection to pass through the token:

import { getConnection } from '@lifeomic/lambda-tools';

// Ensure LOCALSTACK_AUTH_TOKEN is set in process.env before calling this
const { clients, teardown } = await getConnection({
  services: ['s3', 'sqs'],
});

The good news: A free tier is staying. CI credits are now unlimited on all plans, including free, and open-source projects can apply for free access to paid plans.

Full details in our announcements:

Happy to help with any doc updates, review PRs, or answer questions. Let us know if there's anything we can do to make this transition easier — and thanks for maintaining lambda-tools! 🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions