[Bug][Windows Node] Exec approval resolves, but the node rejects it as invalid for the device
Severity assessment
Medium. Remote command execution on the paired Windows node is completely blocked, but there is no known data loss or security bypass.
Summary
A Windows node is paired, connected, approved, and advertises the system.run capability. An exec request for whoami creates an approval request. The approval is resolved successfully through Telegram or WhatsApp, but the subsequent node.invoke fails immediately with:
INVALID_REQUEST
approval id not valid for this device
The command never starts.
Environment
Gateway runtime: OpenClaw 2026.7.1-2 (0790d9f)
Windows Companion / Windows Node: 0.6.12
Gateway host: WSL2 on Windows, x64
Node: Windows, paired, approved, and connected
Channels tested: Telegram and WhatsApp
Exec host: node
Exec security: allowlist
Exec ask mode: on-miss
Sensitive identifiers, phone numbers, session IDs, approval IDs, and the node ID are redacted.
Steps to reproduce
Pair and approve the Windows Companion as a node.
Confirm that the node is connected and advertises the system capability.
Configure exec from Telegram or WhatsApp:
/exec host=node security=allowlist ask=on-miss node=[REDACTED_NODE_ID]
Request:
Execute whoami using exec and return only the result.
Resolve the approval with Allow Once.
Observe that the approval is accepted, but the command does not run.
Expected behavior
After approval, the gateway should invoke the prepared command on the same Windows node and return the output of whoami.
Actual behavior
WhatsApp confirms:
Exec approval allow-once. Resolved by Chat approval (whatsapp:[REDACTED_PHONE]).
Immediately afterwards, the gateway reports:
exec.approval.waitDecision ... ok
node.invoke ... INVALID_REQUEST
approval id not valid for this device
The agent follow-up reports:
The command did not run.
Reason: execution was denied before invocation, so whoami never started and produced no new output.
Relevant gateway log excerpt
Jul 22 17:26:05 ... exec.approval.waitDecision ... ok
Jul 22 17:26:06 ... node.invoke ... errorCode=INVALID_REQUEST errorMessage=approval id not valid for this device
Jul 22 17:26:07 ... runId=exec-approval-followup:[REDACTED_APPROVAL_ID]
Additional evidence
The Windows Companion receives the command as:
cmd.exe /d /s /c whoami
A native allow rule for that exact command was added and confirmed active. The behavior remains reproducible through both Telegram and WhatsApp. WhatsApp explicitly confirms that the approval was resolved, which rules out a Telegram-only approval problem.
Impact
exec host=node cannot execute commands requiring approval on this Windows node. Messaging channels, node pairing, node connectivity, and non-system.run functions remain operational.
Suggested investigation
Please verify the binding and forwarding of the approval identifier between:
system.run.prepare
the gateway approval record
exec.approval.waitDecision
the subsequent Windows-node system.run invocation
The approved request may be associated with a different device identity or approval namespace than the one validated by the Windows Companion.
Attachment
openclaw-diagnostics-redacted.json
[Bug][Windows Node] Exec approval resolves, but the node rejects it as invalid for the device
Severity assessment
Medium. Remote command execution on the paired Windows node is completely blocked, but there is no known data loss or security bypass.
Summary
A Windows node is paired, connected, approved, and advertises the system.run capability. An exec request for whoami creates an approval request. The approval is resolved successfully through Telegram or WhatsApp, but the subsequent node.invoke fails immediately with:
INVALID_REQUEST
approval id not valid for this device
The command never starts.
Environment
Gateway runtime: OpenClaw 2026.7.1-2 (0790d9f)
Windows Companion / Windows Node: 0.6.12
Gateway host: WSL2 on Windows, x64
Node: Windows, paired, approved, and connected
Channels tested: Telegram and WhatsApp
Exec host: node
Exec security: allowlist
Exec ask mode: on-miss
Sensitive identifiers, phone numbers, session IDs, approval IDs, and the node ID are redacted.
Steps to reproduce
Pair and approve the Windows Companion as a node.
Confirm that the node is connected and advertises the system capability.
Configure exec from Telegram or WhatsApp:
/exec host=node security=allowlist ask=on-miss node=[REDACTED_NODE_ID]
Request:
Execute whoami using exec and return only the result.
Resolve the approval with Allow Once.
Observe that the approval is accepted, but the command does not run.
Expected behavior
After approval, the gateway should invoke the prepared command on the same Windows node and return the output of whoami.
Actual behavior
WhatsApp confirms:
Exec approval allow-once. Resolved by Chat approval (whatsapp:[REDACTED_PHONE]).
Immediately afterwards, the gateway reports:
exec.approval.waitDecision ... ok
node.invoke ... INVALID_REQUEST
approval id not valid for this device
The agent follow-up reports:
The command did not run.
Reason: execution was denied before invocation, so whoami never started and produced no new output.
Relevant gateway log excerpt
Jul 22 17:26:05 ... exec.approval.waitDecision ... ok
Jul 22 17:26:06 ... node.invoke ... errorCode=INVALID_REQUEST errorMessage=approval id not valid for this device
Jul 22 17:26:07 ... runId=exec-approval-followup:[REDACTED_APPROVAL_ID]
Additional evidence
The Windows Companion receives the command as:
cmd.exe /d /s /c whoami
A native allow rule for that exact command was added and confirmed active. The behavior remains reproducible through both Telegram and WhatsApp. WhatsApp explicitly confirms that the approval was resolved, which rules out a Telegram-only approval problem.
Impact
exec host=node cannot execute commands requiring approval on this Windows node. Messaging channels, node pairing, node connectivity, and non-system.run functions remain operational.
Suggested investigation
Please verify the binding and forwarding of the approval identifier between:
system.run.prepare
the gateway approval record
exec.approval.waitDecision
the subsequent Windows-node system.run invocation
The approved request may be associated with a different device identity or approval namespace than the one validated by the Windows Companion.
Attachment
openclaw-diagnostics-redacted.json