hayate receive starts a listener that accepts one incoming transfer and then exits. You can run it in Pairing Mode — where it locates the sender automatically using a shared code phrase — or in Direct Mode, where it binds to a known port and waits for the sender to dial in. Both modes fully encrypt the transfer; Pairing Mode additionally uses the code phrase as a salt in the HKDF key derivation, so only peers sharing the exact phrase can decrypt the payload.
Pairing Mode Receive
Pass--code with the phrase your sender is using. Hayate listens for the sender’s mDNS or UDP broadcast announcement and connects automatically once it finds a matching peer.
Pairing Mode has a 60-second discovery timeout. If Hayate doesn’t hear a matching sender broadcast within that window, it exits with a timeout error. Make sure the sender has already run
hayate send --code "..." before this timer elapses.Direct Mode Receive
In Direct Mode, Hayate binds to a UDP port and waits. Tell the sender your machine’s IP address and the port number you chose. The default port is50001.
Specifying an Output Directory
Use--output to control where received files are saved. If the directory doesn’t exist, Hayate creates it. The default is the current working directory.
Auto-Accept
By default, Hayate shows a confirmation prompt when a transfer offer arrives, letting you inspect the filename, size, and sender address before accepting. Use--auto-accept to skip the prompt — useful in scripts, automated pipelines, or headless environments.
Binding to a Specific Interface
If your machine has multiple network adapters — for example, a wired and a wireless interface — use--bind to pin the listener to a specific IP address. This prevents Hayate from accepting connections on unintended interfaces.
Environment Variables
You can set default values for--bind and --port using environment variables, avoiding the need to type them on every invocation.
Headless and No-Progress Mode
For scripted or headless use, combine--no-progress and --auto-accept to run with no interactive output or prompts.
--no-progress, so you can capture it in logs or scripts.
Command Aliases
hayate receive has two shorter aliases — hayate recv and hayate rx — which are identical in behaviour and accept the same flags.
Transfer Completion
When a transfer finishes successfully, Hayate prints a summary that includes:- The filename and total bytes received
- Transfer speed and elapsed time
- The output path where the file was saved
- The computed checksum (Blake3 or SHA-256, matching what the sender used)