Skip to content

npx github:bradygaster/squad appears to hang when no SSH agent is running #30

@dnoriegagoodwin

Description

@dnoriegagoodwin

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 --version

Expected: 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/squad

This lets the passphrase prompt display cleanly.

Option 2 — Start SSH agent first:

eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ed25519
npx github:bradygaster/squad

This 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    go:yesTriage verdict: researched, planned, ready to buildrelease:v0.4.0Targeted for v0.4.0type:bugBug report

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions