Google Drive connector: connected/visible, intermittent empty search results, and pre-execution write failures
Environment: Normal ChatGPT conversation in the native iOS/iPadOS app on an iPad—not a custom GPT, agent flow, or scheduled automation.
Incident dates: September 12–13, 2026
Summary
Google Drive was shown as installed, enabled, and connected in ChatGPT, but Drive discovery intermittently returned no files despite known accessible files. During the same period, routine Google Docs writes repeatedly failed before reaching Google Drive. This workflow had worked reliably for weeks before September 12.
This was not a permanent authorization failure: later read-only searches returned multiple accessible files, a disposable test-document write succeeded, and a same-document replaceAllText control succeeded. Routine staging writes nevertheless continued to fail intermittently, sometimes succeeding unchanged on a later retry.
Observed symptoms
- September 12: Google_Drive.batch_update_document calls using Google Docs replaceAllText repeatedly failed before execution with: “Could not parse args as JSON.” A minimal ASCII-only retry and disconnect/reconnect did not help. No document change occurred.
- September 13: Google Drive appeared installed and enabled, while another connection/permission status reported not_installed. Changing permission to Allow all actions / full_access did not resolve the substantive write failure.
- September 13: Broad Drive discovery and searches for known existing items returned no files while Drive remained visible as connected.
- September 13: A staging-journal replaceAllText write was blocked before connector execution with: “This tool call was blocked by OpenAI’s safety checks. Please double check what you are sending.”
- Using the same document, marker, and request structure with a short TEST payload succeeded and returned occurrencesChanged: 1. A disposable Google Doc write also succeeded.
- A routine write initially received the safety-check block, a same-document TEST succeeded, and a later retry of the routine write succeeded.
- A subsequent read-only Drive search returned multiple accessible files, confirming that the earlier zero-file result was intermittent.
Affected actions included routine health check-ins, planned/completed rehabilitation logging, organizer updates, and staging-journal appends. Private values, filenames, document IDs, URLs, and file contents are omitted.
Smallest useful reproduction
Drive search
- In a normal ChatGPT chat in the native iOS/iPadOS app, confirm Google Drive appears connected.
- Ask: “Search my connected Google Drive for any accessible files. Read-only; do not change anything.”
- Repeat using the title of a known existing file.
- Intermittent result: no files are returned. A later retry may return them.
Google Docs write
- Add a unique marker such as [[APPEND_MARKER]] to a disposable Google Doc.
- Call Google_Drive.batch_update_document with one replaceAllText request, replacing the marker with TEST followed by the same marker.
- Repeat against the same document and marker with the same request shape, changing only the replacement text to a short structured routine-entry payload with all values redacted.
- Intermittent result: the request is blocked before connector execution by the safety-check message, fails with the JSON-parsing message, or succeeds only on a later unchanged retry.
Troubleshooting completed
- Reproduced in a normal ChatGPT conversation.
- Disconnected, reinstalled, and reconnected Google Drive.
- Changed permission to Allow all actions / full_access.
- Re-entered source data from scratch.
- Retried with minimal ASCII-only text.
- Tested a disposable document and short TEST payload.
- Compared control and routine payloads using the same document, marker, and request structure.
Expected behavior
When Drive is shown as connected, searches should consistently return authorized files. A syntactically valid replaceAllText request should either execute and return a Google API result or return a stable, actionable error. Equivalent request shapes should not alternate among empty search results, JSON-parsing failures, safety-check