Skip to content

Plugin skills installed by sessionStart hooks are not available in the current session #1855

@xc98029

Description

@xc98029

Plugin skills installed by sessionStart hooks are not available in the current session


Description

When a sessionStart hook installs plugins via copilot plugin install, the installed plugin skills are never made available to the current session. /skills reload does not pick them up either.

Steps to Reproduce

  1. Create .github/hooks/hooks.json with a sessionStart hook that installs plugins:
{
  "version": 1,
  "hooks": {
    "sessionStart": [{
      "type": "command",
      "bash": "copilot plugin marketplace add owner/repo; copilot plugin install my-plugin@my-marketplace",
      "cwd": ".",
      "timeoutSec": 120
    }]
  }
}
  1. Start a new copilot session and send a message
  2. Hook logs confirm success: Plugin "my-plugin" installed successfully. Installed 4 skills.
  3. Run /skills reload
  4. Observe: plugin_skill_count: 0 — no plugin skills are loaded

Root Cause

  • Skills are loaded eagerly at process startup (e.g. skills_loaded at 18:36:32)
  • sessionStart hooks fire lazily on the first user message (e.g. 18:37:24)
  • The hook successfully installs plugins and updates config.json (with �nabled: true)
  • Plugin skill files exist on disk at ~/.copilot/installed-plugins/ with valid SKILL.md files
  • But the running CLI process never re-reads the plugin configuration
  • /skills reload re-scans project/personal skills but does not re-read installed_plugins from config.json

Expected Behavior

After sessionStart hooks complete, newly installed plugin skills should be available in the current session. At minimum, /skills reload should re-read installed_plugins from config.json.

Suggested Fix

Either:

  1. Automatically re-scan plugins/skills after sessionStart hooks complete — hooks exist precisely for session setup like installing plugins
  2. Have /skills reload also re-read installed_plugins from config.json and load newly added plugin skills
  3. Defer skills loading until after sessionStart hooks have completed (may impact perceived startup latency)

Workaround

Start a second session after the first one. Since the plugins are now in config.json, they will be discovered at process startup in subsequent sessions.

Environment

  • Copilot CLI: 0.0.422-1
  • OS: Windows 11
  • Node.js: v24.11.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions