Skip to content

Conversation

@BryceRyan
Copy link
Contributor

Closes #12133

What does this PR do?

Forwards tool approval requests from subagents through the ACP connection. Does so by backtracking up the agent "callstack" until we find an agent session that is registered as an ACP. We then use that as the notification ID for tool approvals.

How did you verify your code works?

Ran a task that does a tool call in CodeCompanion.nvim using OpenCode ACP. Also ran a task that ran a task that did a tool call. Both asked for approval correctly and did not hang.

I saw after making this #12136, but keeping mine here as it is able to handle infinitely nested subagent chains.

@github-actions
Copy link
Contributor

The following comment was made by an LLM, it may be inaccurate:

Duplicate PR Found

PR #12136 - fix(acp): handle permission requests from child sessions

This is a related PR addressing the same issue. According to your PR description, you noted that #12136 was created after your work, but your PR (#13021) handles infinitely nested subagent chains while #12136 appears to address the same core problem of propagating tool approval requests from subagents through the ACP connection.

Related PR:

PR #12584 - fix: propagate parent agent permissions to subagent child sessions

This PR also relates to permissions handling between parent agents and subagents, though it may focus on a slightly different aspect (propagating permissions rather than approval requests).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Permission requests from child sessions do not get forwarded via ACP and hangs forever

2 participants