Skip to content

Bug: OpenClaw connection fails outside local network (hardcoded .local hostname) #35

@juliosuas

Description

@juliosuas

Bug Report: Remote Connection Failure

Description

VisionClaw hardcodes the OpenClaw gateway host as a Bonjour/mDNS .local hostname in Secrets.swift / Secrets.kt:

static let openClawHost = "http://Your-Mac.local"
static let openClawPort = 18789

This only works on the same local Wi-Fi network. As soon as the user's phone is on mobile data or a different Wi-Fi, all OpenClaw tool calls silently fail.

Steps to Reproduce

  1. Configure VisionClaw with your Mac's .local hostname
  2. Switch your phone to mobile data (disconnect from home Wi-Fi)
  3. Ask Gemini to perform any tool call (e.g. "Send a message to John")
  4. The action fails silently — Gemini acknowledges but nothing happens

Expected Behavior

The app should either:

  • Connect to the gateway over Tailscale / public URL when off local network
  • Surface a clear error to the user that the gateway is unreachable

Proposed Solutions

Option A — Tailscale (Recommended)
Use the Tailscale device IP instead of .local:

static let openClawHost = "http://100.x.x.x"

Option B — Public Gateway URL
Set bind: "public" in openclaw.json and document the public URL setup.

Option C — In-App URL Switcher
The settings screen already exists. Add a "local" vs "remote" toggle that swaps the gateway URL dynamically.

Severity

High — makes OpenClaw integration unusable for users away from their home network.

See BUGS.md in this repo for full documentation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions