github / github/copilot-cli

Support Interactive TTY Mode for `!` Shell Command Execution

未關閉
#907 0 則留言 3 個 reaction 已指派 0 人 在 GitHub 檢視
area:tools
主要語言
Shell
星號
11.2k
分支
1.9k
平均合併
14 小時 16 分鐘
30 天內合併 PR
6

描述

### Describe the feature or problem you'd like to solve

When using `!` to directly execute bash commands in Copilot CLI, interactive commands (like git log, less, vim) dump all output at once instead of allowing user interaction. Users cannot scroll, navigate, or interact with pagers/editors as they would in a normal terminal.

### Proposed solution

Enable TTY pass-through for commands executed via the `!` prefix, allowing interactive programs to function normally. This would:

- Allow pagers (less, more, git log) to be navigated with keyboard controls
- Support interactive editors (vim, nano) when invoked
- Preserve the same terminal experience users expect from their shell

### Example prompts or workflows

- `!git log` - Navigate commit history with j/k keys, search with /, quit with q
- `!less README.md` - Scroll through file contents interactively
- `!git diff` - Page through diffs instead of having them dumped to screen
- `!top` or `!htop` - View live-updating system monitors
- `!man git` - Read man pages with normal pager navigation

### Additional context

Currently, running `!git log` outputs the entire log history at once, making it difficult to read and navigate. Users must exit the CLI to run interactive commands normally, breaking their workflow.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。