Agents window: disable-model-invocation: true prevents manual slash invocation of Agent Skills
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
Does this issue occur when all extensions are disabled?: No — reproduction requires GitHub Copilot Chat / the Agents window
* VS Code Version: 1.133.0
* OS Version: Windows 11 Enterprise
## Description
In the VS Code Agents window, an Agent Skill with `disable-model-invocation: true` appears in the `/` command menu, but manually invoking the skill does not load or execute it.
The same skill can be manually invoked successfully in regular VS Code GitHub Copilot Chat.
If I remove `disable-model-invocation: true` from the skill and start a new Agents-window session, the skill becomes invokable there.
This appears inconsistent with the intended behavior of `disable-model-invocation`: the setting should prevent model-initiated invocation while still permitting explicit user invocation.
## Test skill
I reproduced this with a simple `wait-what` skill installed at:
```text
C:\Users\\.agents\skills\wait-what
```
The directory is a normal directory, not a symlink or junction.
Its `SKILL.md` contains:
```yaml
---
name: wait-what
description: Stop. That last message did not land — re-pitch it.
disable-model-invocation: true
---
```
## Steps to Reproduce
### Regular GitHub Copilot Chat
1. Ensure the `wait-what` skill contains `disable-model-invocation: true`.
2. Open regular GitHub Copilot Chat in VS Code.
3. Type `/`.
4. Select or type `/wait-what`.
5. Observe that the skill is invoked successfully.
### Agents window
1. Open the VS Code Agents window.
2. Start a new Copilot session.
3. Type `/`.
4. Observe that `wait-what` appears in the command list.
5. Select or type `/wait-what`.
6. Observe that the skill is not loaded/invoked.
The skill exists on disk, but the Agents-window session does not expose it as an available skill.
### Remove `disable-model-invocation`
1. Remove this line from `SKILL.md`:
```yaml
disable-model-invocation: true
```
2. Start a new Agents-window Copilot session.
3. Invoke `/wait-what` again.
4. Observe that the skill can now be loaded/invoked.
No other change to the skill is required.
## Expected Behavior
With `disable-model-invocation: true`:
* the skill should remain visible in the `/` menu;
* the model should not invoke it automatically;
* an explicit user `/wait-what` invocation should load and execute the skill.
## Actual Behavior
In the Agents window:
* the skill appears in the `/` menu;
* automatic model invocation is disabled;
* explicit user invocation also fails to load the skill.
Removing `disable-model-invocation: true` makes the skill usable in a new Agents-window session.
This creates a mismatch between slash-command discovery and actual skill availability in the Agents window.
## Additional Information
I verified that the skill directory is not a symlink or junction:
```powershell
Get-ChildItem "$HOME\.agents\skills" -Directory |
Where-Object Name -eq "wait-what" |
Select-Object Name, LinkType, Target, Attributes
```
It reports a normal `Directory` with no `LinkType`.
The key comparison is:
```text
Regular Copilot Chat
+ disable-model-invocation: true
+ explicit /wait-what
= works
Agents window
+ disable-model-invocation: true
+ explicit /wait-what
= does not invoke skill
Agents window
+ disable-model-invocation removed
+ fresh session
= works
```
## Comparison with regular Chat
The important difference is that the same manual `/wait-what` invocation works in regular VS Code GitHub Copilot Chat but does not work in the Agents window.
This suggests the problem is specific to the Agents-window / Agent Host invocation path rather than the skill itself.
## Related issues
This appears related to, but distinct from:
- #315979 — skills appear in the `/` UI but `skill()` fails for **symlinked** skills. My reproduction uses a normal directory, so that root cause does not apply.
- #316285 — Agents-window slash commands can autocomplete successfully while the execution side fails to load the corresponding prompt content. This has a similar discovery-versus-execution symptom, but concerns local Agent Plugin prompt files rather than a normal Agent Skill with `disable-model-invocation`.
- #324645 — Agent Host has had separate runtime slash-command discovery behavior from the normal VS Code chat path.
I did not find an existing issue covering this exact combination of:
`Agents window + normal Agent Skill directory + disable-model-invocation: true + manual slash invocation fails + regular Copilot Chat succeeds`.
Contributor guide
Assessment
This issue has not been assessed yet.