github / github/copilot-cli

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

Abierto
#4,202 5 comentarios 1 reacción 0 asignados Ver en GitHub
area:non-interactive area:tools
Lenguaje dominante
Shell
Estrellas
11.2k
Forks
1.9k
Merge medio
14 h 16 min
PR fusionados (30 d)
6

Descripción

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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Empieza con el punto de entrada `view` integrado y el `index.js` de la plataforma seleccionado mediante `COPILOT_CLI_PATH`; después, compara el manejo de rutas en CLI 1.0.71 con 1.0.73 usando la sonda controlada proporcionada. Traza por qué se rechaza una ruta absoluta existente y añade cobertura de regresión; se considera terminado cuando la sonda lee correctamente `marker.txt` en las versiones afectadas y conserva el comportamiento de 1.0.71.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
node.js, shell
Área
cli, tooling
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.