When I read that attachments now go up to 20MB, the first thing I pictured was the pile of exports sitting on my desktop: a spreadsheet of store reviews, an analytics dump, a copy of a config file. My hand was already heading for the drag-and-drop, and then it stopped.
Being able to hand something over is not the same as being right to.
This post is about the way I draw that line for the arbitrary-file attachment added in Antigravity app v2.28.0. The official changelog confirms one thing: any file up to 20MB can be attached. I haven't verified how well each file type is read, so I won't guess about that here.
What is confirmed, and what is not
The v2.28.0 update (October 27, 2026) shipped three things together.
| Item | What it does | In this post |
|---|---|---|
| Arbitrary file attachment | Up to 20MB | The topic |
| Built-in browser | Opens in the side panel | Not covered |
| PDF viewer | Shows PDFs inside the app | Not covered |
v2.28.1 then added a notice when third-party tools are involved. That is a separate change, but it points the same direction: when something external is in the loop, the app wants you to pause.
Three questions before I press attach
1. Does the file contain someone's personal data or a secret? An email list, an order history, a token that slipped into a log. You rarely spot it by eye, and it can sit on row 100 of a CSV.
2. Am I sharing only what the task needs? Usually a few dozen rows reproduce the problem. The full export is rarely required.
3. Can I check the result myself? If the agent is going to aggregate something, I want to be able to recount part of the answer by hand. A file I can't verify isn't worth handing over.
Where I actually hesitate: app review exports
As an indie developer maintaining a wallpaper app, I regularly export store reviews across many languages. Most rows are feedback and requests, but some include a reviewer name I kept for replies, or a contact address the reviewer volunteered in the text.
I often want to ask an agent to count requests by type, and 20MB would easily hold the whole export. I still hand over only the review text and the rating column. Counting needs nothing else, so names and contact details stay on my machine.
Hand over, trim first, keep out
Applied to those questions, files fall into three groups.
| Group | Examples | What I do |
|---|---|---|
| Hand over as-is | Public specs, my own design notes, a screenshot of an error | Attach it |
| Trim first | Review exports, access logs, analytics exports | Drop identifying columns, cut the row count |
| Keep out | Environment files, private keys, payment statements, customer contacts | Don't attach; describe the structure in words |
For the third group I describe the shape, not the contents. Something like "three columns: a date, a number, a string" is usually enough for the agent to build a convincing dummy.
Trimming takes a few lines
For files in the middle group, I strip them down before attaching. This example drops everything except three columns and keeps the first 50 rows, saved under a new name.
# What it solves: make a smaller shareable copy without touching the original
cut -d',' -f1,3,4 reviews_export.csv | head -n 51 > reviews_for_agent.csv
wc -c reviews_for_agent.csv # confirm it is nowhere near 20MBWhy it is written this way: the original is never overwritten, the column numbers say explicitly what stays, and the last line gives me a quick sense of scale. If your CSV has quoted fields containing commas, cut will misalign them, so pick columns another way in that case.
The line I drew from a near miss
Imagine opening an export and finding a column of email addresses running down the right edge. Anyone who maintains apps for a while will recognize that moment. Picture having attached it without looking, and my stomach drops.
So I keep a ten-second habit: open the file and look before attaching it.
Open it first, and cut out only what you intend to share. With the limit now at 20MB, that habit is worth more than before.
Your next step
Pick one file you were thinking of attaching and run it through the three questions. If any answer is "no", trim it first. That is the order I plan to keep following.