Files and image sharing
Upload images to get a short, expiring URL you can paste anywhere — and attach arbitrary files to an agent prompt in chat mode.
Files is Moshi's pastebin-style upload surface. Anything you upload becomes a short HTTPS URL you can drop into Slack, a GitHub issue, an agent prompt, or your desktop browser.
For the agent-prompt paste flow that mimics desktop Cmd-V, see Image paste. This page covers the pastebin use case and the chat-mode attach flow.
What it is for
- Uploading screenshots and photos to get a short URL you can share.
- Keeping a history of recent uploads so you can re-grab a URL without re-uploading.
- Sending content to coding agents that can fetch URLs but can't read the iOS clipboard.
The URLs expire on their own, so you don't have to remember to clean up later.
How uploads work
Uploads go over HTTPS to Moshi's web service. Authentication reuses your push-notification token, so push notifications must be enabled for Files uploads to work.
HTTPS-only keeps the URL host-independent: you can paste it into a desktop browser, a chat app, or a different terminal session entirely — it's not tied to any SSH connection you happen to be on, and it works fine from mosh-only sessions where SSH transport isn't available.
Pastebin use cases
A few examples of the way Files is used day-to-day:
- Snap a photo of a stack trace on a teammate's monitor, upload, paste the URL into Slack.
- Generate a screenshot for an issue, upload, paste the URL straight into
gh issue create. - Save a recurring image (a logo, a reference shot) and re-grab the URL from history rather than re-uploading.
Attaching files in chat mode
The Files screen is image-focused. To attach a non-image file (PDF, log, archive, config, code) to an agent prompt, use chat mode on the terminal:
- Open the terminal toolbar and switch to chat mode.
- Tap the attach button to open the Add attachment sheet.
- Pick Camera, Photo, Clipboard, or File — the last one opens the iOS document picker for any file type.
The attached file is uploaded inline and referenced in the prompt, so the agent sees it as part of the message. This is the right path when the file is part of a specific prompt and you don't need a long-lived URL.
Good prompt pattern
After copying a URL from Files, paste it into your agent with a direct instruction:
$> Review this screenshot and tell me which UI element is misaligned: https://...
Short, explicit prompts work better than only pasting a URL.
Image list
The Files screen shows uploaded images with thumbnails, creation time, and expiration status. Tap an active image to copy its URL. Swipe to delete an image from the list.
Expired images cannot be copied as working links. Delete old entries to keep the list clean.
Home screen visibility
You can choose whether Files appears on the home screen. Turn it on if uploads are part of your regular agent or sharing workflow; leave it off if you only use it occasionally from Settings.