Pseudo-terminal will not be allocated because stdin is not a terminal

I get this error when I am running git on a terminal on the machine (No ssh here!). I am running fish and alacritty. However, I get the same thing on xterm with either bash or zsh.

√ (main|βœ“); git pull
Pseudo-terminal will not be allocated because stdin is not a terminal.
Already up to date.

Do you have any idea what could cause this? :thinking:

More debugging:

βœ“ ; w
 11:18:34 up  1:32,  2 users,  load average: 1.01, 0.71, 0.59
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
yg       tty2      09:57    1:31m  3:22   2:14  awesome
yg                 09:57   37:04   0.00s  0.58s /usr/lib/systemd/systemd --user
βœ“ ; who
yg       seat0        2025-06-09 09:57
yg       tty2         2025-06-09 09:57
βœ“ ;  exec bash
bash-libs on ξ‚  main
√ git pull
Pseudo-terminal will not be allocated because stdin is not a terminal.
Already up to date.

bash-libs on ξ‚  main
√ ps -p $$
    PID TTY          TIME CMD
  72185 pts/5    00:00:00 bash

bash-libs on ξ‚  main
√ tty
/dev/pts/5

Β―\_(ツ)_/Β―

Strange, the search engines give me the information that you should use ssh with the -t (-tt) option to create such a pseudo terminal.

Have a look if you have in the git config some ssh access.

It couls also be an open connection which causes this error.
To debugh check here Fix: Pseudo-terminal will not be allocated because stdin is not a terminal

I tried removing ~/.gitconfig, no change in behaviour.

However, it only happens in repos which have remote set as git@… and not in those with https…. Thus, it could be some ssh/sshd shenanigans. :enraged_face:

By all the forgotten Eldritch gods!

In .ssh/config, I had the following:

RequestTTY yes

Changing it to

RequestTTY auto

Resolved the problem.

2 Likes