Skip to content

CLI fails to start after brew upgrade removes the pinned Homebrew Node keg #446

Open

Description

@yujiachen-y

Description

After running brew upgrade on macOS with a Homebrew-managed Node.js, the MiniMax Code CLI fails to start with an error like:

sh: /opt/homebrew/Cellar/node/26.7.0/bin/node: not found   (exit 127)

Reproduction

  1. macOS with Node installed via Homebrew (/opt/homebrew/bin/node resolving into Cellar/node/<version>/bin/node).
  2. Install MiniMax Code with the official install script (curl installer) while that Node version is active. The install receipt (~/.minimax-code/install.json) and the versioned launchers record the resolved Cellar path.
  3. Run brew upgrade (or brew upgrade node), which removes the old versioned Cellar keg.
  4. Run mcode. The launcher execs the removed Cellar path and fails with "not found"; there is no self-healing path from inside the CLI.

Expected behavior

  • Launchers keep working across Homebrew Node upgrades, for example by pinning the formula-managed stable path (<brew>/opt/node/bin/node) instead of the versioned keg.
  • In-app updates migrate existing receipts that already recorded a Cellar path, so installs heal on their next update.
  • When the pinned Node is missing, the launcher prints a repair hint pointing at rerunning the installer.

Environment

  • macOS (Homebrew on /opt/homebrew; Intel Homebrew and Linuxbrew layouts are equally affected)
  • Node installed via Homebrew
  • MiniMax Code installed via the official install script

Fix in progress: #445 (TUI update side: receipt migration to the opt path, repair hint, startup diagnostics). Installer-side recording of the stable path ships with the installer release process.

Activity

  1. hetaoBackend commented on Oct 9, 2026

    @hetaoBackend
    Collaborator

    Tracking status:

    • TUI / in-app update fix: #445 (Cellar → opt/<formula>/bin/node migration on update, repair hint when the pinned Node is missing). Nearly ready; one small path-regex nit left before approval.
    • Installer (fresh install / reinstall): #457 — record the stable Homebrew opt path so reinstalls after brew upgrade do not pin Cellar again.

    Workaround today: re-run the official installer after a Homebrew Node upgrade. After #445 ships, an in-app update will also heal existing receipts that still start.

  2. added
    cliStandalone mcode: TUI, headless, ACP and source builds/tooling
    on Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcliStandalone mcode: TUI, headless, ACP and source builds/tooling

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions