> ## Documentation Index
> Fetch the complete documentation index at: https://www.floe.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# floe send command

> Use the floe send command to share files or folders peer-to-peer from your terminal over an encrypted WebRTC connection, with no upload or account.

```bash theme={null}
floe send <file|folder> [file|folder...]
```

Starts a transfer session as the sender. Floe registers a short code with the signaling server, prints a sharing panel, then waits for a peer to connect. Once connected, it streams all files over an encrypted WebRTC data channel.

## Examples

Send a single file:

```bash theme={null}
floe send report.pdf
```

Send multiple files at once:

```bash theme={null}
floe send photo.jpg video.mp4 notes.txt
```

Send an entire folder (transferred recursively):

```bash theme={null}
floe send ./project
```

## Output

After running `floe send`, Floe shows a summary of what will be sent, then prints a sharing panel:

```
  Sending   3 files · 11.8 MB
  ─────────────────────────────────────────────────
  Code   olive-tiger-castle
  Link   https://floe.one/#room=...
  ─────────────────────────────────────────────────

  Waiting for peer...
```

Once the recipient connects, Floe negotiates the WebRTC connection and streams each file with a live progress bar:

```
  Connecting...
  Connected

  [1/3] report.pdf              [████████░░░░░░░] 8.1 MB/9.5 MB
  [2/3] photo.jpg               [████████████████] 2.3 MB/2.3 MB
  [3/3] notes.txt               [████████████████] 14 KB/14 KB

  ─────────────────────────────────────────────────
  Sent   3 files (11.8 MB)
  Time   8s · avg 1.4 MB/s
  ─────────────────────────────────────────────────
```

Share the **code** with CLI recipients or the **link** with browser recipients. The short code is valid for 10 minutes. The room link stays active until the session ends or you press `Ctrl+C`.

## Folder transfers

When you send a folder, Floe walks it recursively and preserves the directory structure on the receiving end. The recipient gets the same relative paths inside their output directory.

```bash theme={null}
floe send ./documents
# Transfers documents/report.pdf, documents/images/photo.jpg, etc.
# Receiver gets: ./documents/report.pdf, ./documents/images/photo.jpg
```

## Flags

See [Flags Reference](/docs/cli/flags) for `--server`, `--no-relay`, and `--web`.

## Notes

* Relayed transfers are capped at 2 GB per session; direct connections have no size limit. When the selected route runs through the TURN relay and the queued files total more than 2 GB, `floe send` blocks the transfer before any file data moves. See [The 2 GB Relay Limit](/docs/how-it-works/2gb-limit).
* Press `Ctrl+C` at any time to cancel the transfer and close the session.
* If the short code cannot be registered (for example, the signaling server is unreachable), Floe prints a warning and continues with the link only.
* Files are streamed in the order they are listed. For multiple files, progress is shown per file.
* The sender never reports to the global transfer counter. Only the receiver does. To opt out on the receiving side, the receiver uses `--no-report` or sets `FLOE_NO_STATS=1`.
