Describe the bug
In headless ( copilot -p ... ) mode, the skill tool intermittently fails to resolve a skill that is simultaneously listed — with full name and description — in that same request's <available_skills> system-prompt block. The error is not "skill X not found among Y available skills" but the more absolute:
Skill "" not found. No model-invocable skills available.
This indicates the tool-call-time invocable-skill registry is empty even though prompt-construction-time skill discovery succeeded moments earlier in the same process. Failures are intermittent — the same skill succeeds on some invocations and fails on others — and once a failure occurs, subsequent headless invocations (different skills, 6–90s spacing, with/without --available-tools=skill ) keep failing for an extended window (minutes to, in one earlier observation, ~2 days) before recovering. Interactive-mode invocations of the same skills, same environment, succeeded reliably throughout.
Not explained by skill symlink type (tested both relative and absolute symlink targets under ~/.copilot/skills — both fail identically once in a bad window), and the skill has no disable-model-invocation / allow_implicit_invocation: false policy set.
Prior art checked, not duplicates: #4438 and #4451 (skills excluded via disable-model-invocation policy — not applicable here), #4401 ( ~/.agents/skills unsupported discovery path — our skills are under the supported ~/.copilot/skills ).
Affected version
1.0.83
Steps to reproduce the behavior
- Install a user-level skill at ~/.copilot/skills//SKILL.md (supported path, no disable-model-invocation policy).
- Run:
copilot -p "Use the skill tool to load the skill named and report the first 6 words of its description." --no-ask-user --log-level debug --log-dir /tmp/debug
- Repeat several times in quick succession (some spaced 6–90s apart).
- Inspect /tmp/debug/process-*.log : the system prompt sent to the model correctly contains the skill under <available_skills> , but the tool-call response for that same skill name is:
Skill "" not found. No model-invocable skills available.
Expected behavior
The invocable-skill registry checked at tool-call time should stay consistent with the skill listing rendered into the system prompt for the same request — a correctly installed, policy-unrestricted, supported-path skill should not intermittently disappear from resolution.
Additional context
• OS: macOS (darwin-arm64)
• Only reproduces in headless -p mode; interactive mode is unaffected
• Impact: automation/headless workflows depending on the skill tool cannot assume it will resolve, even for a correctly installed skill
Reproduced in a fully isolated COPILOT_HOME profile (no custom hooks, no pre-existing skills/config/logs) with a single freshly created test skill — ruling out any local configuration, hook, or skill-content cause.
Describe the bug
In headless ( copilot -p ... ) mode, the skill tool intermittently fails to resolve a skill that is simultaneously listed — with full name and description — in that same request's <available_skills> system-prompt block. The error is not "skill X not found among Y available skills" but the more absolute:
Skill "" not found. No model-invocable skills available.
This indicates the tool-call-time invocable-skill registry is empty even though prompt-construction-time skill discovery succeeded moments earlier in the same process. Failures are intermittent — the same skill succeeds on some invocations and fails on others — and once a failure occurs, subsequent headless invocations (different skills, 6–90s spacing, with/without --available-tools=skill ) keep failing for an extended window (minutes to, in one earlier observation, ~2 days) before recovering. Interactive-mode invocations of the same skills, same environment, succeeded reliably throughout.
Not explained by skill symlink type (tested both relative and absolute symlink targets under ~/.copilot/skills — both fail identically once in a bad window), and the skill has no disable-model-invocation / allow_implicit_invocation: false policy set.
Prior art checked, not duplicates: #4438 and #4451 (skills excluded via disable-model-invocation policy — not applicable here), #4401 ( ~/.agents/skills unsupported discovery path — our skills are under the supported ~/.copilot/skills ).
Affected version
1.0.83
Steps to reproduce the behavior
copilot -p "Use the skill tool to load the skill named and report the first 6 words of its description." --no-ask-user --log-level debug --log-dir /tmp/debug
Skill "" not found. No model-invocable skills available.
Expected behavior
The invocable-skill registry checked at tool-call time should stay consistent with the skill listing rendered into the system prompt for the same request — a correctly installed, policy-unrestricted, supported-path skill should not intermittently disappear from resolution.
Additional context
• OS: macOS (darwin-arm64)
• Only reproduces in headless -p mode; interactive mode is unaffected
• Impact: automation/headless workflows depending on the skill tool cannot assume it will resolve, even for a correctly installed skill
Reproduced in a fully isolated COPILOT_HOME profile (no custom hooks, no pre-existing skills/config/logs) with a single freshly created test skill — ruling out any local configuration, hook, or skill-content cause.