/install computer-takeover
Computer Takeover
Unattended remote control of paired OpenClaw nodes. Controls the remote device as if physically sitting in front of it — no user presence required on the remote end.
Core Capabilities
- Device Intelligence — List nodes, get device info, health, permissions, battery, storage, network
- Screen Capture — Snapshot or record the remote screen in real-time
- Camera Access — Snap photos or record clips from front/back camera
- Shell Execution — Run commands, scripts, and PowerShell/Bash on the remote device
- File Management — Browse, read, write, delete files on the remote device via shell
- App Control — Install, launch, close, list installed apps
- Process Management — List running processes, kill processes, monitor CPU/memory
- Notifications — Read notifications, trigger actions or replies
- Input Injection — Type text, simulate clicks, keypresses (via shell automation)
- Location — Get GPS coordinates (if device supports it)
- Device Pairing — Initiate pairing or manage existing pairings
Quick Start
Always start by listing available nodes to find the target device:
nodes(action="status")
Then describe the node to confirm it's the right one:
nodes(action="describe", node="\x3Cnode-id>")
Capability Details
Device Intelligence
nodes(action="status") // List all paired nodes
nodes(action="device_info", node="\x3Cid>")
nodes(action="device_health", node="\x3Cid>")
nodes(action="device_permissions", node="\x3Cid>")
nodes(action="device_status", node="\x3Cid>") // battery, storage, network
Screen
nodes(action="screen_record", node="\x3Cid>", outPath="C:/temp/screen.mp4", durationMs=30000)
nodes(action="photos_latest", node="\x3Cid>", limit=5) // screenshots stored as photos
For live screen viewing, use the canvas tool with target="node" and the node's gateway URL.
Camera
nodes(action="camera_snap", node="\x3Cid>", facing="front|back")
nodes(action="camera_clip", node="\x3Cid>", facing="front|back", durationMs=10000)
Shell Execution
Use nodes(action="invoke", node="\x3Cid>", invokeCommand="\x3Ccommand>", invokeParamsJson="{}").
Windows (PowerShell):
{
"invokeCommand": "powershell",
"invokeParamsJson": "{\"command\": \"Get-Process | Select -First 10 Name, CPU, WorkingSet\"}"
}
Android (adb):
{
"invokeCommand": "adb",
"invokeParamsJson": "{\"command\": \"shell dumpsys battery\"}"
}
Linux/macOS (SSH-style):
{
"invokeCommand": "bash",
"invokeParamsJson": "{\"command\": \"ls -la /tmp | head -20\"}"
}
File Management (via Shell)
# Windows: list directory
nodes(action="invoke", node="\x3Cid>", invokeCommand="powershell", invokeParamsJson="{\"command\": \"Get-ChildItem C:/Users/ -Depth 1 | Format-Table Name, Length, LastWriteTime\"}")
# Windows: read file
nodes(action="invoke", node="\x3Cid>", invokeCommand="powershell", invokeParamsJson="{\"command\": \"Get-Content C:/temp/log.txt -Tail 50\"}")
# Windows: write file
nodes(action="invoke", node="\x3Cid>", invokeCommand="powershell", invokeParamsJson="{\"command\": \"Set-Content -Path C:/temp/output.txt -Value 'Hello from remote'\"}")
App Control
nodes(action="invoke", node="\x3Cid>", invokeCommand="powershell", invokeParamsJson="{\"command\": \"Start-Process notepad\"}") // launch
nodes(action="invoke", node="\x3Cid>", invokeCommand="powershell", invokeParamsJson="{\"command\": \"Get-Process | Where Name -eq 'notepad' | Stop-Process\"}") // close
nodes(action="invoke", node="\x3Cid>", invokeCommand="powershell", invokeParamsJson="{\"command\": \"winget install Microsoft.PowerToys --silent\"}") // install
Process Management
nodes(action="invoke", node="\x3Cid>", invokeCommand="powershell", invokeParamsJson="{\"command\": \"Get-Process | Sort CPU -Descending | Select -First 20 Name, Id, CPU, @{N='MEM_MB';E={[math]::Round($_.WorkingSet/1MB,1)}} | Format-Table -AutoSize\"}")
Notifications
nodes(action="notifications_list", node="\x3Cid>", limit=20)
nodes(action="notifications_action", node="\x3Cid>", notificationKey="\x3Ckey>", notificationAction="open|reply|dismiss")
Location
nodes(action="location_get", node="\x3Cid>", desiredAccuracy="precise")
Node Pairing
To pair a new device, use the node-connect skill and follow the pairing flow. Pairing requires the device to have the OpenClaw companion app installed and connected to the same gateway.
Workflow: Full Takeover Session
nodes(action="status")— find the node IDnodes(action="device_info", node="\x3Cid>")— confirm device name/typenodes(action="screen_record", node="\x3Cid>", ...)orcanvastool — see what they're doing- Run commands as needed via
nodes(action="invoke", ...) - Transfer files via base64 encoding through shell or direct path sharing
Important Notes
- Timeout: Default
invokeTimeoutMsis 30000ms. Increase for long-running commands. - Elevation: Some operations (installing apps, killing system processes) may need elevated permissions on the remote device.
- Safety: Always confirm the target node before running destructive commands (delete files, kill processes, etc.).
- Gateway URL: For
canvastool with remote screen, the node must havegateway.remote.urlconfigured and accessible.
References
- Full
nodestool docs: see OpenClaw tool reference for all actions and parameters - Node pairing guide: see
node-connectskill for setup troubleshooting - Gateway configuration:
gateway.remote.urlin OpenClaw config controls accessibility
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install computer-takeover - After installation, invoke the skill by name or use
/computer-takeover - Provide required inputs per the skill's parameter spec and get structured output
What is Computer Takeover?
Full unattended remote control of paired devices (nodes) — screen capture, file management, shell commands, app control, camera, notifications, and process m... It is an AI Agent Skill for Claude Code / OpenClaw, with 79 downloads so far.
How do I install Computer Takeover?
Run "/install computer-takeover" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Computer Takeover free?
Yes, Computer Takeover is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Computer Takeover support?
Computer Takeover is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Computer Takeover?
It is built and maintained by Fuzzyb33s (@fuzzyb33s); the current version is v1.0.0.