diff --git a/src/agents/pi-tools.ts b/src/agents/pi-tools.ts index 0508cda22e7..811d4708742 100644 --- a/src/agents/pi-tools.ts +++ b/src/agents/pi-tools.ts @@ -212,7 +212,10 @@ export function createOpenClawCodingTools(options?: { providerProfilePolicy, providerProfileAlsoAllow, ); - const scopeKey = options?.exec?.scopeKey ?? (agentId ? `agent:${agentId}` : undefined); + // Prefer sessionKey for process isolation scope to prevent cross-session process visibility/killing. + // Fallback to agentId if no sessionKey is available (e.g. legacy or global contexts). + const scopeKey = + options?.exec?.scopeKey ?? options?.sessionKey ?? (agentId ? `agent:${agentId}` : undefined); const subagentPolicy = isSubagentSessionKey(options?.sessionKey) && options?.sessionKey ? resolveSubagentToolPolicy(options.config)