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 摘要。