open_canvas: Invalid input error when 'scope' field is missing from editor canvas
- Dominant language
- No language data
- Stars
- 2.1k
- Forks
- 153
- PR merge metrics
- No merged PRs in 30d
Description
### Short summary
`open_canvas` for the `editor` canvas type returns an invalid input error when the `scope` field is not provided, even though it is not documented as required.
### Affected version or release
1.0.64-0
### Installation context
GitHub Copilot CLI chat session (general chat, not tied to a project session)
### What happened?
When calling `open_canvas` with `canvasId: "editor"` and a valid `path` in the input, the tool returned:
```
dDe: Invalid input for canvas "editor" open input: (root): "scope" is a required property. Inspect the canvas declaration for the expected input schema.
```
The canvas did not open. No `scope` field is listed or described in the canvas documentation or tool description.
### Steps to reproduce
1. From a general chat session (not a project session), call `open_canvas` with:
```json
{
"canvasId": "editor",
"instanceId": "my-canvas-instance",
"input": {
"path": "C:\\Users\\\\.copilot\\session-state\\\\files\\example.md"
}
}
```
2. Observe the error response.
### Expected behavior
The editor canvas should open with the specified file, or the error message should clearly indicate that `scope` is a required field and document valid values (e.g., `user`, `project`, `session`).
### Additional context
- The `list_canvas_capabilities` tool would reveal the schema, but the error message itself gives no hint.
- The `open_canvas` tool description does not mention a required `scope` field for the `editor` canvas.
- Surfacing required fields in the error message or tool description would prevent this confusion.
Contributor guide
Research direction
Reproduce the issue in a general GitHub Copilot CLI chat using open_canvas with canvasId "editor" and a valid path but no scope. Inspect list_canvas_capabilities and the open_canvas tool description to compare the declared schema with the documented inputs. Done means either the editor opens without scope or the required field and valid values are clearly surfaced.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100