Pasting long strings into chat inserts extra newline characters, corrupting the content
- 主要語言
- Shell
- 星號
- 11.2k
- 分支
- 1.9k
- 平均合併
- 14 小時 16 分鐘
- 30 天內合併 PR
- 6
描述
### Describe the bug
_No response_
### Affected version
GitHub Copilot CLI v1.0.40
### Steps to reproduce the behavior
Steps to reproduce:
1. Ask Copilot CLI: "Generate a random 264-character base64 string and print it back"
OR paste a known string: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlUxc1g4WUZIUzdaNlZsN1ZITEl6VGVqYnZqMCIsImtpZCI6IlUxc1g4WUZIUzdaNlZsN1ZITEl6VGVqYnZqMCJ9.eyJzdWIiOiJ0ZXN0LXVzZXIiLCJhdWQiOiJo
dHRwczovL2V4YW1wbGUuY29tLyIsImV4cCI6OTk5OTk5OTk5OX0.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2. Copy generated string and paste back to copilot
3. Ask to count length
4. Compare: original=264, returned=265
### Expected behavior
String returned unchanged, length = 264
### Additional context
OS: macOS
- Terminal: Terminal.app (confirmed: no tmux, echo $TMUX is empty)
- Shell: zsh
- CPU: Apple Silicon (ARM)
- The bug caused a real-world debugging loop: identical JWT Bearer token
worked in Postman (200 OK) but failed when pasted through Copilot CLI
chat (401 Unauthorized) because \n was silently inserted into the token,
corrupting the Authorization header.
- Workaround: save token to file via pbpaste > /tmp/token.txt and
read with $(cat /tmp/token.txt) instead of pasting through chat.
貢獻指南
研究方向
Start by reproducing the paste-and-count flow in GitHub Copilot CLI v1.0.40 using macOS Terminal.app and zsh, comparing the original and returned string lengths. Trace the CLI's chat input handling for pasted multiline or long strings; done means a 264-character string is returned unchanged without an inserted newline.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- shell, zsh
- 領域
- cli
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100