github / github/copilot-cli

Built-in view reports Path does not exist for existing files in 1.0.73; 1.0.71 succeeds

Aperta
#4,202 5 commenti 1 reazione 0 assegnatari Vedi su GitHub
area:non-interactive area:tools
Lingua principale
Shell
Stelle
11.2k
Fork
1.9k
Merge medio
14h 16m
PR unite (30g)
6

Descrizione

## Description

The built-in `view` tool reports `Path does not exist` for an existing text file with Copilot CLI 1.0.73. The same isolated Vally/Copilot SDK probe succeeds consistently with CLI 1.0.71.

This appears to have started in 1.0.72 and remains present in 1.0.73.

## Controlled reproduction

The probe uses:

- Official public npm packages `@github/copilot@1.0.71` and `@github/copilot@1.0.73`
- `@microsoft/vally-cli@0.7.0`
- The Copilot SDK's supported `COPILOT_CLI_PATH` override, pointing to each package's platform `index.js`
- The same model, prompt, skill, marker file, and grader for both versions

Minimal skill:

```markdown
---
name: view-probe
description: Verify that Copilot can read a staged text file with its built-in view tool.
---

1. Use the built-in `view` tool exactly once to read `references/marker.txt`.
2. Do not use another file-reading tool.
3. Reply with the exact marker value.
```

`references/marker.txt`:

```text
VIEW_PROBE_MARKER_8A4F21
```

The skill is staged into the agent workspace, and the prompt invokes it. Each version was run three times.

## Results

| Copilot CLI | Result | `view` outcome |
|---|---:|---|
| 1.0.71 | 3/3 passed | Returned `VIEW_PROBE_MARKER_8A4F21` |
| 1.0.73 | 0/3 passed | `Path does not exist` |

A final one-trial run preserved both workspaces. Immediately after each run, the exact absolute path supplied to `view` existed:

```text
Copilot CLI 1.0.71
FileExists: true
tool.execution_complete.success: true
result: VIEW_PROBE_MARKER_8A4F21

Copilot CLI 1.0.73
FileExists: true
tool.execution_complete.success: false
error: Path does not exist
```

Sanitized failing event:

```json
{
"type": "tool.execution_start",
"data": {
"toolName": "view",
"arguments": {
"path": "C:\\probe\\workspace\\skill\\references\\marker.txt"
}
}
}
{
"type": "tool.execution_complete",
"data": {
"success": false,
"error": {
"message": "Path does not exist",
"code": "failure"
}
}
}
```

## Additional CI evidence

We also observed the version transition on GitHub-hosted Ubuntu runners:

- CLI 1.0.71: 175 of 208 `view` calls succeeded.
- CLI 1.0.72: all 193 observed `view` calls failed with `Path does not exist`.
- CLI 1.0.73: all three captured `view` calls in another run failed with the same error.

The affected paths were accessible in the same agent sessions through `glob`, PowerShell `Get-ChildItem`, and `Get-Content`.

## Expected behavior

`view` should return the contents of an existing readable file, as it does in 1.0.71.

## Impact

Agents cannot read staged skill references and other workspace files. They may improvise without the reference, retry with additional tools, exceed turn/tool/token budgets, or produce incorrect results. This causes broad false failures in automated evaluations.

## Environment

- Copilot CLI: 1.0.71 (working), 1.0.72/1.0.73 (affected)
- Copilot SDK: 1.0.6
- Vally CLI: 0.7.0
- Controlled reproduction: Windows x64
- Additional observations: GitHub-hosted Ubuntu runners
- Model: `claude-sonnet-4.6`

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia dal punto di ingresso `view` integrato e dall’`index.js` della piattaforma selezionato tramite `COPILOT_CLI_PATH`, quindi confronta la gestione dei percorsi in CLI 1.0.71 e 1.0.73 usando la probe controllata fornita. Traccia il motivo per cui un percorso assoluto esistente viene rifiutato e aggiungi una copertura di regressione; il lavoro è completato quando la probe legge correttamente `marker.txt` nelle versioni interessate e preserva il comportamento di 1.0.71.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
node.js, shell
Ambito
cli, tooling
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.