claude-in-chrome file_upload: no way to satisfy 'files the user has shared with this session' allowlist from Claude Code (drag-drop chip, @-mention, scratchpad all rejected)
Summary
The claude-in-chrome MCP file_upload tool rejects every local file path with:
Cannot upload "<path>": only files the user has shared with this session can be uploaded.
No sharing mechanism I could find registers a file with this allowlist from a Claude Code session, and the allowlist behavior itself appears in no documentation.
Environment
- Claude Code: 2.1.206 (reproduced; have since updated to 2.1.218 — will re-test and comment)
- Claude in Chrome extension: 1.0.81 (
fcoeoabgfenejglbffodgkkbkcdhcgfn) - macOS (Darwin 25.3.0), Chrome stable, extension paired and working for all other browser tools (navigate/read_page/computer/form_input all fine)
- Desktop-app-hosted Claude Code session
Repro
- Have a small local PDF, e.g.
~/Downloads/document.pdf(63 KB, single hard link, session has Read permission — theReadtool reads it fine). - Open any page with a file input (e.g. an Ashby job application form) via the claude-in-chrome tools; locate the file input's ref via
read_page/find. - Call
file_uploadwithpaths: ["/Users/<user>/Downloads/document.pdf"]. - → rejected with the "only files the user has shared with this session" error.
Sharing attempts that did NOT satisfy the allowlist:
- Drag-and-dropping the file into the Claude Code chat (a PDF attachment chip appears;
Readtool receives the original~/Downloadspath and reads it fine) —file_uploadstill rejects that exact path. @-mentioning the file path in chat — same result.- Copying the file into the session scratchpad dir (
/private/tmp/claude-<uid>/<project>/<session>/scratchpad/) — rejected. - Creating
<session>/outputs/and copying the file there (the tool description mentions "the session's outputs/uploads folders") — rejected.
Conditions from https://code.claude.com/docs/en/chrome (Read permission, <10 MB, no hard links) are all satisfied.
Expected
Either of:
- Drag-and-drop chat attachments (and/or files the session can Read) count as "shared with this session" and upload successfully; or
- Documentation states exactly which action registers a file with the allowlist from a Claude Code session.
Actual
All paths rejected; no documented way to satisfy the allowlist from Claude Code. The "session's outputs/uploads folders" phrase in the tool description doesn't correspond to any documented location.
Related
- #31210 (file_upload previously not exposed via the Claude Code MCP bridge)
Impact
Any Claude Code browser workflow that ends in a file upload (job application ATSes like Ashby/Lever, CMS uploads, support portals) dead-ends at this gate with no path forward, even when the user actively tries to share the file.