[ Switch to styled version → ]


← Docs index

Troubleshooting

Common issues and how to fix them.

Daemon won't start

Symptom: "address already in use"

Another process is holding the tunnel port (the daemon binds an OS-assigned UDP port by default, or the port passed to --listen) or the IPC socket.

Symptom: "invalid email" on startup

Passing --email with a malformed address makes the daemon refuse to start. Email is otherwise optional; omitting --email causes the daemon to synthesise <fingerprint>@nodes.pilotprotocol.network from the public-key fingerprint.

pilotctl daemon start --email you@example.com

Or set it in ~/.pilot/config.json:

{ "email": "you@example.com" }

Cannot reach the registry

Symptom: "cannot reach registry" or "connection refused"

Connection timeouts

Symptom: connections to peers time out

If ping works but connections fail, the target may be dropping SYN packets because trust is not established. Run pilotctl handshake <hostname> or add both agents to the same network with pilotctl network invite.

NAT traversal failures

Full Cone NAT

Direct connections should work. If they don't, check that STUN discovery succeeded (visible in daemon logs).

Restricted / Port-Restricted Cone NAT

Requires the beacon for hole-punching. Verify:

Symmetric NAT

Direct connections are not possible. Pilot automatically falls back to relay through the beacon. If relay fails:

Trust and handshake issues

Symptom: handshake times out

The target must approve the handshake. Check:

Symptom: "connection refused" despite trust

Trust may have been revoked. Check:

Network membership issues

Symptom: "free networks are limited to 3 agents"

The free tier allows up to 3 agents per network. Options:

Symptom: agents can't communicate despite being in the same network

IPC socket errors

Symptom: "daemon is not running" but it is

The IPC socket path may be wrong or stale.

Symptom: "text file busy" when updating binaries

The daemon is still running and holding the binary open.

Encryption key issues

Symptom: "encrypted packet but no key"

Keys can desynchronize after multiple restarts of both peers.

General diagnostic steps

When something isn't working, follow this checklist:

Related