TTY input fails over SSH with SIGTTIN (regression in v0.71.0+)
Resolved 💬 6 comments Opened Jan 20, 2026 by dongdongbh Closed Jan 30, 2026
💡 Likely answer: A maintainer (etraut-openai, contributor)
responded on this thread — see the highlighted reply below.
What version of Codex is running?
0.87.0
What subscription do you have?
plus
Which model were you using?
gpt-5.2-codex
What platform is your computer?
Linux 5.4.0-65-generic x86_64 x86_64
What terminal emulator and version are you using (if applicable)?
alacrity
What issue are you seeing?
Codex CLI fails to read keyboard input over SSH, immediately suspending with SIGTTIN (exit code 149). The TUI displays but immediately returns to shell with zsh: suspended (tty input) and a leaked escape sequence character [.
What steps can reproduce the bug?
- SSH to a remote Linux server (Ubuntu 20.04, kernel 5.4.0-65-generic x86_64)
- Shell: zsh, TERM: alacritty or xterm-256color
- Run
codex - TUI appears briefly, then immediately suspends with no user input
$ codex
╭──────────────────────────────────────────────────╮
│ >_ OpenAI Codex (v0.87.0) │
│ ... │
╰──────────────────────────────────────────────────╯
› %
[
zsh: suspended (tty input) codex
$ echo $?
149 # 128 + 21 = SIGTTIN
<img width="1778" height="789" alt="Image" src="https://github.com/user-attachments/assets/6f284ae9-087a-4b4f-84c7-054d1c4d36df" />
What is the expected behavior?
Codex TUI should accept keyboard input normally over SSH, as it does in v0.6.1 and earlier.
Additional information
- v0.60.1: works ✓
- v0.70.1+: broken ✗
- Claude Code and Gemini CLI work fine on the same setup
- Workarounds attempted (none worked for v0.71.0+):
script -q /dev/null -c codexprintf '\e[?2004l'(disable bracketed paste)- Running outside tmux
- Environment: SSH to Ubuntu 20.04, NFS home directory, zsh
Showing cached comments. Read the full discussion on GitHub ↗
5 Comments
You mentioned version 0.7.0 and 0.6.1. Those don't correspond to Codex CLI version numbers. Can you clarify?
I tested that 0.71.0 and 0.75.0 do not work, but 0.60.1 works.
Those versions are pretty old at this point. We haven't received other reports of this problem. Do you have any non-default settings in your config.toml?
cat ~/.codex/config.toml
Root cause identified:
shell_snapshot = truein config causes the TTY issue.Disabling this feature resolves the problem on v0.87.0.
Likely a race condition or process group issue when
shell_snapshot spawns a subprocess over SSH.