ACP session/new: client-supplied mcpServers replaces configured extensions (skills wiped)
- 主要语言
- Rust
- 星标
- 54.2k
- 派生
- 6.2k
- 平均合并
- 3 天 4 小时
- 30 天内合并 PR
- 240
描述
When an ACP client (e.g. JetBrains WebStorm) passes a non-empty 'mcpServers' array in 'session/new', goose freezes its extension set to exactly those entries, dropping the configured platform extensions (skills, developer, todo, analyze, etc.).
Reproduced with a direct stdio probe of the exact ACP binary goose ships:
- mcpServers: [] (empty) -> all 9 skills listed, full extension set
- mcpServers: [webstorm] -> only 'webstorm' in extension_data.enabled_extensions, no skills
Behaviour should likely be ['client mcpServers'] U ['configured extensions'] rather than replace.
WebStorm then only ever sees the JetBrains IDE extension in AI chat and denies skill access, which matches what the WebStorm banner says ('ACP agents coming later').
workaround: none client-side; must be fixed by merging at the goose ACP handler.
贡献指南
调研方向
Look at the ACP session/new handler in the codebase, likely in a file handling ACP protocol or session management. The issue describes that client-supplied mcpServers replace configured extensions. Find where extensions are merged or set. Test by reproducing the described stdio probe to verify the bug and the fix. The fix should union the client mcpServers with configured extensions rather than replace.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- rust
- 领域
- ai-infra-agents, backend
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 活跃
- 描述清晰度
- 描述清楚
- 新手友好度
- 65/100