Skip to content

CLI v5.81.32 (aios-cli) crashes at startup: duplicate 'doctor' command registration #26

Description

@fr3kchy

Bug

Fresh install from curl -fsSL https://agents.hyper.space/api/install | bash produces a CLI that crashes immediately on every invocation, before any argument parsing runs.

$ ~/.local/bin/hyperspace --version
/home/runner/work/p2pnetwork/p2pnetwork/apps/cli/release/sea-bundle.cjs:1763
          throw new Error(
          ^

Error: cannot add command 'doctor' as already have command 'doctor'
    at _Command._registerCommand (/home/runner/work/p2pnetwork/p2pnetwork/apps/cli/release/sea-bundle.cjs:1763:17)
    at _Command.command (/home/runner/work/p2pnetwork/p2pnetwork/apps/cli/release/sea-bundle.cjs:1358:14)
    at /home/runner/work/p2pnetwork/p2pnetwork/apps/cli/release/sea-bundle.cjs:474631:12
    at embedderRunCjs (node:internal/main/embedding:89:10)

Node.js v22.22.2

Same crash on aios-cli directly (same SEA bundle):

$ ~/.hyperspace/aios-cli start
... cannot add command 'doctor' as already have command 'doctor'

Affected

  • Asset: aios-cli-x86_64-unknown-linux-gnu.tar.gz
  • Reported version: 5.81.32 (per updater.log, latest at 2026-05-13)
  • Platform: Linux x86_64, kernel 6.19.13+parrot7-amd64
  • Node embedded: v22.22.2

Impact

100% install failure. CLI cannot start, so cannot join the network, cannot run pod, train, start, or anything else. Browser-only path is the sole remaining option until a fix ships.

Root cause (likely)

Commander.js is having .command('doctor', ...) registered twice in apps/cli/release/sea-bundle.cjs. Probably two source files independently declare a doctor subcommand and both end up imported. Since this is a static registration error at module load, no env/flag workaround exists.

Asks

  1. Patch the duplicate registration and re-publish aios-cli.
  2. Consider pinning previous-known-good versions on https://download.hyper.space/api/download?asset=...&version=... so operators can roll back when latest is broken — currently the download endpoint is latest-only.
  3. Add a smoke test in CI: aios-cli --version should exit 0 on the release tarball before publish.

Happy to test a fix on Linux x86_64 as soon as it's published.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions