Discover, name, and manage OpenClaw instances on your LAN. Scan for AI agents, check status, set aliases, resolve .claw names, and get connection URLs via the ClawNexus daemon.
ClawNexus is a naming and discovery layer for OpenClaw. It runs a local daemon that automatically discovers OpenClaw instances on your network and assigns them readable names, so you can refer to instances by alias (e.g., "home") instead of IP addresses.
Works across networks too — instances can register .claw names (like home.alan.id.claw) and connect via encrypted relay from anywhere.
# Install and start the daemon
npm install -g clawnexus
clawnexus start
clawnexus start first.claw name (use local LAN only)curl -s http://localhost:17890/instances | jq '.instances[] | {name: (.alias // .auto_name), status, address}'
curl -s http://localhost:17890/instances/home
curl -s http://localhost:17890/instances/olivia
curl -s http://localhost:17890/instances/192.168.1.10:18789
curl -s -X POST http://localhost:17890/scan
curl -s -X PUT http://localhost:17890/instances/olivia/alias \
-H "Content-Type: application/json" \
-d '{"alias": "home"}'
# Get address and port, then build URL
curl -s http://localhost:17890/instances/home | jq '"ws://\(.address):\(.gateway_port)"'
curl -s http://localhost:17890/health
curl -s http://localhost:17890/resolve/myagent.id.claw
curl -s http://localhost:17890/instancesstatus: "online" → confirm to usercurl -X POST http://localhost:17890/scancurl -s http://localhost:17890/instances/raspiws://<address>:<gateway_port>clawnexus start.curl -s -X POST http://localhost:17890/scan to trigger a network scan, then retry listing.status: "offline" → The OpenClaw gateway on that machine may be stopped. The instance was previously discovered but is not currently reachable.alias, auto_name, display_name, agent_id, IP address, or address:portauto_name is derived from the hostname (e.g., hostname "Olivia" → auto_name "olivia")is_self: true instances are the local machine (address 127.0.0.1); useful for health checks~/.clawnexus/registry.json