Skip to main content
OpenClaw lets your OpenHome agent control your local machine through voice — launch apps, monitor system status, manage files, run developer workflows, and more. The Ability sends a command through OpenHome’s exec_local_command() call; the OpenClaw client executes it on your machine; the result comes back as a spoken response. For a short task-oriented quickstart, see Getting Started → OpenClaw. This page is the full reference.

What you can build

  • Application launcher and manager
  • System monitoring and diagnostics
  • File and folder automation
  • Development environment controller
  • Custom workflow automations
  • Smart home integration via computer
  • Screenshot and screen recording tools
  • Clipboard and text manipulation

Setup

1. Install OpenClaw

OpenClaw must be installed and configured on your local machine with an LLM API key.
During onboarding you’ll be prompted for an LLM API key (OpenAI, Anthropic, etc.). OpenClaw uses this key to interpret natural-language commands.

2. Download the OpenClaw client

Download for your OS:
  • Windows.exe installer
  • macOS.dmg or .app
  • Linux — AppImage or .deb

3. Run the client

1

Launch

  • Windows — run the .exe, allow permissions if prompted
  • macOS — if blocked, go to System Settings → Privacy & Security → Open Anyway
  • Linuxchmod +x and run, grant required permissions
2

Get your OpenHome API key

3

Connect

Paste the key into the OpenClaw client, click Connect. Wait for the “welcome” message in the logs — that confirms a live connection.

4. Add the OpenClaw Ability

Install the OpenClaw Ability from the Abilities library on your Agent. This is the template you’ll customize for your use case.

The exec_local_command() API

One function carries every command from the Ability to the OpenClaw client.
Parameters:
  • command (str | dict, required) — inquiry or command for OpenClaw
  • target_id (str | None) — target device identifier (default: "laptop")
  • timeout (float) — max seconds to wait for a response (default: 10.0)
Returns: str — response from OpenClaw (success message, error, or command output).

Usage

How it works

  1. User speaks a computer-control command
  2. OpenHome captures voice as text
  3. Ability sends the command to your local OpenClaw client via exec_local_command()
  4. OpenClaw executes on your computer
  5. OpenClaw returns the result (success / failure / output)
  6. An LLM converts the technical output into a natural spoken response (max ~15 words)
  7. OpenHome speaks the result

Example abilities

1. Development environment controller

2. System health monitor

3. Smart screenshot

4. App manager with confirmation

Best practices

1. Define clear trigger words

Specific, unambiguous triggers beat generic ones:
  • start development session, launch dev environment, open my coding setup
  • start, go, do it
Avoid trigger phrases that collide with other Abilities.

2. Validate before executing

3. Confirm destructive actions

4. Tune timeouts

5. Format responses for voice

Don’t just echo raw OpenClaw output. Parse and shape:
Keep spoken output to 1 sentence, 15 words or less.

6. Handle errors and timeouts

7. Chain commands for workflows

Troubleshooting

  • Verify your API key is correct (from Dashboard → Settings → API Keys)
  • Check the daemon is running: openclaw status
  • Restart the OpenClaw client app
  • Check the client logs for error messages
  • Increase timeout: exec_local_command(command, timeout=20.0)
  • Check daemon status: openclaw status
  • Verify the command is valid for your OS
  • Review OpenClaw client logs
  • System Settings → Privacy & Security → find the blocked app → Open Anyway
  • Grant Accessibility and Automation permissions when prompted
  • Confirm the client shows “Connected”
  • Test a safe command first: “what time is it”
  • Verify the Ability is registered on your Agent
  • Review OpenClaw client logs

Security & privacy

OpenClaw runs with your user permissions on the local machine. Commands execute exactly as if you typed them in a terminal.
  • Commands run locally — not sent to external servers (the LLM used by OpenClaw may receive the natural-language text for command generation)
  • Your OpenHome API key authenticates the OpenHome → OpenClaw connection
  • Always add validation for user-provided input
  • Use confirmation prompts for destructive operations (restart, delete, format)
  • Review all permissions carefully when installing the client

Architecture

Resources