Agent-created child sessions ignore a preset plugin-provided custom agent and fall back to Default agent
- 主要语言
- 没有语言数据
- 星标
- 2.1k
- 派生
- 153
- PR 合并指标
- 30 天内没有已合并 PR
描述
### Summary
When an **agent** creates a child session and presets its agent (via the session-creation tool that accepts an `agent` parameter), a **plugin-provided custom agent** is not applied. The new session silently starts on **Default agent** instead. Manually selecting the same agent from the session's agent dropdown works fine, so the agent itself is valid and loadable — only the agent-created "start this session in agent X" path fails for plugin-contributed agents.
### Environment
- GitHub Copilot app (agent-native desktop), Windows
- App version: `1.0.21`
- Custom agent provided by an **installed plugin** (appears as a selectable entry in the agent picker)
### Steps to reproduce
1. Install a plugin that contributes a user-invocable custom agent (the agent shows up in the agent dropdown).
2. Have an agent create a child session and set the preset agent to that plugin agent (the `agent` field on the session-creation / kickoff call).
3. Let the session start (with or without a kickoff prompt).
4. Open the created session and check its agent dropdown.
### Expected
The created session starts bound to the specified plugin-provided agent (dropdown shows that agent; the session runs under that agent's persona/workflow).
### Actual
The session starts on **Default agent**. The preset agent is silently ignored — no error or warning is surfaced. The kickoff prompt (if any) runs under the Default agent instead of the intended one.
### What I tried (identifier is not the problem)
I attempted the preset with three identifier forms; all three resulted in Default agent:
1. Bare agent name — ``
2. Plugin-qualified — `:`
3. File-basename-qualified — `:.agent`
I verified the identifier is correct:
- The plugin's `plugin.json` `name` matches the namespace used.
- The agent's frontmatter `name` matches the label shown in the agent picker.
- The agent is present and selectable in the UI dropdown, and **manually selecting it works**.
This points to the agent-created preset path not resolving/applying **plugin-contributed** agents (built-in/workspace custom agents may behave differently), rather than a wrong identifier.
### Impact
A workflow that has an agent spin up child sessions preset to a specific plugin agent can't work — every session must have its agent selected by hand in the UI, defeating unattended/parallel session orchestration. Silent fallback to Default also means automated runs can appear to "work" while actually executing under the wrong agent, producing misleading results.
贡献指南
调研方向
首先跟踪 session-creation 或 kickoff 调用的 agent 参数,并将其解析路径与 agent 下拉菜单进行比较,使用带有插件提供的 agent 的复现步骤。完成的标准是:使用插件 agent 创建的 child session 打开时已选中该 agent,并在该 agent 下运行其 kickoff prompt,而不是静默回退到 Default。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- github
- 领域
- ai, desktop
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 55/100