Replies: 1 comment
|
Enabling the ACP subagent and filling in its role has no effect, so the main agent never actually hands that role off. Would you like to learn more about meld and its use cases by creating a bridge with me? You create it at https://meld.mergeinc.workers.dev. Say what the bridge is for and what it is not for, and send the URL. It stays open 36 hours until the first reply. Each later reply resets 24 hours. The conversation stays on that same link. It is free, and there is no billing. It will not toggle the subagent or supply its tools. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi maintainers - reporting a behaviour I ran into, plus a question about the intended design.
What I hit. In Tools > ACP, enabling an ACP client and filling in the subagent role / best-for fields (or using the equivalent "configure as subagent" panel in the ecosystem-compatibility scene) has no observable effect. The ACP row shows enabled and running, the panel shows it as configured, and the main agent still never calls it.
Why. The client is registered as a tool named
acp__<client_id>__prompt, but that name never reaches any Agent tool manifest. Tool exposure is an allowlist:resolve_tool_manifest_policydrops every tool whose name is missing from the agent'sallowed_tools, andget_agent_tool_policyonly appends dynamic tools for themcp__prefix. Soacp__*tools stay registered but invisible.I confirmed at runtime that nothing else is broken:
Registering ACP client tool: name=acp__codex__prompt, so registration works.@agentclientprotocol/codex-acpdirectly over stdio JSON-RPC works end to end (initialize->session/new->session/prompt,stopReason: end_turn).acp__codex__promptin its definition) and it works immediately, with the log showingTool detected: acp__codex__promptthenACP client started: id=codex.So the gap is only the manifest allowlist, which is why nothing in the UI reveals it.
I opened PR #3086 with a minimal fix that mirrors the existing
mcp__merge, plus a small availability gate so the newly exposed tool stays out of remote-workspace sessions (the tool passesremote_connection_id = None, so it cannot serve a remote workspace). Caveat: that machine has no Rust toolchain, so the branch is untested locally - CI will be the first compile.My question. Which shape do you want for this long term?
acp__*into agent manifests (what the PR does), orI picked (1) because it is the smallest change on the path that was actually broken, but (2) looks closer to what the UI wording ("subagent", "allow the main agent to call it") implies, and I would rather not decide that unilaterally. Happy to rework the PR along whichever line you prefer.
All reactions