github / github/copilot-cli

Copilot CLI uses Unix-only commands on Windows

Open
#2,981 0 comments 0 reactions 0 assignees View on GitHub
area:platform-windows area:tools
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

### Describe the bug

While running on Windows PowerShell, Copilot piped output to `head -900`, a Unix command that does not exist in PowerShell. The command failed with: "The term 'head' is not recognized as a name of a cmdlet, function, script file, or executable program." Copilot had access to the environment context indicating Windows_NT as the OS, yet still generated a Unix-style command. The equivalent PowerShell would be `Select-Object -First 900`

### Affected version

GitHub Copilot CLI 1.0.36

### Steps to reproduce the behavior

Repro Steps:
1. Open Copilot CLI on a Windows machine running PowerShell 7
2. Provide a task that involves processing a large file (e.g., a 1.8MB
JSON file over 150 records
3. Ask Copilot to extract and display a subset of the data
4. Observe the generated shell command.

### Expected behavior

Copilot should detect the OS, Windows_NT is provided in environment, and use PowerShell commands. For example, to limit output to 900 lines, it should something along the lines of: `| Select-Object -First 900`

Instead, Copilot generated the command: `python -c "..." 2>&1 | head -900`

This failed with:"The term 'head' is not recognized as a name of a cmdlet, function, script file, or executable program."

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.