It’s so strange to me I can’t attach .xlsx files to my Cursor agent sessions when I click the paperclip “attach file” button, but when I drag the file into the chat message input, I can get it in…
Why would the file allow-list between both these UX flows be inconsistent?
For AI issues: which model did you use?
Model name (e.g., Sonnet 4, Tab…)
For AI issues: add Request ID with privacy disabled
Request ID: f9a7046a-279b-47e5-ab48-6e8dc12daba1
For Background Agent issues, also post the ID: bc-…
Additional Information
Add any other context about the problem here.
Does this stop you from using Cursor?
Yes - Cursor is unusable
Sometimes - I can sometimes use Cursor
No - Cursor works, but with this issue
The more details you provide, the easier it is for us to reproduce and fix the issue. Thanks!
The two paths are actually doing different things under the hood, allow me to explain…
The paperclip “attach file” button uploads the file’s contents to the model, so it’s limited to formats the model can read directly: images, PDFs, and common text files (.csv, .txt, .md, .json, and similar). .xlsx isn’t readable as plain text, so it’s intentionally not on the list of formats the button accepts.
Dragging a file in does something different: instead of uploading the contents, it inserts a reference to the file’s path (an @-mention). There’s no format filter on that path, which is why the .xlsx slips in. The catch is that a binary spreadsheet still isn’t directly readable, so the agent typically has to open and parse it with a script, and the raw bytes don’t always come through cleanly.
So the inconsistency you’re seeing is real, but the drag route isn’t actually giving you a better result for spreadsheets. It’s referencing the file rather than handing clean data to the model.
One possible approach today is to export the sheet to .csv (or Markdown) and then attach or @-mention that. Once it’s plain text, the model reads it directly and accurately, with no scripting detour. If you’d rather keep the .xlsx, you can also just ask the agent to read it, and it’ll parse it with a tool, but CSV is the smoother path.