--- summary: "CLI reference for `openclaw dns` (wide-area discovery helpers)" read_when: - You want wide-area discovery (DNS-SD) via Tailscale + CoreDNS - You’re setting up split DNS for a custom discovery domain (example: openclaw.internal) title: "dns" --- # `openclaw dns` DNS helpers for wide-area discovery (Tailscale + CoreDNS). Currently focused on macOS + Homebrew CoreDNS. Related: - Gateway discovery: [Discovery](/gateway/discovery) - Wide-area discovery config: [Configuration](/gateway/configuration) ## Setup ```bash openclaw dns setup openclaw dns setup --domain openclaw.internal openclaw dns setup --apply ``` ## `dns setup` Plan or apply CoreDNS setup for unicast DNS-SD discovery. Options: - `--domain `: wide-area discovery domain (for example `openclaw.internal`) - `--apply`: install or update CoreDNS config and restart the service (requires sudo; macOS only) What it shows: - resolved discovery domain - zone file path - current tailnet IPs - recommended `openclaw.json` discovery config - the Tailscale Split DNS nameserver/domain values to set Notes: - Without `--apply`, the command is a planning helper only and prints the recommended setup. - If `--domain` is omitted, OpenClaw uses `discovery.wideArea.domain` from config. - `--apply` currently supports macOS only and expects Homebrew CoreDNS. - `--apply` bootstraps the zone file if needed, ensures the CoreDNS import stanza exists, and restarts the `coredns` brew service.