| name | show-files-in-chat |
| description | Show a file to the user in chat. Display an image inline (chart, plot, screenshot, diagram, rendered figure, photo), or offer any other file (PDF, CSV, log, zip, spreadsheet, ...) as a download link. Use whenever you have a file on disk you want the user to see or download, or want to embed an image from a public URL. |
| metadata | {"author":"imbue"} |
Showing a file in chat
Your chat replies are rendered as markdown, so you can put a file in front of the
user directly -- there is no upload step and no external hosting. The system
interface serves a file at its absolute on-disk path, so the path you write in
the markdown doubles as the URL the user's browser fetches. Images render inline;
any other file is offered as a download.
Where to put the file
A file you show or share lives in a sensible, visible home under data/ --
there is no special chat directory. Put it where it topically belongs: the
relevant project folder if one exists (e.g. data/my-project/), else
data/documents/ for files and data/images/ for standalone images (create
either with mkdir -p if it does not exist). Everything under data/ is
gitignored and persists via the restic host backup.
Show an image inline
-
Write the image to its home (see above), giving it a unique, descriptive
filename, e.g. revenue-by-quarter-2026.png. Served image URLs are cached
immutably, so reusing a filename would leave the user looking at the stale
image.
-
Reference it by its absolute on-disk path with markdown image syntax:

The path must be absolute (start with /). A relative path such as
 will not render.
Supported inline image formats: .png, .jpg / .jpeg, .gif, .webp, .avif, .bmp, .ico, .svg.
Offer a file for download
For anything that is not an image -- a PDF, CSV, log, zip, spreadsheet, etc. --
write the file to its home (see "Where to put the file" above; any path works)
and reference its absolute path with an ordinary markdown link (not image
syntax):
[Q4 report (PDF)](/home/user/workspace/data/documents/q4-report.pdf)
Clicking the link downloads the file. There is nothing else to do -- the system
interface serves non-image files with a download disposition, so a plain link
becomes a download. Use a clear label that says what the file is.
Embed an image from a public URL
If the image already lives at a public URL, embed that URL directly -- no local
file needed:

Use the public-URL form for images you are referencing from the web, and the
local absolute-path form for files you produced on this machine.
Notes
- Both images and download links require an absolute path (starting with
/) that points at a file that actually exists on disk.
- If an image shows a broken-image icon, the usual cause is a relative or
mistyped path, or an extension that is not one of the inline image formats
above (a non-image extension is treated as a download, not an inline image).
- Only the exact file you reference is served; there is no directory listing.