Canvas unavailable after extensions_reload until second reload
- Dominant language
- No language data
- Stars
- 2.1k
- Forks
- 153
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
After `extensions_reload`, a canvas extension can be listed as ready, but `open_canvas` fails with `CanvasRuntimeError: No canvas "inbox-zero" is registered`. Running `extensions_reload` a second time restores `open_canvas`.
## Repro steps
1. Start a canvas extension and open an instance, e.g. `inbox-zero-live`.
2. Run `extensions_reload`.
3. Confirm `extensions_manage({ operation: "list" })` shows the extension as ready.
4. Run `open_canvas({ canvasId: "inbox-zero", instanceId: "inbox-zero-live" })`.
## Observed
- `open_canvas` fails with `No canvas "inbox-zero" is registered`.
- `invoke_canvas_action(...)` fails with `Canvas instance "inbox-zero-live" is not open`.
- Running `extensions_reload` again makes `open_canvas` succeed.
- The previously open canvas can remain blank or stale until recovery.
## Expected
After one successful `extensions_reload`, ready canvas extensions should be immediately openable, and previously open canvas instances should recover without an additional reload.
## Environment
- Copilot CLI 1.0.63-0, Windows
- User-scope canvas extension: `~/.copilot/extensions/inbox-zero/`
- Canvas uses a loopback HTTP server
Contributor guide
Assessment
This issue has not been assessed yet.