-
Notifications
You must be signed in to change notification settings - Fork 61
Description
Summary
npx github:bradygaster/squad appears to hang indefinitely when the user has no active SSH agent. The npm progress spinner overwrites the SSH passphrase prompt, making it invisible.
Root Cause
npm resolves github:bradygaster/squad to git+ssh://git@github.com/bradygaster/squad.git. When no SSH agent is available, git prompts for the key passphrase on the TTY. npm's progress spinner animation characters (⠙⠹⠸⠼...) overwrite the prompt, so the user sees what looks like a frozen spinner instead of a password request.
This happens at the npm/npx transport layer — Squad's index.js never executes.
Reproduction
# Simulate missing SSH agent (unset the socket)
env -u SSH_AUTH_SOCK npx github:bradygaster/squad --versionExpected: SSH passphrase prompt is visible and answerable
Actual: Spinner buries the prompt — output looks like:
⠙⠹⠸⠼⠴⠦⠧⠇⠏⠋Enter passphrase for key '/home/user/.ssh/id_ed25519': ⠙⠹⠸⠼⠴⠦⠧⠇⠏⠋⠙⠹⠸...
Workarounds
Option 1 — Disable npm spinner:
npx --progress=false github:bradygaster/squadThis lets the passphrase prompt display cleanly.
Option 2 — Start SSH agent first:
eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ed25519
npx github:bradygaster/squadThis loads the key into memory so git never prompts.
Proposed Fix
Document the SSH agent requirement and --progress=false workaround in the README (Known Limitations and Install sections). The underlying issue is in npm's TTY handling, not in Squad code.