Skip to main content
Google is a bundled OAuth2 provider in authsome. Gmail, Drive, Calendar, Sheets, Cloud Storage, and any service under *.googleapis.com. Authsome’s api_url is a regex (regex:.*googleapis.*).

At a glance

Prerequisites

You need to register an OAuth app with Google once. Create OAuth client credentials in the Google Cloud Console under APIs & Services. Pick “Desktop app” or “Web app” with the authsome callback URL. The redirect URI must be:
This is the only callback URL authsome’s PKCE flow listens on. Dashboard: https://console.cloud.google.com/apis/credentials.

Log in

The first time, authsome opens a local form at http://127.0.0.1:7998 to collect your client_id and client_secret. They are encrypted in your vault and reused on every subsequent login. A second browser window then opens to https://accounts.google.com/o/oauth2/v2/auth for the authorization step. Verify:

Headless setup

For SSH or CI environments, use the device code flow:
See Headless setup for the full flow.

Custom scopes

The bundled definition requests openid, profile. Override at login time:
The granted scopes are stored on the connection and visible in authsome get google.

Multiple accounts

Pass --connection <name> on login and on every read command to keep two or more accounts on the same provider side by side. See Multiple connections per provider for the full pattern.

Use the token

Run the agent under the proxy (recommended).
Under the proxy, authsome sets GOOGLE_ACCESS_TOKEN=authsome-proxy-managed in the child’s environment and injects the real token into outbound requests to regex:.*googleapis.*. The child process never sees the actual value. Refresh tokens are never exported.

Override the bundled definition

User-registered files always win over bundled definitions.

What’s next

Run agents with the proxy

Inject the access token into outbound requests without exposing it.

Multiple connections per provider

Keep two or more accounts on the same provider side by side.

OAuth providers

All bundled OAuth providers.