Skip to main content

postie

Send files and text to your own devices (phone, tablet, laptop, browser) from any terminal, or from your AI coding agent. It's end-to-end encrypted, and goes over your Wi-Fi when the device is nearby.

Install

  1. Install uv (it puts postie on your PATH for you). Search "install uv" and paste the command astral.sh shows:

    Platform Command
    Windows (PowerShell) winget install astral-sh.uv
    Mac / Linux curl -LsSf https://astral.sh/uv/install.sh | sh
  2. In a new terminal:

    uv tool install postie-cli
    uv tool update-shell
    
  3. In another new terminal, postie login. Update later with uv tool upgrade postie-cli.

pip install postie-cli works too, but pip usually puts postie in a folder that isn't on your PATH (it prints a warning naming that folder). Add it to PATH yourself (on Windows: Start → "Edit environment variables for your account" → Path → New), or use uv.

Use

postie login                  # sign in with Google (or: postie login CODE)
postie photo.png m6           # device = any part of its name
postie photo.png m6,mac       # several at once, or: all
postie ./dist m6              # a folder is zipped
postie "hello" m6             # text
cmd | postie m6               # stdin
postie get                    # receive
postie ls                     # devices

The verb is optional, and the device you used last is the default. --json gives plain output for scripts.

For AI agents

postie mcp is an MCP server, so your coding agent can send to your devices. Add it once:

claude mcp add -s user postie -- postie mcp     # Claude Code
codex mcp add postie -- postie mcp              # Codex

Cursor (the app and its agent CLI) reads ~/.cursor/mcp.json. Add this to it:

{ "mcpServers": { "postie": { "command": "postie", "args": ["mcp"] } } }

Any other MCP agent: the command is postie, the argument is mcp. If an app can't find postie, give it the full path (which postie, or where postie on Windows).

Then ask your agent to "send the APK to my phone".

Get the Postie apps for Android, iPhone, Mac, Windows, Linux and the browser at postie.xlonlabs.com.

Metadata

Release files for postie-cli 3.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for postie-cli 3.5.1
File
postie_cli-3.5.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
postie_cli-3.5.1-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
postie_cli-3.5.1-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
postie_cli-3.5.1-py3-none-macosx_11_0_x86_64.whl Python 3 none macOS 11.0+ x86-64 Details
postie_cli-3.5.1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details

Total release size: 28.4 MB

Release files / postie_cli-3.5.1-py3-none-win_amd64.whl

Download URL postie_cli-3.5.1-py3-none-win_amd64.whl
Size 5.5 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
e3c56a70683bfe787ece564c990e2b06a82bb2fbd204d55c1575ead3ff2425de
BLAKE2b-256 checksum
How to use checksums
4ae7ae4d5b6c3ee3c30a1bfbafd392af04c86c08c077b878d03413ce9ea29115
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / postie_cli-3.5.1-py3-none-manylinux_2_28_x86_64.whl

Download URL postie_cli-3.5.1-py3-none-manylinux_2_28_x86_64.whl
Size 5.9 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
87f45dfd1816bc00a9fb4104049d56947a87d618687a60b4deaa8c22bb2c5e93
BLAKE2b-256 checksum
How to use checksums
bc32af674323208e4869d7dc112b54d6203613e1aa3eb383ad874b551706ab09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / postie_cli-3.5.1-py3-none-manylinux_2_28_aarch64.whl

Download URL postie_cli-3.5.1-py3-none-manylinux_2_28_aarch64.whl
Size 6.0 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
703f173edcd94bef4c43bc190c06d7b90c3ebfbea632db534698a64be804c435
BLAKE2b-256 checksum
How to use checksums
e7f3e271795f2cddc2b744456fcacfdb5b254dd253777a4d1ff2691b2bcfb80b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / postie_cli-3.5.1-py3-none-macosx_11_0_x86_64.whl

Download URL postie_cli-3.5.1-py3-none-macosx_11_0_x86_64.whl
Size 5.4 MB
Tags Python 3 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
a594464ccdd5690f6bedc3487597ee116eef229d9b4a4c7db37b6cb1d7761788
BLAKE2b-256 checksum
How to use checksums
a6e755be55ae5d6342e6fdb52097a77ca594dee8ccf41215d4aad8e3a8ad287f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / postie_cli-3.5.1-py3-none-macosx_11_0_arm64.whl

Download URL postie_cli-3.5.1-py3-none-macosx_11_0_arm64.whl
Size 5.5 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a42acb44bb1434c348da35870f32ad0b9086f298c4480bd8f67a26c01b09c8d8
BLAKE2b-256 checksum
How to use checksums
95b97f82f8fad6f4d235bf389d261c2532f98695e17f2a5a5602cc9687778671
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

3.5.1 This release

5 release files

3.5.0

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page