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:
parent
52f654dd32
commit
a210803453
1 changed files with 4 additions and 1 deletions
5
utils.py
5
utils.py
|
|
@ -188,9 +188,12 @@ def gum_multi_select(
|
||||||
return []
|
return []
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
# gum needs direct terminal access - don't redirect stdin/stderr
|
||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
['gum', 'choose', '--no-limit', '--header', header] + options,
|
['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,
|
text=True,
|
||||||
timeout=300 # 5 minute timeout
|
timeout=300 # 5 minute timeout
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue