openclaw - 💡(How to fix) Fix voice-call: CLI `voicecall call` cannot run when gateway is owning the webhook port [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#72345Fetched 2026-04-27 05:31:15
View on GitHub
Comments
1
Participants
2
Timeline
1
Reactions
0
Author
Timeline (top)
commented ×1

Error Message

[openclaw] Failed to start CLI: Error: listen EADDRINUSE: address already in use 127.0.0.1:3334 at Server.setupListenHandle [as _listen2] (node:net:2008:16) ...

Root Cause

because the CLI also calls createVoiceCallRuntime() (in dist/runtime-entry-*.js), which unconditionally spins up its own VoiceCallWebhookServer on the same port.

Fix Action

Workaround

Place the call directly via Twilio REST while pointing Url at the gateway's public webhook URL (https://<tailnet>.ts.net/voice/webhook) — works fine, but bypasses the CLI.

Code Example

[openclaw] Failed to start CLI: Error: listen EADDRINUSE: address already in use 127.0.0.1:3334
    at Server.setupListenHandle [as _listen2] (node:net:2008:16)
    ...

---

[voice-call] Webhook server listening on http://127.0.0.1:3334/voice/webhook
   [voice-call] Realtime voice provider: openai

---

openclaw voicecall call --to "+1XXXXXXXXXX" --message "test"
RAW_BUFFERClick to expand / collapse

Bug / Missing Feature

When the OpenClaw gateway daemon is running and the voice-call plugin is enabled, the gateway opens its own webhook listener (default 127.0.0.1:3334).

If you then run openclaw voicecall call ... from the CLI, it fails with:

[openclaw] Failed to start CLI: Error: listen EADDRINUSE: address already in use 127.0.0.1:3334
    at Server.setupListenHandle [as _listen2] (node:net:2008:16)
    ...

because the CLI also calls createVoiceCallRuntime() (in dist/runtime-entry-*.js), which unconditionally spins up its own VoiceCallWebhookServer on the same port.

Repro

  1. Enable the bundled voice-call plugin and configure Twilio.
  2. Set a publicUrl and run openclaw gateway start (or restart). Confirm the gateway logs:
    [voice-call] Webhook server listening on http://127.0.0.1:3334/voice/webhook
    [voice-call] Realtime voice provider: openai
  3. From the same host, run:
    openclaw voicecall call --to "+1XXXXXXXXXX" --message "test"
  4. Observe EADDRINUSE.

Expected

One of:

  • The CLI detects an already-running gateway voice-call runtime and forwards the call request to it (e.g. via HTTP / RPC / Unix socket), rather than building a parallel runtime.
  • A new --use-gateway / --remote / --gateway-url flag that explicitly delegates to the running gateway.
  • At minimum, a clearer error message that says "Gateway is already running voice-call on port 3334. Use openclaw chat / agent tool / direct REST instead."

Workaround

Place the call directly via Twilio REST while pointing Url at the gateway's public webhook URL (https://<tailnet>.ts.net/voice/webhook) — works fine, but bypasses the CLI.

Environment

  • OpenClaw 2026.4.24 (cbcfdf6)
  • macOS 24.3.0 (arm64)
  • Node v25.9.0
  • Twilio provider, Tailscale Funnel for webhook exposure

Thanks for the great 4/24 release otherwise — realtime conversation through Twilio is working through the gateway path.

extent analysis

TL;DR

The OpenClaw CLI fails to make a voice call when the gateway daemon is running with the voice-call plugin enabled due to a port conflict, and a workaround or flag to delegate to the running gateway is needed.

Guidance

  • The error occurs because both the gateway and CLI try to start a VoiceCallWebhookServer on the same port (127.0.0.1:3334).
  • To verify the issue, check the gateway logs for the webhook server listening on the specified port and confirm the CLI error message.
  • A potential mitigation is to use the Twilio REST API directly, pointing the Url at the gateway's public webhook URL, as described in the workaround section.
  • Consider adding a flag (e.g., --use-gateway or --gateway-url) to the CLI to explicitly delegate the call request to the running gateway.

Example

No code snippet is provided as the issue is more related to the functionality and configuration of the OpenClaw gateway and CLI.

Notes

The provided workaround using the Twilio REST API is a temporary solution and does not address the underlying issue of the port conflict between the gateway and CLI.

Recommendation

Apply a workaround, such as using the Twilio REST API directly or waiting for a potential update that includes a flag to delegate to the running gateway, as this allows for continued functionality while a more permanent solution is developed.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix voice-call: CLI `voicecall call` cannot run when gateway is owning the webhook port [1 comments, 2 participants]