Local Gateway + Parallels Chrome
A full Gateway or model API key is not required inside a macOS VM just to give it Chrome. Run the Gateway and agent locally; run a node host in the VM.
Install VM dependencies, reboot, verify:
<gateway-host> is a LAN IP without TLS, opt in for that trusted private network:
openclaw.json setting):
googlemeet.chrome and browser capability/browser.proxy:
manualAction: { reason, message }. Stop retrying, report that message plus browserUrl/browserTitle, and retry only after the manual action completes.
If chromeNode.node is omitted, OpenClaw auto-selects only when exactly one connected node advertises both googlemeet.chrome and browser control; pin chromeNode.node (node id, display name, or remote IP) when several capable nodes are connected.
Common failure checks
Install notes
The Chrome talk-back default uses host audio tools that OpenClaw does not bundle or redistribute:sox: command-line audio utility. The plugin issues explicit CoreAudio device commands for the default 24 kHz PCM16 audio bridge.blackhole-2ch: macOS virtual audio driver providing theBlackHole 2chdevice Chrome/Meet route through.pactl,pacat, andparec: Linux PulseAudio utilities used against PipeWire-Pulse to provision and stream throughOpenClaw Meeting Audio.
LGPL-2.0-only AND GPL-2.0-only; BlackHole is GPL-3.0. If you build an installer or appliance that bundles BlackHole with OpenClaw, review BlackHole’s upstream licensing or get a separate license from Existential Audio.
Transports
Chrome
Opens the Meet URL through OpenClaw browser control and joins as the signed-in OpenClaw browser profile. Before launch, the plugin checks or provisions the host’s native virtual-audio backend and then runs any configured audio bridge health/startup command. For local Chrome, pick the profile withbrowser.defaultProfile; chrome.browserProfile is passed to chrome-node hosts instead.
Twilio
A strict dial plan delegated to the Voice call plugin. It does not parse Meet pages for phone numbers; Google Meet must expose a phone dial-in number and PIN for the meeting. Enable Voice Call on the Gateway host, not the Chrome node:openclaw.json:
realtime.provider: "openai" with OPENAI_API_KEY instead if OpenAI is the realtime voice provider.
Restart or reload the Gateway after enabling voice-call; plugin config changes do not take effect until reload. Verify:
googlemeet setup includes twilio-voice-call-plugin, twilio-voice-call-credentials, and twilio-voice-call-webhook checks.
--dtmf-sequence for a custom sequence, with leading w or commas for a pause before the PIN: