Built-in view reports Path does not exist for existing files in 1.0.73; 1.0.71 succeeds
- 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