1. R-CLI
  2. Attachments

Attachments let you send files with a message — a screenshot of a bug, a PDF spec, a CSV of failing rows.

​
Drag and drop

Drag one or more files onto the terminal window. R-CLI reads the dropped paths, validates each file, and replaces the raw paths in your prompt with a chip:

Why does this fail? [attachment #1]

Type your message around the chips as normal. Deleting a chip’s text removes that attachment.

Paths with spaces, quotes, and ~ are all handled, so a dropped path like ~/Desktop/Screen Shot.png attaches correctly.

​
Clipboard images

Press Ctrl+V to attach an image from your clipboard — useful for screenshots you never save to disk.

Some terminals capture Ctrl+V for their own paste behavior, so the keystroke may never reach R-CLI. If nothing happens, save the image to a file and drag it in instead.

Clipboard images are written to a temporary file, sent with your message, and deleted afterward. Any stragglers older than 24 hours are cleaned up at startup.

​
Limits

LimitValue
Maximum file size10 MB
Maximum attachments per message10

These are the CLI’s local limits and may differ from limits on API and SDK uploads.

Files that do not qualify are reported instead of silently dropped:

Skipped /Users/you/project/notes.key: unsupported file type .key
Skipped /Users/you/project/recording.mov: file exceeds the 10 MB limit
Skipped /Users/you/project/src: directories are not supported — drop individual files

A clipboard image that is too large is reported as Skipped clipboard image: file exceeds the 10 MB limit.

Starting a new thread with /new discards anything staged but not yet sent.

​
Supported file types

CategoryExtensions
Documents.pdf .doc .docx .ppt .pptx .xls .xlsx
Text and data.txt .csv .md .markdown .json .jsonl .xml
Code.py .js .ts .jsx .tsx .html .css .cpp .c .h .java .go .rs .rb .php .sql
Images.png .jpg .jpeg .webp .gif .bmp .tiff .tif
Audio.mp3 .wav .m4a .ogg .flac .aac
Video.mp4 .mov .avi .mkv .mpeg .mpg .webm

For source files already in your project, asking the agent to read the path is usually better than attaching it — the agent can search and read the surrounding code too. Attachments are best for content that is not in the repo.