OpenClaw macOS Node Can Advertise screen Capability While screen.record Still Stays Blocked
OpenClaw News Editorial
A newly reported OpenClaw regression can make a macOS node advertise screen support while the runtime still refuses to execute screen.record.
That creates a confusing operator experience:
- capability discovery suggests the node supports screen actions
- the node appears eligible for screen workflows
- but the actual tool call still fails because runtime policy blocks it
Source:
- Issue report: openclaw/openclaw#57169
What the failure looks like
According to the report, the mismatch happens on a macOS companion node where screen-related capability checks appear positive, but runtime execution still rejects screen.record.
That means the problem is not simply that the device lacks screen support. The issue is that advertised capability and runtime allowlist enforcement are out of sync.
Why this matters
For operators, this is worse than a clean “unsupported” result.
If OpenClaw says a node supports screen actions, you may:
- route tasks there automatically
- build flows that assume capture is available
- spend time debugging the wrong layer when recording fails
In practice, the node can look healthy during selection and still fail only when the real work starts.
How to confirm you hit this exact mismatch
You are likely hitting the same bug if all three are true:
- Your macOS node shows screen-related capability support during discovery or selection
- The node is chosen for a screen workflow
- The actual
screen.recordcall fails at runtime because of platform allowlist restrictions
That pattern points to a capability-advertising bug, not a simple missing permission prompt.
The likely root cause
Based on the issue report, the most likely problem is:
- the node capability layer says screen support is available
- but runtime policy still evaluates macOS against a stricter or outdated allowlist
- so
screen.recordgets blocked after capability selection has already succeeded
In other words, selection-time truth and execution-time truth are different.
Practical workarounds right now
1) Do not trust capability advertisement alone for screen workflows
Before routing production work to a macOS node, run a small real execution test instead of relying only on capability inspection.
2) Route critical screen capture tasks through a node that already passed a real recording test
If you manage multiple nodes, use observed runtime success as the routing signal until this mismatch is fixed.
3) Treat this as a runtime-policy bug, not a macOS user error
If the node already advertises screen support, repeated retries at the permission layer may waste time. The more likely problem is platform gating inside OpenClaw itself.
What maintainers likely need to fix
The durable fix is straightforward in principle:
- either stop advertising
screencapability on nodes where runtime policy will still blockscreen.record - or align runtime allowlist evaluation so capability discovery and actual execution use the same rule set
Until those two layers agree, operators will keep seeing false-positive capability signals.
What to capture if you escalate this
If you are reproducing or reporting the bug internally, capture:
- OpenClaw version
- macOS version
- node registration and capability output
- the exact runtime error from
screen.record - whether other screen-related actions behave differently from
screen.record
That will help separate this mismatch from ordinary permission or pairing failures.
Fast FAQ for capability says yes but runtime still blocks
If someone searches macos node advertises screen capability but screen.record blocked openclaw, what should this page answer first?
The first answer should be: do not treat capability advertisement as proof that the runtime path is really usable.
If screen.record still fails after the node looked screen-ready, the more likely problem is a mismatch between capability exposure and runtime gating, not that the node suddenly lost all screen support.
What is the fastest way to prove this is a capability-versus-runtime mismatch?
Run one tiny real screen.record test immediately after the node is selected.
If capability discovery says the node is eligible but the real call fails with runtime policy or allowlist blocking, you have already isolated the bug shape much faster than repeatedly re-pairing the node.
When should operators stop retrying permissions and escalate as an OpenClaw bug?
Escalate once you can show three things together:
- capability output says screen is available
- the same node is selected for a screen workflow
screen.recordstill fails because runtime policy blocks it
At that point, more permission retries are usually low-yield. The better move is to preserve the mismatch evidence and route critical screen work elsewhere.
Bottom line
If a macOS node looks like it supports screen workflows but screen.record still fails at runtime, the fastest explanation may be an OpenClaw capability-vs-allowlist mismatch, not a bad node setup.
