Preflight Checklist
What's Wrong?
Repo: anthropics/claude-code
Component: mcp-google connector (Cowork built-in) — also reproduced against the official drivemcp.googleapis.com/mcp/v1 connector
Connector version observed: mcp-google v0.1.0, commit dev, build date 2026-04-24T09:52:04.561Z
Environment: Cowork mode (research preview), Windows 11 desktop client
Summary
The Drive connectors silently omit the Google Drive v3 API parameters required to surface Shared Drive content. As a result, any user whose data lives in a Workspace Shared Drive (i.e. most business, club, and team accounts) cannot reach that content from Cowork — drive_list_files, drive_search_files, and drive_get_file return empty results or 404 Not Found instead of the actual files. The user's "My Drive" works fine, which makes the failure mode hard to spot at first.
Reproduction
Account: a Google Workspace account that is a member of one or more Shared Drives.
Step 1 — confirm that personal My Drive works
drive_list_files(folderId='<MY_DRIVE_ROOT_ID>') → returns folders/files as expected
Step 2 — try a Shared Drive root
drive_list_files(folderId='<SHARED_DRIVE_ROOT_ID>') → returns { files: [] } ← bug
Step 3 — try direct lookup of the Shared Drive root
drive_get_file(fileId='<SHARED_DRIVE_ROOT_ID>') → MESSAGE_NOT_FOUND "File not found: <SHARED_DRIVE_ROOT_ID>" ← bug
Step 4 — try searching for known content inside that drive
drive_search_files(query="'<SHARED_DRIVE_ROOT_ID>' in parents") → returns { files: [] } ← bug
drive_search_files(query="name = '2026 Committee' and mimeType = 'application/vnd.google-apps.folder'") → returns { files: [] } ← bug, even though the folder exists and the user has access
The same four calls against the user's My Drive root (a 0A... ID returned by drive_get_file with name "My Drive") all succeed, which proves the auth and account routing are correct.
Root cause
The Google Drive v3 API requires three flags to include Shared Drive content in files.list and files.get:
supportsAllDrives=true includeItemsFromAllDrives=true corpora=allDrives # or corpora=drive&driveId= for a specific Shared Drive
Without those, the API scopes the request to the user's "user corpus" (My Drive + sharedWithMe). Crucially, when a Shared Drive ID or a file inside one is referenced, the API does not return an auth error — it returns an empty list or 404. That makes the failure look like a permission problem when in fact it's a missing query parameter.
Reference implementations that handle this correctly: a-bonus/google-docs-mcp passes both supportsAllDrives and includeItemsFromAllDrives on every Drive operation (files.list, files.get, files.create, files.update, files.copy, files.delete, permissions.create).
Expected behaviour
drive_list_files, drive_search_files, drive_get_file, and any related tools should pass:
supportsAllDrives=true — on all operations
includeItemsFromAllDrives=true — on files.list style operations
corpora=allDrives by default for searches, or accept a driveId argument to scope to a specific Shared Drive
Actual behaviour
Shared Drive content is invisible. Users see folders and files in the Drive web UI but the connector cannot see them. There is no error indicating why — just empty results.
Impact
Severe for any Workspace customer using Shared Drives. In my session I was trying to:
- Locate the latest committee meeting minutes for a sporting club — stored in
Committee Shared Drive
- Cross-reference financial reports — stored in
Finance Shared Drive
- Pull policy documents — stored in
Policies And Governance Shared Drive
None of those drives are reachable. Only the secretary account's personal My Drive works. The Drive for Desktop workaround is not viable on Windows because Cowork's directory mount cannot traverse drive-letter mappings.
Notes on the second connector
The session also has the official Google Drive connector (drivemcp.googleapis.com/mcp/v1) connected. It exhibits the same flag-omission behaviour (get_file_metadata on a Shared Drive ID → "Requested entity was not found"; search_files with parentId='<SharedDriveId>' → empty). Whether that's a separate bug in the Google-hosted connector or a downstream wrapper is unclear, but the symptom is identical, so this fix should ideally be coordinated across both.
Related but distinct issues
None of those cover the missing API parameters reported here.
What Should Happen?
drive_list_files, drive_search_files, drive_get_file, and any related tools should pass supportsAllDrives=true, includeItemsFromAllDrives=true, and corpora=allDrives by default, so that Shared Drive content is visible alongside My Drive content.
Error Messages/Logs
Steps to Reproduce
- Sign into Cowork with a Google Workspace account that has access to one or more Shared Drives.
- Call
drive_list_files(folderId='<SHARED_DRIVE_ROOT_ID>') — returns { files: [] } (expected: list of files/folders).
- Call
drive_get_file(fileId='<SHARED_DRIVE_ROOT_ID>') — returns MESSAGE_NOT_FOUND (expected: drive metadata).
- Call
drive_search_files(query="name = 'KnownFolder'") — returns { files: [] } (expected: matching folder).
- Repeat steps 2–4 using the user's My Drive root — all return correct results, confirming auth is working.
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
No response
Claude Code Version
mcp-google v0.1.0, commit dev, build date 2026-04-24T09:52:04.561Z
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Terminal.app (macOS)
Additional Information
No response
Preflight Checklist
What's Wrong?
Repo: anthropics/claude-code
Component: mcp-google connector (Cowork built-in) — also reproduced against the official
drivemcp.googleapis.com/mcp/v1connectorConnector version observed:
mcp-googlev0.1.0, commitdev, build date2026-04-24T09:52:04.561ZEnvironment: Cowork mode (research preview), Windows 11 desktop client
Summary
The Drive connectors silently omit the Google Drive v3 API parameters required to surface Shared Drive content. As a result, any user whose data lives in a Workspace Shared Drive (i.e. most business, club, and team accounts) cannot reach that content from Cowork —
drive_list_files,drive_search_files, anddrive_get_filereturn empty results or404 Not Foundinstead of the actual files. The user's "My Drive" works fine, which makes the failure mode hard to spot at first.Reproduction
Account: a Google Workspace account that is a member of one or more Shared Drives.
Step 1 — confirm that personal My Drive works
drive_list_files(folderId='<MY_DRIVE_ROOT_ID>') → returns folders/files as expected
Step 2 — try a Shared Drive root
drive_list_files(folderId='<SHARED_DRIVE_ROOT_ID>') → returns { files: [] } ← bug
Step 3 — try direct lookup of the Shared Drive root
drive_get_file(fileId='<SHARED_DRIVE_ROOT_ID>') → MESSAGE_NOT_FOUND "File not found: <SHARED_DRIVE_ROOT_ID>" ← bug
Step 4 — try searching for known content inside that drive
drive_search_files(query="'<SHARED_DRIVE_ROOT_ID>' in parents") → returns { files: [] } ← bug
drive_search_files(query="name = '2026 Committee' and mimeType = 'application/vnd.google-apps.folder'") → returns { files: [] } ← bug, even though the folder exists and the user has access
The same four calls against the user's My Drive root (a
0A...ID returned bydrive_get_filewith name"My Drive") all succeed, which proves the auth and account routing are correct.Root cause
The Google Drive v3 API requires three flags to include Shared Drive content in
files.listandfiles.get:supportsAllDrives=true includeItemsFromAllDrives=true corpora=allDrives # or corpora=drive&driveId= for a specific Shared Drive
Without those, the API scopes the request to the user's "user corpus" (My Drive + sharedWithMe). Crucially, when a Shared Drive ID or a file inside one is referenced, the API does not return an auth error — it returns an empty list or
404. That makes the failure look like a permission problem when in fact it's a missing query parameter.Reference implementations that handle this correctly:
a-bonus/google-docs-mcppasses bothsupportsAllDrivesandincludeItemsFromAllDriveson every Drive operation (files.list, files.get, files.create, files.update, files.copy, files.delete, permissions.create).Expected behaviour
drive_list_files,drive_search_files,drive_get_file, and any related tools should pass:supportsAllDrives=true— on all operationsincludeItemsFromAllDrives=true— onfiles.liststyle operationscorpora=allDrivesby default for searches, or accept adriveIdargument to scope to a specific Shared DriveActual behaviour
Shared Drive content is invisible. Users see folders and files in the Drive web UI but the connector cannot see them. There is no error indicating why — just empty results.
Impact
Severe for any Workspace customer using Shared Drives. In my session I was trying to:
CommitteeShared DriveFinanceShared DrivePolicies And GovernanceShared DriveNone of those drives are reachable. Only the secretary account's personal My Drive works. The Drive for Desktop workaround is not viable on Windows because Cowork's directory mount cannot traverse drive-letter mappings.
Notes on the second connector
The session also has the official
Google Driveconnector (drivemcp.googleapis.com/mcp/v1) connected. It exhibits the same flag-omission behaviour (get_file_metadataon a Shared Drive ID → "Requested entity was not found";search_fileswithparentId='<SharedDriveId>'→ empty). Whether that's a separate bug in the Google-hosted connector or a downstream wrapper is unclear, but the symptom is identical, so this fix should ideally be coordinated across both.Related but distinct issues
None of those cover the missing API parameters reported here.
What Should Happen?
drive_list_files,drive_search_files,drive_get_file, and any related tools should passsupportsAllDrives=true,includeItemsFromAllDrives=true, andcorpora=allDrivesby default, so that Shared Drive content is visible alongside My Drive content.Error Messages/Logs
Steps to Reproduce
drive_list_files(folderId='<SHARED_DRIVE_ROOT_ID>')— returns{ files: [] }(expected: list of files/folders).drive_get_file(fileId='<SHARED_DRIVE_ROOT_ID>')— returnsMESSAGE_NOT_FOUND(expected: drive metadata).drive_search_files(query="name = 'KnownFolder'")— returns{ files: [] }(expected: matching folder).Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
No response
Claude Code Version
mcp-google v0.1.0, commit dev, build date 2026-04-24T09:52:04.561Z
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Terminal.app (macOS)
Additional Information
No response