How to bypass “Script not verified by Google” Warning

When executing a new or modified Google Apps Script, users are often blocked by a full-screen safety warning stating that the “Script not verified by Google.” This interruption occurs because the script requests access to sensitive user data before Google has formally audited the project. For internal tools or personal macros, you can bypass this screen safely by clicking the hidden configuration links inside the warning dialog box to grant manual authorization.

Fast-Fix: The 45-Second Solution

To bypass the “Script not verified by Google” warning immediately, click the small “Advanced” link at the bottom left of the alert screen, select “Go to [Your Script Name] (unsafe)”, and click “Allow” on the following permissions prompt.

Quick Risk Snapshot

  • Severity: Low (It is a standard security gate, not an execution failure or data corruption bug)
  • Safe to Proceed?: Yes, provided you or your internal team wrote the code. Never bypass this for untrusted, third-party scripts.
  • Primary Cause: The script uses sensitive OAuth scopes and has not completed Google’s formal developer verification process.
  • Rare Cause: A mismatch between the project’s Google Cloud project configuration and the active script file.

Low Risk vs. High Risk Paths

  • If the script is strictly for internal use or personal automation: Bypassing the warning is entirely safe. It functions as a digital safety switch on a circuit breaker, tripping simply because the circuit is new, not because it is shorted out.
  • If the script is distributed publicly to external clients: Forcing users to bypass this screen is a high-risk operational path. It damages trust, looks unprofessional, and can be completely blocked if your Workspace domain administrator enforces strict app verification rules.

How Google Apps Script Verification Works

Google uses an automated safety gate to protect users from malicious code that could silently wipe their Google Drive or exfiltrate their emails. Think of this verification process like a security guard checking IDs at a secure facility entrance. When your code uses an advanced service, such as SpreadsheetApp, GmailApp, or DriveApp, the script engine scans the code and calculates the exact level of access required.

If those required permissions cross into Google’s designated “sensitive” or “restricted” zones, and the script project hasn’t been officially audited and signed off by Google’s security team, the engine flags the application. The system deliberately hides the execution path behind an “Advanced” toggle menu to prevent non-technical users from accidentally authorizing unsafe code.

Probability Breakdown

  • Unverified Internal Code (85%): The script is a home-grown macro or internal business tool that does not require public distribution, meaning it does not need a formal Google review.
  • Modified Manifest Scopes (10%): A previously working script was updated to call a new service, which silently added a sensitive scope that re-triggered the verification gate.
  • Incorrect Google Cloud Project Binding (5%): The Apps Script file is manually linked to an external Google Cloud project that has an incomplete OAuth consent screen setup.

What Increases the Risk

The frequency of this warning increases when developers use broad, unoptimized API calls. For example, using a global scope that asks for full access to a user’s entire Google Drive when the script only needs to modify a single spreadsheet will trigger the harshest verification screens. The operational risk also jumps if your organization routinely relies on temporary contractor accounts to write core operational scripts, as those scripts will show the unverified flag to every full-time employee who tries to run them.

Consequence Timeline

  • Immediate (First 5 Minutes): Users cannot run custom sheet operations, automated data syncs, or custom email merges until they navigate the hidden links.
  • 24 Hours: Untrained staff members assume the script is broken or contains a virus, leading to abandoned workflows and urgent helpdesk tickets.
  • 1 Week: If the script is client-facing, conversion drops significantly as external users abandon the app rather than clicking through an “unsafe” warning.

What This Is Confused With

This warning is frequently confused with an authentication loop, where the system continuously asks for permissions over and over without executing “Authorization is required” (The Auth Loop). It is also distinct from a script permission block “Script does not have permission for that service”, which represents an absolute administrative ban on an API service rather than a simple unverified warning screen that can be bypassed.

What To Do Right Now

Open the interface where the script is running and trigger the authorization sequence. When the red warning icon appears, look past the large “Back to safety” button. Click the faded, small text link that says Advanced. A hidden text block will expand below it. Click the link at the very bottom labeled Go to [Script Name] (unsafe). This action opens the explicit permission list where you can review the requested scopes and click Allow to white-list the execution.

Hard-Stop Triggers

  • Workspace API Access Policies: If your domain admin has checked the box to “Block all unverified API applications” inside the Google Admin Console, the “Advanced” link will be completely disabled, preventing anyone in the organization from bypassing the screen.
  • Restricted Scope Violations: If your script uses a heavily restricted API (like advanced Gmail data extraction) and is running from a consumer @gmail.com account, Google may block the bypass path entirely until an external Google Cloud audit is initiated.

What an Admin Will Check

A system administrator debugging this block will open the Google Admin Console and navigate to Security > Access and data control > API controls. They will inspect the organization’s app verification settings to see if internal users are permitted to trust unverified apps. They can also use the script’s unique deployment ID to add it to an internal trust list, which whitelists the application domain-wide and silences the warning screen for all internal employees instantly.

Typical Effort Range

Bypassing the screen manually is an Instant/Very Low Effort task for an individual user. Whitelisting the script globally across an enterprise domain via the Admin Console or configuring explicit scopes inside the manifest to minimize warnings requires Low to Moderate Effort (roughly 15 to 30 minutes of administrative configuration).

If you clear this warning but your script immediately fails with a syntax or deployment error, you may have an issue within your project configuration file. Ensure your backend settings are correct by reviewing your internal manifest configurations Resolving appsscript.json “Invalid manifest” Errors or learn how to explicitly narrow down your app permissions to avoid triggering these screens entirely How to manually add oauthScopes to your Manifest.

Workspace Assessment

Bypassing the unverified warning screen is a perfectly normal step during the development and use of internal Apps Script tools. Click through the “Advanced” toggle to keep your workflows moving, but make sure your developers explicitly define narrow scopes inside the script configuration files. Minimizing unnecessary permissions ensures your team won’t be constantly forced to navigate security warnings during minor code updates.