CLI reference
Use the same local transfer engine with commands that fit your scripts.
Discover devices
The output lists the ID, name, platform, addresses, port, and protocol version of receivers discovered through mDNS.
dukto --json peers --timeout 10CopiarReceive
By default, the CLI asks for approval for each incoming transfer. Use a different port from the desktop app when both run on the same computer.
dukto --name Studio receive --destination ./received --port 4243CopiarExplicit automation
--accept authorizes incoming transfers for this process only. --once exits after one attempt. Without an interactive terminal, --accept is required. Use a dedicated destination folder for tests.
dukto --json receive --destination ./received --port 4243 --accept --onceCopiarSend by ID or address
Use an IPv4 address. --timeout sets the total send deadline in seconds (default: 300). On a receiver, it limits each active connection, not idle wait time.
dukto send --peer ID -- ./folder
# Use an address if discovery is unavailable
dukto send --address 192.168.0.16:4243 -- ./folderCopiarRead the result
--json emits one JSON event per line. A sent event includes acknowledged: true only after the receiver confirms completion. Exit code 0 means success; failures return a nonzero code. A continuous receiver reports receive_error and continues. Use --data-dir to isolate device identity data.