Fix gum multi-select TTY access issue

Fixed subprocess call to allow gum direct terminal access for interactive UI.

Problem:
- capture_output=True was preventing gum from accessing the TTY
- Gum needs stdin/stderr connected to terminal for interactive display
- Error: "could not open a new TTY: open /dev/tty"

Solution:
- Changed from capture_output=True to explicit stdout=PIPE
- Set stdin=None and stderr=None to allow direct terminal access
- Gum can now properly display interactive selection menu

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
rpriven 2025-10-31 23:50:12 -06:00
parent 52f654dd32
commit a210803453
Signed by: djedi
GPG key ID: D04DED574622EF45

View file

@ -188,9 +188,12 @@ def gum_multi_select(
return []
try:
# gum needs direct terminal access - don't redirect stdin/stderr
result = subprocess.run(
['gum', 'choose', '--no-limit', '--header', header] + options,
capture_output=True,
stdout=subprocess.PIPE,
stderr=None, # Let stderr go to terminal
stdin=None, # Let gum access the terminal directly
text=True,
timeout=300 # 5 minute timeout
)