CLI reference

yungle sends files and folders from a terminal, a script or a build server, and resumes an interrupted upload when you run the same command again. Every command takes --json, so the same tool serves a person and a pipeline.

Install and sign in

npm install -g yungle-cli
yungle auth login      # paste a key from Settings → API keys
yungle auth status

The key is read from YUNGLE_API_KEYfirst, then from the CLI’s config file. On a build server, set the environment variable and skip auth login entirely.

Commands

yungle auth login

Asks for a key and checks it against the API before saving it, so a typo fails now rather than on your next upload. The key is stored in the CLI’s config file; YUNGLE_API_KEY in the environment takes precedence over it, which is what you want on a build server.

yungle auth status

Prints the workspace and plan the current key belongs to, or says you are not signed in.

yungle send <paths…>

Creates a transfer from files and folders (folders keep their structure), uploads them resumably, sends it, and prints the link. With no --to it is a link-only transfer and nobody is emailed. If the upload is interrupted, run the same command again and it continues where it stopped.

FlagWhat it does
--to <email>recipient (repeatable, or comma-separated)
--message <text>note for the recipients
--title <text>label for your dashboard
--password <text>recipients must enter this
--expires <days>lifetime, clamped to your plan

yungle push <paths…> --collection <id>

Uploads files and folders into an existing collection, building its folder tree from the paths you give. Collections are a paid feature. Resumable in the same way as send.

FlagWhat it does
--folder <id>target folder

yungle ls transfers|collections|contacts

One line per item: id, name, size and — for transfers — download count and link.

yungle rm transfer <id>

Immediate and irreversible: the files’ encryption keys are destroyed, and links already sent stop working.

yungle mcp install

Adds the Yungle MCP server to an assistant’s configuration, with your key. It refuses a key that can write, so the assistant can read your transfers and collections but never send, delete or invite.

FlagWhat it does
--client <id>claude-desktop | claude-code | cursor | windsurf
--dry-runshow what would change, write nothing

yungle mcp status

Lists which assistants on this machine have the Yungle MCP server configured.

Global flags

FlagWhat it does
--jsonmachine-readable output
--url <base>override the API base URL

Scripting it

With --json, the result is one JSON object on stdout. Progress and diagnostics go to stderr, so a pipe into jq stays clean:

URL=$(yungle send ./render.mp4 --json | jq -r .url)
echo "Ready: $URL"

send --json prints id, url, expiresAt and notified (the addresses that were emailed). push --json prints the collection id, the number uploaded and the collection’s url.

The CLI cannot reach your vault or send end-to-end encrypted transfers: both need a key derived in your browser, which by design never reaches Yungle.

See also