Documentation Index
Fetch the complete documentation index at: https://amd-gaia.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Connector ID:
google · Type: oauth_pkce · Catalog entry: src/gaia/connectors/catalog/google.pyWhat you’ll need
Google requires every desktop app — including GAIA running locally — to identify itself with an OAuth client that you create in your own Google Cloud project. This sounds heavy, but for a single-developer machine it takes about three minutes and is free. You will create one OAuth client and paste two values into the GAIA Agent UI: a Client ID and a Client Secret. After that, GAIA stores them encrypted in your OS keyring and you never need to think about them again.Step 1 — Create a Google Cloud project
If you already have a project you use for hobby projects, skip ahead. Otherwise:- Go to the Google Cloud Console.
- Click the project dropdown at the top → New project.
- Name it something like
gaia-personaland click Create.
Step 2 — Enable the APIs you want to use
GAIA only sees the Google APIs you explicitly enable on the project. For a typical setup enable at least:- Gmail API — to read/send mail
- Google Calendar API — to read/create events
- Google Drive API — to read/manage files
Step 3 — Configure the OAuth consent screen
Google requires you to fill in a consent-screen form before it will issue OAuth credentials, even for personal-use apps.- Go to APIs & Services → OAuth consent screen.
- Pick External as the user type and click Create.
- Fill in the required fields:
- App name:
GAIA Personal(or whatever) - User support email: your email
- Developer contact email: your email
- App name:
- Click Save and Continue through the Scopes and Test users pages — leave them empty for now. You’ll add yourself as a test user in the next step.
Add yourself as a test user
While the app is in Testing publishing status (the default), only test users can authenticate. Add your own Google account:- OAuth consent screen → Test users → Add users.
- Enter your Google email and Save.
Step 4 — Create the OAuth client
This is the credential GAIA uses.- Go to APIs & Services → Credentials → Create credentials → OAuth client ID.
- Application type: Desktop app.
- Name:
GAIA(or whatever you want). - Click Create. A dialog shows the Client ID and Client Secret. Copy both — you’ll paste them into GAIA in a moment. You can also download the JSON.
Step 5 — Paste credentials into GAIA
- Launch the Agent UI:
gaia chat --ui. - Click Settings (gear) → Connections.
- Click the Google tile to expand it.
- Paste the Client ID and Client Secret from Step 4.
- Click Save & Connect.
- Store the credentials in your OS keyring (macOS Keychain on Mac, gnome-keyring/kwallet on Linux, Credential Locker on Windows).
- Open Google’s consent screen in your default browser.
- Receive the callback on a temporary loopback server.
- Exchange the auth code for a refresh token (also stored in the keyring).
Step 6 — Grant scopes to specific agents
Connecting Google doesn’t automatically give every agent access to your inbox. Each agent must be granted the specific scopes it needs. You can do this in the UI or the CLI:src/gaia/connectors/catalog/google.py.
Common issues
redirect_uri_mismatch
You probably picked Web application instead of Desktop app in
Step 4. Delete the OAuth client and create a new one with the right
type — Web application clients require a registered redirect URI,
which GAIA can’t provide because it picks an ephemeral port.
Access blocked: ... has not completed Google verification
Add yourself as a test user (Step 3, “Add yourself as a test user”).
Apps in Testing mode only allow listed test users.
Error 400: invalid_grant after a long while
Refresh tokens expire if your app stays in Testing mode for more than
seven days without use. Reconnect from the Agent UI’s Connections
panel — it will issue a new refresh token.
client_secret is missing
You either skipped pasting the Client Secret in Step 5, or the
connection blob in your keyring predates a GAIA upgrade. Disconnect
and reconnect from the UI to reset.
Revoking access
Two places — both work:- From GAIA: Settings → Connections → Google → Disconnect.
Removes the refresh token from the keyring; the next API call
errors with
NOT_CONNECTED. - From Google: myaccount.google.com/permissions → find your OAuth client → Remove access. Useful if you’ve lost the laptop the keyring lives on.