UI & Queue Issues
Queue appears blank / items don’t appear
Symptom: The receiver queue is empty even though the sender has items queued.
Cause: This is usually a stale page or SSE connection issue.
Resolution:
- Refresh the receiver browser tab (
F5orCmd+R) - Check the connection status badge — if it shows Reconnecting or Disconnected, wait for it to turn green
- If the badge stays disconnected, verify the sender is still running
- If items were queued before the receiver connected, they should appear after the initial queue load on connect
“Invalid Date” or garbled text in queue
Symptom: Dates or text in the queue display as “Invalid Date” or appear garbled.
Cause: A browser caching or rendering issue, or a mismatch between an old receiver session and a new sender.
Resolution:
- Hard refresh the page:
Ctrl+Shift+R(Windows/Linux) orCmd+Shift+R(macOS) - If the issue persists, clear browser cache for
localhost - Ensure the receiver URL and secret match the current sender session
401 Unauthorized when opening the sender UI
Symptom: Opening http://localhost:5000 in the browser shows a plain 401 Unauthorized response — the UI does not load.
Cause: The sender web UI is protected by a one-time access token. Direct navigation to http://localhost:5000 without the token (or without the ui_token cookie from a previous authenticated visit) is intentionally rejected.
Resolution:
Use the URL the sender printed at startup. Look for the
Web UIline in the terminal — it includes the?token=parameter:Web UI : http://localhost:5000/?token=a1b2c3d4... (opening in browser...)Copy that full URL (including
?token=...) into your browser.Let the tool open the browser for you. By default the sender opens your default browser automatically to the correct URL. If you closed the tab, copy the token URL from the terminal instead of navigating to
localhost:5000directly.If you have already visited the token URL once, your browser stores the
ui_tokenHttpOnly cookie. Simply navigate tohttp://localhost:5000— the cookie will authenticate you. The 401 only occurs when the cookie is absent (e.g. a different browser, an incognito window, or after clearing cookies).If you restarted the sender, a new token is generated on each start. The old cookie is no longer valid — use the new
?token=URL from the latest startup output.
ℹ️ Info: This protection prevents any local process, browser extension, or malware from accessing the sender UI and reading the encryption secret embedded in the page HTML. See Security Features — Sender Web UI Token for full details.
404 on sender root / UI does not load
Symptom: Opening http://localhost:5000 shows a 404 or “connection refused”.
Cause: The sender is not running, or is running on a different port.
Resolution:
- Check if the sender process is still running in your terminal
- If it exited unexpectedly, restart it:
cloud-share-sender - If you started with a custom port, use that port:
http://localhost:<port>
File or text size exceeded
Symptom: Upload fails with:
Error: File exceeds maximum size of 100 MB
or
Error: Text exceeds maximum size of 10 MB
Cause: The content is larger than the allowed limit.
| Type | Limit |
|---|---|
| Text | 10 MB |
| File | 100 MB |
| Zip bundle | 100 MB |
Resolution:
- For text: split into smaller chunks, or save as a file and use file transfer
- For files: compress the file first, split it with
split(Linux/macOS) or7-Zip(Windows), or use a different transfer mechanism for very large files - For zips: remove some files from the bundle and send in multiple transfers
Zip password forgotten
Symptom: The receiver downloaded a zip bundle but cannot open it — the password is not known.
Cause: The zip password was set by the sender but not communicated to the receiver, or was forgotten.
Resolution:
The zip password cannot be recovered — it is not stored anywhere in the cloud-share system. The sender must:
- Re-create the zip bundle with a new (known) password
- Queue the new bundle
- Communicate the new password to the receiver through a secure channel
Getting more diagnostic information
For any issue not covered here, run with verbose logging to see detailed output:
# Sender
cloud-share-sender --log verbose
# Receiver
cloud-share-receiver --log verbose
Verbose logging shows:
- DevTunnels CLI output and tunnel creation steps
- All incoming HTTP requests and responses
- SSE connection events and reconnection attempts
- Encryption and hash computation steps (without revealing plaintext)