Skip to main content
Pulumi logo Pulumi logo
  1. Docs
  2. Secrets & Configuration
  3. Guides
  4. Migrate from the ESC CLI

Migrate from the ESC CLI to pulumi env

    The standalone Pulumi ESC CLI (esc) retired. v0.26.0 is its final release, the pulumi/esc repository is archived, and the code now lives in pulumi/pulumi.

    Every ESC command is available in the Pulumi CLI under the pulumi env sub-command, and has been since ESC’s first release. If you are already using the Pulumi CLI, nothing changes for you. If you have the standalone esc binary installed, this guide shows you how to switch.

    What changed

    The standalone binary no longer receives updates. New ESC features ship in the Pulumi CLI only, so a workflow pinned to esc will drift further behind with each release.

    Nothing changes in Pulumi Cloud. Your environments, values, versions, and access controls are unaffected — this is a change to how you invoke ESC from your terminal, not to ESC itself.

    Command mapping

    The mapping is mechanical:

    Standalone ESC CLIPulumi CLI
    esc env <command>pulumi env <command>
    esc env lspulumi env ls
    esc env open <env>pulumi env open <env>
    esc env run <env> -- <cmd>pulumi env run <env> -- <cmd>
    esc open <env>pulumi env open <env>
    esc run <env> -- <cmd>pulumi env run <env> -- <cmd>
    esc loginpulumi login
    esc logoutpulumi logout
    esc versionpulumi version

    Two details are worth calling out:

    • esc open and esc run were top-level shortcuts for esc env open and esc env run. Both forms map to the same pulumi env command, so esc open and esc env open both become pulumi env open.
    • login, logout, and version are Pulumi CLI commands, not pulumi env commands. esc login becomes pulumi login, not pulumi env login.

    Everything else — like edit or get — keeps its name under pulumi env. See the pulumi env reference for the full surface.

    Migrate your setup

    1. Install the Pulumi CLI if you don’t already have it, or upgrade an existing install to pick up the latest ESC features.

    2. Confirm ESC is available:

      pulumi env ls
      

      You should see the environments you had access to through esc.

    3. Update your scripts, CI pipelines, and documentation using the mapping above.

    4. Remove the standalone binary once nothing references it. If you installed it with Homebrew, run brew uninstall pulumi/tap/esc. If you installed it with the get.pulumi.com/esc script, delete the esc binary from ~/.pulumi/bin.

    Authentication

    In most cases you do not need to log in again. Both CLIs use the same credential store, so pulumi env picks up your existing pulumi login session automatically. Run pulumi env ls to confirm you see the environments you expect.

    If you deliberately kept esc pointed at a different account or backend than pulumi, that separation goes away — run pulumi login for the account you want pulumi env to use.

    PULUMI_ACCESS_TOKEN works the same way in both, which means CI pipelines that set it need no credential changes — only the command names change.

    Next steps

      The infrastructure as code platform for any cloud.