aaif-goose / aaif-goose/goose

ACP session/new: client-supplied mcpServers replaces configured extensions (skills wiped)

Open
#11,643 0 comments 0 reactions 1 assignee Claimed by @Abhijay007 View on GitHub
Dominant language
Rust
Stars
54.2k
Forks
6.2k
Avg merge
3d 4h
Merged PRs (30d)
240

Description

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.

Contributor guide

Open the contributing guide

Research direction

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.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
ai-infra-agents, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.