SAM Doctor

ERROR REFERENCE

Deploy this changeset? [y/N] (interactive prompt in CI)

sam deploy stopped at its interactive confirmation step inside a pipeline that has no keyboard. The job either hangs until the runner times out, or dies immediately with Aborted! when stdin is closed. The deployment itself was never attempted.

WHAT IT MEANS

What this error means

Guided deploys (sam deploy --guided) write confirm_changeset = true into samconfig.toml, which is right for a laptop and wrong for CI. The prompt is a feature — a human checkpoint — showing up in a place where no human is present.

FIX

How to fix it

  1. Pass the flag in the pipeline:
    sam deploy --no-confirm-changeset
  2. Or persist it for the CI config environment:
    # samconfig.toml
    [default.deploy.parameters]
    confirm_changeset = false
    Keeping a separate config environment for CI lets laptops keep the prompt.
  3. Move the human checkpoint where CI can express it. If the prompt was doing real approval work, a protected GitHub environment with required reviewers is the pipeline-native equivalent - the job pauses for a person without a terminal prompt.

AUTOMATE THE TRIAGE

Diagnose this automatically

SAM Doctor recognizes the prompt and the abort (medium confidence) in captured CI logs, where a hang's cause is otherwise invisible. Runs locally; no AWS access, no log upload.

python -m pip install sam-doctor
sam-doctor diagnose deployment.log --format markdown

RELATED