github / github/copilot-cli

Viewing local GIF files crashes/ruins the CLI session

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

描述

## Bug Description

Viewing (or referencing) a local GIF file in a Copilot CLI session causes the session to become unresponsive or enter an unrecoverable error state.

## Steps to Reproduce

1. Start a Copilot CLI session
2. Ask Copilot to view or reference a local `.gif` file (e.g. `view` tool on a GIF attachment)
3. The session becomes stuck — high CPU usage, excessive memory consumption, and no further interaction is possible

## Observed Behavior

- The `view` tool attempts to base64-encode the entire GIF file (including all animation frames) and inject it into the conversation context
- For animated GIFs, this produces a massive base64 payload that either:
- Floods the context window, leaving no room for model reasoning
- Triggers an error loop that the session cannot recover from
- The stuck process consumes ~36% CPU and ~957 MB RAM indefinitely
- The only recovery is to `kill` the process manually

## Expected Behavior

- The CLI should detect animated GIF files and either:
- Extract and display only the first frame
- Return file metadata (size, dimensions, frame count) without dumping the full base64 payload
- Reject the file with a helpful message (e.g. "Animated GIFs are not supported, use a static image format")
- Large image files in general should have a size guard to prevent context flooding

## Environment

- **Copilot CLI version:** 1.0.10 (confirmed), likely also affects 1.0.15
- **OS:** macOS (Darwin, Apple Silicon)
- **GIF file sizes tested:** ~240 KB and larger (wiki attachments)

## Workarounds

- Avoid using `view` on `.gif` files
- Use `ls -lh file.gif` or `file file.gif` to inspect GIF files safely
- Convert GIFs to single-frame PNG before viewing: `ffmpeg -i file.gif -frames:v 1 frame.png`

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

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

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