1.131.0 / 0.59.0: devcontainer chat agent type picker fails to list "Copilot CLI"
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
- Copilot Chat Extension Version: 0.59.0
- VS Code Version: 1.131.0
- OS Version: Gentoo
- Feature (e.g. agent/edit/ask mode): agent
- Selected model (e.g. GPT 4.1, Claude 3.7 Sonnet): auto
- Logs: not sure what to supply
Steps to Reproduce:
devcontainer.json (Dockerfile.node is just a simple `FROM node:24` stage)
```json
{
"name": "Existing Dockerfile",
"build": {
"context": "..",
"dockerfile": "../Dockerfile.node"
},
"features": {
"ghcr.io/devcontainers/features/copilot-cli:1": {},
"ghcr.io/devcontainers/features/github-cli:1": {}
},
"remoteUser": "node"
}
```
"Copilot CLI" agent type is missing from picker ⬇️
Weirdly, `workbench.action.chat.openNewSessionEditor.copilotcli` is able to start a dedicated Chat tab with "Copilot CLI" preselected, but clicking it will remove "Copilot CLI" from available selections. Something seems confused about agent provider availability, or whatever the underlying framework is ⬇️
Everything has worked fine on host, but I'm trying to move agent work into devcontainers for better security boundaries.
Unclear if https://github.com/microsoft/vscode/issues/317380 related, but that still being open, how is `... .openNewSessionEditor.copilotcli` still able to start a Copilot CLI-backed chat? 🤔
1.131.0 is the first version I've tried devcontainers on, so can't tell if it ever used to work better or differently.
Your thoughts?
EDIT Window output shows repeated "2026-08-02 10:56:22.894 [warning] [Window] [MainThreadChatSessions] Cannot notify option change for sessionType 'copilotcli': no provider registered. Registered types: []"
Contributor guide
Research direction
Reproduce with the provided devcontainer.json and Dockerfile.node, then use the Copilot CLI session command to compare its provider state with the agent type picker. Trace the warning that no provider is registered for sessionType "copilotcli"; done means Copilot CLI remains listed and selectable in the picker after opening a session.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, vscode
- Domain
- developer-experience
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100