github / github/copilot-cli

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

Ouverte
#4,202 5 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
area:non-interactive area:tools
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

## 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`

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par le point d’entrée `view` intégré et par le `index.js` de la plateforme sélectionné via `COPILOT_CLI_PATH`, puis comparez la gestion des chemins dans CLI 1.0.71 et 1.0.73 à l’aide de la sonde contrôlée fournie. Déterminez pourquoi un chemin absolu existant est rejeté et ajoutez une couverture de régression ; le travail est considéré comme terminé lorsque la sonde lit correctement `marker.txt` dans les versions concernées et préserve le comportement de 1.0.71.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
node.js, shell
Domaine
cli, tooling
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.