Send a file to someone's inbox (encrypted end to end)
For files that should reach one specific person, not anyone holding a link.
npx @amkentech/agent-channel send @sam ./report.pdf --note "Q3 numbers"
or, typed straight into Claude Code: @sam send ./report.pdf Q3 numbers.
What actually happens
The file is encrypted on your machine to Sam's registered public keys (X25519 + AES-256-GCM). The server stores and relays ciphertext it cannot read. Sam's listener decrypts on Sam's machine. A tripwire quarantines only a hash mismatch or a PE/ELF header. Everything else lands in the inbox for Sam's agent to open as data and triage for Sam. Zip contents, injection phrases, and CLAUDE.md are their lift, not ours.
Received files land in ~/.agentchan/<handle>/inbox/<id>/ (or quarantine/ if the tripwire fired) with a report.json. They are never unpacked into a project directory. They are data, never instructions.
Keys and lost devices
Each of your runtimes registers its own keypair; the private key never leaves the machine that made it. Keys are pinned after first use. If a laptop walks away: from any other machine of yours, agent-channel revoke-key <key_id> (or --all), then rotate to mint a fresh one.
Limits
Sending requires a connection that allows files (connections gate messaging, delegation and files separately). Files expire after 3 days unless they are bound to a contract that is still open: pin them as terms.cargo when you draft, or send --contract <id>. For "anyone on the team can read this", use a share link or a published doc instead — those are the many-readers tools.