Integrating Nest is one of the most tedious integrations in Home Assistant. It requires a VPN, because Google enforces very strict security verification.
Please be mentally prepared: the whole process takes about 20-30 minutes, and Google charges a one-time developer fee of 5 USD (charged by Google, not by HA).
✅ Preparation (Must Read)
- Account: you need a Google account (a personal Gmail rather than a G-Suite account is recommended).
- External access: your Home Assistant must be reachable over HTTPS (for example with an SSL certificate configured), or you must be using the Nabu Casa cloud service.
- Credit card: used to pay the 5 USD Google Device Access fee.
- Use a computer: please do this in a desktop browser, not on a phone.
Step 1: Create a Google Cloud Project (GCP)
We first need to apply for a cloud project from Google to obtain API permissions.
- Visit and sign in.
- Click the project drop-down menu in the top left and select New Project.
- Project name: anything you like, for example HA-Nest.
- Click Create.
Once the project is created, make sure the HA-Nest project you just created is selected in the top left.
Enable the APIs:
- Click API & Services > Library in the left menu.
- Search for Smart Device Management API, click into it and Enable it.
- Search again for Cloud Pub/Sub API, click into it and Enable it.
Step 2: Configure the OAuth Consent Screen
- In the Google Cloud Console left menu, click API & Services > OAuth consent screen.
- For User Type choose External, then click Create.
- App information:
- App name: Home Assistant
- User support email: choose your email.
- Developer contact email: enter your email.
- Leave the rest blank and click Save and Continue.
Scopes: just click Save and Continue to skip.
Test users:
- Click Add Users.
- You must enter your own Google email address (the one you use to sign in to Nest).
- Click Save and Continue.
Step 3: Get Credentials
- Click API & Services > Credentials in the left menu.
- Click Create Credentials at the top > OAuth client ID.
- Application type: choose Web application.
- Name: HA Credentials.
- Authorized redirect URIs:
- Click Add URI.
- Enter: https://my.home-assistant.io/redirect/oauth
- Note: this is the simplest officially recommended way, avoiding the need to configure a complex URL yourself.
Click Create.
Important: a Client ID and Client Secret will pop up on the screen.
- ⚠️ Be sure to copy these two strings and save them in a notepad; you will need them very soon!
Step 4: Register the Device Access Console (5 USD fee required)
- Visit.
- Click Go to the Device Access Console.
- Accept the terms and pay the 5 USD fee (skip this if you have paid before).
- After payment is complete, click Create project.
- Project Name: enter HA Nest.
- OAuth client ID: enter the Client ID you obtained in Step 3.
- Click Next.
- Events: make sure Enable Events is checked, then click Create project.
- Important: after successful creation you will see a Project ID (usually a long string of characters, like a UUID).
- ⚠️ Copy this Project ID, save it in your notepad and label it Device Access Project ID.
Step 5: Integrate in Home Assistant
Go back to your Home Assistant interface (version 2025.12.2).
- Click Settings > Devices & services in the left sidebar.
- Click Add Integration in the bottom right corner.
- Search for Google Nest and click it.
- Choose the Cloud (OAuth) method (usually the default).
- Next you will be asked for these key pieces of information (copy them from your notepad):
- Cloud Project ID: this is the ID of the Google Cloud project you created in Step 1 (not the Device Access ID).
- How to find it: you can see it in the Project info card on the Dashboard home page of the Google Cloud Console
Device Access Project ID: this is the string you copied at the end of Step 4.
Client ID: obtained in Step 3.
Client Secret: obtained in Step 3.
Click Next or Submit.
Home Assistant will open a new window guiding you to sign in to Google and authorize.
- If you see a warning that Google has not verified this app, click Advanced > Go to…
- Check all the permissions (Nest Thermostat, Energy, etc.).
- Finally confirm the link.
If everything goes well, the page will redirect back to Home Assistant and show Success.
Troubleshooting Common Issues
- Error: Error 400: redirect_uri_mismatch
- Cause: the Redirect URI you entered in Step 3 does not match the one Home Assistant actually uses.
- Solution: make sure the redirect URI in the Google Cloud Console is https://my.home-assistant.io/redirect/oauth.
Cannot find the entity?
- After the integration is added successfully, it may take a few seconds to sync. Go to Developer Tools > States and search for entities starting with climate.
Pub/Sub error
- Usually HA handles the Pub/Sub subscription automatically. If you get an error, check whether you enabled the Cloud Pub/Sub API in Step 1.
Congratulations! You should now be able to see and control your Nest thermostat in the Home Assistant panel.