[FEATURE] claude-in-chrome's file_upload/upload_image cannot reference local folders — no "connected folders" mechanism exists

Open 💬 0 comments Opened Jul 8, 2026 by cmiyc5265

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

When automating browser tasks with the claude-in-chrome MCP extension (e.g. filling out a web form that needs a file upload), there's no way to upload a file from an arbitrary local folder. The file_upload tool only accepts files from three sources per its own description: chat attachments, the session's own scratchpad/output folder, or "folders the user has connected" — but no UI or mechanism actually exists to connect a folder. Any file living in a normal folder (Downloads, Desktop, a project folder, etc.) cannot be uploaded programmatically; the user has to click through the native OS file picker manually every single time, even for a fully repeatable/recurring automation (e.g. a daily blog-posting workflow with the same folder and file names).

Proposed Solution

Add a way to "connect" a local folder to a claude-in-chrome session, similar to how Claude Code's request_directory/ccd_directory already grants folder access for Read/Write/Bash tools:

  • A settings panel in the Claude in Chrome extension (or a callable tool) where the user picks a folder once.
  • Once connected, file_upload/upload_image should accept any file under that folder for the rest of the session (or until revoked).
  • Ideally, an existing mcp__ccd_directory__request_directory grant should already satisfy this, since users already use it to share folders with Claude Code — there's no clear reason file_upload needs a separate grant mechanism.

Alternative Solutions

Tried and failed:

  • Granting the folder via mcp__ccd_directory__request_directory — works for Read/Bash/Grep, but file_upload still rejects the same path.
  • Copying the files into the session's own scratchpad/temp directory (AppData\Local\Temp\claude\...\scratchpad) — still rejected with the identical "only files the user has shared with this session" error.
  • Attaching the image directly in chat and calling upload_image with a guessed imageId — failed with "Unable to access message history to retrieve image."

The only working method is manually clicking the file input in the real browser and picking files via the native OS dialog, which defeats automation for any recurring workflow.

Priority

Medium - Would be very helpful

Feature Category

MCP server integration

Use Case Example

Recurring workflow: a daily browser-automation task posts to a blog with 6 photos from a fixed local folder (e.g. Downloads\Quick Share). Every run reaches the image-upload step and fails because file_upload won't accept the folder path — the same 6 files have to be manually picked in the browser every single day, even though the folder and file-naming pattern never change. If the folder could be connected once, the whole workflow could run unattended end-to-end.

Additional Context

Observed on 2026-07-08 using the claude-in-chrome MCP server's file_upload and upload_image tools inside Claude Code. Exact error reproduced: Cannot upload "C:\...\file.png": only files the user has shared with this session can be uploaded. The wording implies a legitimate "connected folder" path is meant to exist, but no way to establish one was found in Claude Code, the Chrome extension's settings, or via mcp__ccd_directory__request_directory.

View original on GitHub ↗