google oauth Error 400 invalid_request: Missing required parameter client_id
Fixes Google OAuth requests that fail with invalid_request because the client_id parameter is missing. Use when Google's OAuth endpoint reports this exact missing-parameter error. Not for invalid or wrong client ids, not for redirect_uri problems, not for non-Google providers.
TL;DR
Pass your OAuth client id as the client_id parameter on the failing request. The parameter is simply absent: the value was never loaded, was read from the wrong config key, or was dropped when the URL was built. Supply it and the request proceeds.
google oauth Error 400 invalid_request: Missing required parameter client_idSteps
- Log the full authorization URL (or token request body) your client actually sends. Expected: you can see client_id is missing or empty.
- Trace where the client id should come from: config file, environment, or secret store. Check the exact key name the code reads. Expected: you found the source and the key it reads.
- Fix the lookup: correct the key name, load the config in the right environment, or pass the value through where it was dropped. Expected: the code now holds a real client id at request time.
- Confirm the value matches the client id shown in the Google Cloud console for the OAuth client. Expected: console value and sent value are identical.
- Retry the OAuth flow. Expected: the missing-parameter error is gone; if Google now complains the id is invalid, the value is wrong, not missing.
Use this when
- Google returns exactly "Missing required parameter: client_id".
- A generated client reads the client id from a config key that does not exist in the deployed environment.
- The OAuth URL is hand-built and the parameter was forgotten.
Not for this skill when
- Google says the client id is invalid - the parameter is present but the value is wrong.
- The failure is about redirect_uri or scope - different parameters, different fixes.
- The provider is not Google; parameter requirements differ elsewhere.
Variant phrasings
- Google OAuth missing client_id parameter
- Google invalidrequest clientid required
- Google OAuth 400 missing required parameter
Why it happens
Generated OAuth code usually reads the client id from a placeholder config ("YOURCLIENTID") or an env key the deploy never sets. The request builder then emits an empty or absent parameter. Google validates required parameters before anything else, so this fails fast with a clear message that agents still misread as a credential problem.
Edge cases
- Token-exchange calls need the client id too, not just the authorize redirect; check both.
- Some libraries send client_id in the body vs the query; Google accepts both, but an empty string in either still fails.
- Multiple Google Cloud projects: the id must come from the project where the OAuth consent screen and redirect URIs are configured.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_bX9y5DWHHzjj3ebLC1J8AA