Skip to content

Fix Gemini OAuth onboarding failure - #8905

Merged
angiejones merged 1 commit into
mainfrom
fix/gemini-oauth-tier-selection
Apr 30, 2026
Merged

Fix Gemini OAuth onboarding failure#8905
angiejones merged 1 commit into
mainfrom
fix/gemini-oauth-tier-selection

Conversation

@angiejones

@angiejones angiejones commented Apr 29, 2026

Copy link
Copy Markdown
Collaborator

When choosing Gemini as a new Provider, the oauth seems to succeed in the browser, but then when returning to goose, it's not configured or available in the drop down.

Root Cause

The Code Assist loadCodeAssist API returns allowedTiers (not onboardTiers) for new users. We were falling back to a hardcoded "FREE" tier ID that the onboardUser API rejects as an invalid argument.

Fixes:

  • Parse allowedTiers from loadCodeAssist response, preferring the tier marked isDefault
  • Default fallback changed from "FREE" to "free-tier"
  • UI now surfaces OAuth errors instead of silently proceeding to model picker

Before

image

image

image

image

After

image

…esponse

The Code Assist API returns allowedTiers (not onboardTiers) for new users.
Previously fell back to hardcoded 'FREE' tier ID which the API rejects.

Also fix UI silently swallowing OAuth 400 errors and proceeding to model picker.

Signed-off-by: Angie Jones <jones.angie@gmail.com>
@angiejones
angiejones added this pull request to the merge queue Apr 30, 2026
Merged via the queue into main with commit 6cdd247 Apr 30, 2026
34 of 36 checks passed
@angiejones
angiejones deleted the fix/gemini-oauth-tier-selection branch April 30, 2026 04:59
DOsinga pushed a commit that referenced this pull request Apr 30, 2026
Pulls in 7 new commits from main:
- #8932 break up acp/server.rs into submodules
- #8924 custom providers UI/ACP
- #8935 keep renamed skills open in detail view
- #8897 skill refactor (CreateSkillDialog -> SkillEditor)
- #8886 copy/content polish
- #8905 Gemini OAuth fix
- #8546 command injection patterns

Conflicts resolved:
- crates/goose/src/acp/server.rs: took main's split structure;
  added project-related plumbing (properties, project_id,
  include_project_sources) into crates/goose/src/acp/server/sources.rs.
- update_thread_metadata: pub(super) so server/sessions.rs (which
  hosts on_update_session_project) can call it.
- ui/goose2/src/features/skills/api/skills.ts: dropped
  directoryPath/editable (not on main's SkillInfo); kept our
  projectName/projectDir lookup from backend properties.
- ui/goose2/src/features/skills/ui/SkillEditor.tsx (renamed from
  CreateSkillDialog.tsx in #8897): kept main's structure; re-added
  our save-location picker (Global vs each project) and onSaved
  callback.
- ui/goose2/src/shared/i18n/locales/en/skills.json: took main's
  casing for editTitle/newTitle; kept our new keys (global,
  globalHint, projectHint, saveLocation).

Bumped useChatSessionController.ts file-size limit by 10 lines
(840 -> 850); justification updated to mention ACP project sync.
shafqatevo pushed a commit to shafqatevo/goose that referenced this pull request Aug 7, 2026
Signed-off-by: Angie Jones <jones.angie@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants