Where does the bug appear (feature/product)?
Cursor CLI
Describe the Bug
Interactive cursor-agent in Konsole shows an approval/question box, then the TTY appears frozen: no visible keyboard input, Ctrl+C has no effect. Ctrl+Z
suspends the job; after fg, the UI is still unresponsive. kill -INT <pid> from another shell is required to recover.
Steps to Reproduce
- Run
cursor-agentinteractively in Konsole. - Trigger a tool/action that requires approval (question box UI).
- Try to answer with keyboard — no visible response.
- Press Ctrl+C — process does not exit.
- Press Ctrl+Z — job stops, bash prompt returns.
- Run
fg— agent redraws but keyboard still unresponsive. - From another terminal:
kill -INT <cursor-agent-pid>then in original tabstty sane && reset.
Expected Behavior
- Approval prompt accepts Enter/arrows/y/n.
- Ctrl+C cancels prompt or exits agent.
- After SIGTSTP/SIGCONT, TTY and stdin work again.
Screenshots / Screen Recordings
Operating System
Linux
Version Information
About Cursor CLI
CLI Version 2026.05.05-84a231c
Model Auto
Subscription Tier Enterprise
OS linux (x64)
Terminal konsole
Shell bash
Additional Information
Environment
- CLI:
cursor-agent about→ 2026.05.05-84a231c - OS: Linux (Fedora 43), Konsole, bash
- Config:
approvalMode: "allowlist"(approval prompts expected)
Runtime evidence (while stuck)
stty -a -F /dev/pts/N # N = agent tty
# shows: -isig -icanon -echo
ps -o pid,stat,tty -p <pid>
# e.g. Rl+ or Sl+ on pts/N, cursor-agent foreground (TPGID = agent pid)
Ctrl+C sends byte 0x03 to the app, not SIGINT, because isig is off. Workaround: kill -INT %1 while job is stopped, or cursor-agent --force /
"approvalMode": "unrestricted" to avoid the prompt.
Possible cause
Ink/Node TUI raw-mode terminal setup does not restore sane TTY on suspend/resume; approval UI may stop reading stdin after SIGCONT while still holding the
PTY with -isig.
Attach cursor-agent about output and, if possible, a screenshot of the question box.
$ pgrep -af cursor-agent
20121 /home/user/.local/bin/cursor-agent --use-system-ca /home/user/.local/share/cursor-agent/versions/2026.05.05-84a231c/index.js
$ stty -a -F /dev/pts/1
speed 38400 baud; rows 71; columns 156; line = 0;
intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
Does this stop you from using Cursor
No - Cursor works, but with this issue
