Skip to content

[Bug]: Ctrl+C during upgrade doctor does not abort the installer #82304

Description

@SebTardif

Problem

When running curl -fsSL https://openclaw.ai/install.sh | bash on an upgrade, the installer runs openclaw doctor interactively. Doctor may reveal many skills with missing requirements (1password CLI, ffmpeg, jq, etc.). The user naturally wants to press Ctrl+C to abort, install those dependencies, and re-run later.

But Ctrl+C does not work:

  1. @clack/prompts inside openclaw doctor catches SIGINT and treats it as "No" -- doctor exits 0, not 130
  2. The install script has no trap ... INT -- only trap ... EXIT for temp file cleanup
  3. The && doctor_ok=1 pattern prevents bash's cooperative SIGINT exit
  4. should_open_dashboard is set to true before the interactive section, so the script continues to open a browser to http://127.0.0.1:18789/ which may be dead

The user pressed Ctrl+C to abort, but instead gets a browser tab to a dead address.

Expected behavior

Ctrl+C at any point during the installer should cleanly exit with temp file cleanup and a clear "Installation interrupted" message.

Affected file

scripts/install.sh

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:crash-loopCrash, hang, restart loop, or process-level availability failure.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions