SSH key password prompt doesn't appear when cloning repositories
Metadata
Current evaluation
SSH passphrase prompts during Git pulls are overwritten by transient progress output at brief/debug verbosity. A detailed reproducer exists, but the report remains untriaged with no verified fix.
Suggested action: needs triage
Reason: The report identifies revision 10607, exact verbosity flags, configuration, logs, and the passphrase prompt flashing before the `Pulling ...` line overwrites it, providing a concrete investigation path. It has no labels or maintainer response; the sole comment is an automated CRAFT-2496 Jira-sync notice, so ownership and behavior on the current revision remain unconfirmed.
Evaluated by: mr-cal-bot
Impact:
48
Quick Win:
16
Complexity:
57
Confidence:
86
Actionability:
77
Issue body
### Bug Description
Sometimes when pulling a part which may use SSH authentication to allow e.g. cloning a Git repository, the prompt to enter your SSH key's password to unlock it for authenticating doesn't appear and instead users see an endless `Pulling <part> :: ... | (xy.zs)`.
Note that this has only been observed to happen when `--verbosity=brief` or higher - I imagine this is related to a "recent" rework of how the command line printing functioned. The password prompt will appear for longer when using `brief` before disappearing; the prompt will persist for a good long while when using `quiet`.
### To Reproduce
Use an SSH key with a passphrase.
`snapcraft --use-lxd --bind-ssh --verbosity=verbose`
During the pull step enter the password to your SSH key and press enter, watch the build progress. Repeat twice and the build should succeed (vacuously, `nil` part).
### Environment
Observed with snapcraft revision 10607, though this has been seen on earlier revisions.
### snapcraft.yaml
```shell
name: my-snap-name # you probably want to 'snapcraft register <name>'
base: core22 # the base snap is the execution environment for this snap
version: '0.1' # just for humans, typically '1.2+git' or '1.3.2'
summary: Single-line elevator pitch for your amazing snap # 79 char long summary
description: |
This is my-snap's description. You have a paragraph or two to tell the
most important story about your snap. Keep it under 100 words though,
we live in tweetspace and your description wants to look good in the snap
store.
grade: devel # must be 'stable' to release into candidate/stable channels
confinement: devmode # use 'strict' once you have the right plugs and slots
parts:
matterhorn:
plugin: nil
source: https://github.com/matterhorn-chat/matterhorn
source-depth: 1
source-type: git
source-branch: 90000.0.0
```
### Relevant log output
```shell
dilyn@Ares:~/work/snaps/matterhorn-snap -> snapcraft --debug
# note this message -- it's strange, so I retry with --bind-ssh
The authenticity of host 'github.com (140.82.112.3)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names
Pulling matterhorn :: + craftctl default \ (199.2s) !
Pulling matterhorn :: + craftctl default | (216.6s) ^Interrupted.
Full execution log: '/home/dilyn/.local/state/snapcraft/log/snapcraft-20240213-222425.980668.log'
dilyn@Ares:~/work/snaps/matterhorn-snap -> snapcraft --debug --bind-ssh
Pulling matterhorn :: + craftctl default - (174.3s)
Pulling matterhorn :: + craftctl default \ (178.4s)
Pulling matterhorn :: + craftctl default | (182.1s)
Pulling matterhorn :: Downloading the latest package list from hackage.haskell.org - (6.8s)
```
Note the three instances of "Pulling ..." -- these appear because I hit <CR>. The prompt for my SSH key password briefly flashed on the line before being overwritten by this "Pulling ..." message. When I entered my passphrase, the pull progressed. It happens thrice because the example repository has two submodules which are also cloned.
Also strangely, doing this made it so that no new lines were printed and instead the last line was perpetually overwritten with any new information which would normally be added as a new line. For instance, the next few lines are what appear:
```
'override-pull' in part 'matterhorn' failed with code 1.
Review the scriptlet and make sure it's correct.
Launching shell on build environment...
```
As the build progressed but eventually errored due to something unrelated to this bug.
```
### Additional context
_No response_
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
48
Quick Win:
16
Complexity:
57
Confidence:
86
Actionability:
77
|
needs triage | SSH passphrase prompts during Git pulls are overwritten by transient progress output at brief/debug verbosity. A detailed reproducer exists, but the report remains untriaged with no verified fix. | |
| qwen/qwen3.6-35b-a3b |
Impact:
40
Quick Win:
18
Complexity:
40
Confidence:
70
Actionability:
75
|
needs triage | SSH key passphrase prompt is overwritten by progress output when using --verbosity=brief or higher during Git cloning. Issue remains untriaged after 949 days. | |
| qwen/qwen3.8-27b |
Impact:
40
Quick Win:
18
Staleness:
78
Complexity:
55
Confidence:
72
Support Request:
5
|
needs triage | SSH key passphrase prompt is overwritten by the 'Pulling' progress spinner during Git clone with brief verbosity. Untriaged, no maintainer response, inactive for ~18 months. Only a bot Jira-sync comment exists. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
35
Confidence:
85
Support Request:
15
|
close stale | SSH key passphrase prompts are overwritten by build progress messages during Git cloning, particularly with brief verbosity. Issue is untriaged and inactive for over two years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
88
Complexity:
40
Confidence:
80
Support Request:
10
|
close stale | Bug report describing SSH passphrase prompts being overwritten during repository pulls. Unlabelled with no maintainer interaction for over two years. |
Update history
No update history recorded yet.
Related issues
No related issues found above the similarity threshold.