Receiver CLI Reference

cloud-share-receiver is the NuGet global tool that connects to a running sender via Dev Tunnel, displays the queue in a local web UI, and lets you download and verify items.


Synopsis

  cloud-share-receiver [options]
  

Flags

FlagShortDefaultDescription
--port-p5001The local port for the receiver’s web server
--log-lwarningsLog level: verbose, warnings, or errors
--url-u(prompted)The sender’s Dev Tunnel URL
--secret-s(prompted)The session secret token from the sender
--no-promptSkip the interactive prompt; requires --url and --secret
--no-auto-openDo not open the web UI in the browser on startup
--help-hShow help text
--versionShow the tool version

Flag details

--port / -p

Sets the local TCP port for the receiver’s HTTP server.

  # Use port 9001 instead of the default 5001
cloud-share-receiver --port 9001
cloud-share-receiver -p 9001
  

ℹ️ Info: If you are running both sender and receiver on the same machine (e.g. for testing), use different ports for each. The sender defaults to 5000, the receiver to 5001.


--log / -l

Controls console log verbosity.

LevelWhat is shown
verboseAll messages including request traces and event stream details
warningsWarning and error messages only (default)
errorsError messages only
  cloud-share-receiver --log verbose
cloud-share-receiver -l errors
  

--url / -u

Specifies the sender’s Dev Tunnel URL directly, skipping the interactive prompt for that field.

  cloud-share-receiver --url https://abc123.devtunnels.ms
cloud-share-receiver -u https://abc123.devtunnels.ms
  

--secret / -s

Specifies the session secret directly, skipping the interactive prompt for that field.

  cloud-share-receiver --secret aB3kP9mQ2rTs
cloud-share-receiver -s aB3kP9mQ2rTs
  

⚠️ Warning: Passing the secret as a command-line flag will expose it in your shell history and process list. In sensitive environments, prefer the interactive prompt or use a secure environment variable piped to --secret.


--no-prompt

Skips the interactive startup prompt entirely. When this flag is set, --url and --secret must both be provided (either as flags or from the saved session).

  # Fully non-interactive start
cloud-share-receiver --no-prompt --url https://abc123.devtunnels.ms --secret aB3kP9mQ2rTs
  

This is useful for:

  • Scripts and automation
  • CI/CD pipelines
  • Environments where interactive input is not possible

--no-auto-open

Suppresses automatic browser launch on startup.

  cloud-share-receiver --no-auto-open
  

Session memory

The receiver saves your last-used tunnel URL and secret to:

PlatformPath
Windows%USERPROFILE%\AppData\CloudShare\receiver-session.json
macOS / Linux~/AppData/CloudShare/receiver-session.json

On the next run, these values are pre-filled in the startup prompt. You can press Enter to accept them, or type new values to override.

Session memory flow

  First run:
  Prompt: "Tunnel URL:" → user types URL → saved to session file
  Prompt: "Secret:"     → user types secret → saved to session file

Subsequent runs:
  Prompt: "Tunnel URL [https://abc123.devtunnels.ms]:" → press Enter to reuse
  Prompt: "Secret [aB3kP9mQ2rTs]:"                     → press Enter to reuse
  

Clearing the saved session

To clear the saved session, delete receiver-session.json:

  # Windows
del "%USERPROFILE%\AppData\CloudShare\receiver-session.json"

# macOS / Linux
rm ~/AppData/CloudShare/receiver-session.json
  

Or simply provide new values at the prompt — the new values overwrite the saved ones.


Startup prompts

When you start the receiver without --no-prompt, you will see:

   ██████╗██╗      ██████╗ ██╗   ██╗██████╗
██╔════╝██║     ██╔═══██╗██║   ██║██╔══██╗
██║     ██║     ██║   ██║██║   ██║██║  ██║
██║     ██║     ██║   ██║██║   ██║██║  ██║
╚██████╗███████╗╚██████╔╝╚██████╔╝██████╔╝
 ╚═════╝╚══════╝ ╚═════╝  ╚═════╝ ╚═════╝
         SHARE

Tunnel URL : https://
Secret     : 
  

Enter the tunnel URL (e.g. https://abc123.devtunnels.ms) and the secret token provided by the sender.

After successful connection:

  [12:35:10] Connected to sender.
[12:35:10] Subscribed to event stream.
[12:35:10] Opening browser...
[12:35:10] Listening on http://localhost:5001
  

Receiver proxy behavior

The receiver proxies all API requests through to the sender. This means:

  • The receiver’s local server (localhost:5001) forwards requests to the tunnel URL
  • There are no CORS issues because the receiver handles the cross-origin requests server-side
  • The browser only ever talks to localhost:5001 — it never directly accesses the tunnel URL

Examples

Interactive start (default)

  cloud-share-receiver
  

Provide URL and secret as flags (still shows prompt with pre-filled values)

  cloud-share-receiver --url https://abc123.devtunnels.ms --secret aB3kP9mQ2rTs
  

Fully non-interactive (for scripts)

  cloud-share-receiver \
  --no-prompt \
  --url https://abc123.devtunnels.ms \
  --secret aB3kP9mQ2rTs \
  --no-auto-open
  

Start on a custom port with verbose logging

  cloud-share-receiver --port 9001 --log verbose
  

Start on a custom port without browser

  cloud-share-receiver --port 9001 --no-auto-open