Skip to content

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

@fr3kchy

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions