github / github/app

Agent-created child sessions ignore a preset plugin-provided custom agent and fall back to Default agent

未关闭
#2,049 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Bugs
主要语言
没有语言数据
星标
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。