Project plugin agents use the subproject path instead of the checkout root
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 53/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- developer-experience, tooling
Research direction
Start with getDefaultAgentDefinitionsRoots in src/node/services/agentDefinitions/agentDefinitionsService.ts and the exec-path defaults documented in src/node/services/agentPlugins/composition.ts. Compare how plugin skills use projectSearchRoot, then trace local and remote agent discovery and the remote snapshot key. Done when project plugin agents resolve from the workspace root in subproject turns across both runtime types.
Written by the indexing model from the issue text.
Description
Summary
In a workspace with subProjectPath, Xum looks for project plugin agents under the execution subdirectory (<checkout>/<subproject>/.xum/plugins), but project plugins live at the checkout root. Project plugin skills already use the checkout root (projectSearchRoot). So a checkout-level plugin agent can be missing from a subproject turn, or show in one view and not resolve in another.
This applies to local workspaces today, and to SSH and Docker workspaces after #6426 (b2b, #7224), which mirrors the local behavior.
Where
getDefaultAgentDefinitionsRoots(src/node/services/agentDefinitions/agentDefinitionsService.ts) builds the plugin containers fromworkspacePath.src/node/services/agentPlugins/composition.tsdocuments that agents and workflows keep exec-path defaults on purpose.
Proposal
Thread the checkout root into agent discovery (as projectSearchRoot is for skills), for both local and remote runtimes, and use it for the plugin containers and the remote snapshot key.
Refs #6426.
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high
- Dominant language
- TypeScript
- Stars
- 2.1k
- Forks
- 140
- Avg merge
- 5h 8m
- Merged PRs (30d)
- 952
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from coder/xum
-
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 70/100
microsoft/playwright#43640 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
grasshopper-protocol/grsshppr#172 ·
Maintainers usually reply within 1 day
-
bug help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Tencent/teamai-cli#1397 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
DouyinFE/semi-design#3641 ·
Maintainers usually reply within 3 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day