ACP: request user permission before potentially destructive RLM operations #1983
hubsx
started this conversation in
Feature requests
Replies: 0 comments
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.
Summary
Prime Agent 0.9.1 does not send ACP
session/request_permissionrequests before potentially destructive operations. As a result, ACP clients such as Paseo cannot ask the user to approve or reject an operation before it starts, even when the client has automatic approval disabled.This is a feature request rather than a vulnerability report: ACP is a trusted-code boundary and Prime Agent does not currently claim to sandbox execution. The goal is to add a useful human-in-the-loop safety layer for interactive ACP clients.
Environment
0.9.10.6.126.5.2(25F84)prime-agent --mode acpauto_accept:falseCurrent behavior
auto_acceptdisabled.bash().tool_call/tool_call_updateevents for the IPython cell and nested shell work.Setting
auto_accept=falseonly controls how Paseo responds if the agent sends a permission request. It cannot create a request that Prime Agent never sends.Source-level observation
ACP itself supports the client method:
The ACP SDK bundled with Prime Agent includes
client.requestPermission(...). However, Prime Agent's ACP adapter currently does not call it. The adapter initializes sessions and maps session events tosession/update, but sensitive operations are not paused for client authorization.Prime Agent's single-tool architecture makes this more subtle than approving a top-level shell tool. ACP sees the model's outer tool as an IPython execution, while the actual command is started later inside the persistent RLM kernel:
The command can also be built dynamically, so classifying only the outer IPython source is not a reliable enforcement point.
Expected behavior
When an interactive ACP client is attached and automatic approval is disabled, Prime Agent should be able to:
session/request_permissionwith useful context and options;For non-interactive clients, the fallback behavior should be explicit and configurable rather than silently assuming approval.
Suggested implementation direction
A practical first integration point may be the RLM
bash()process-spawn boundary:This needs a kernel-to-host permission event because the ACP adapter cannot reliably infer nested commands from the outer IPython tool call.
Shell interception alone would not be a complete security boundary: Python code can mutate files or start processes directly. Longer term, scoped capabilities or sandboxing would provide stronger enforcement. Still, bridging
bash()to ACP permissions would cover a common and visible class of destructive operations.Related reports
I searched all current and closed Issues and the repository's existing Discussions and did not find a report specifically covering ACP
session/request_permissionfor Prime Agent tool execution.All reactions