Skip to content

Respect backend definitions for 3.5 flash and Update auto mode to use 3.5 flash when the flag is enabled.#27645

Merged
DavidAPierce merged 7 commits into
mainfrom
3.5_flash_auto_mode_support
Jun 3, 2026
Merged

Respect backend definitions for 3.5 flash and Update auto mode to use 3.5 flash when the flag is enabled.#27645
DavidAPierce merged 7 commits into
mainfrom
3.5_flash_auto_mode_support

Conversation

@DavidAPierce

Copy link
Copy Markdown
Contributor

Summary

This PR updates the model resolution logic to prioritize Gemini 3.5 Flash over Gemini 3 Flash Preview when the useGemini3_5Flash flag is active (controlled by hasGemini35FlashGAAccess). This ensures that the 'auto' model alias and the 'flash' classifier tier consistently use the GA model for autonomous tasks, while still allowing users to manually select the preview model if needed.

Details

  • Descriptions: Updated getAutoModelDescription to include "Gemini 3.5 Flash" in the UI when the launch flag is set.
  • Resolution Logic:
    • Refined resolveModel and resolveClassifierModel in packages/core/src/config/models.ts to route 'auto' and 'flash' aliases to gemini-3.5-flash.
    • Ensured manual selection of gemini-3-flash-preview is respected and not auto-upgraded, preserving compatibility for users with specific backend requirements.
  • Dynamic Config: Updated DEFAULT_MODEL_CONFIGS to align dynamic resolution with the legacy path.
  • UI & ACP: Updated ModelDialog.tsx and acpUtils.ts to correctly calculate and pass the useGemini3_5Flash state.
  • Tests: Updated unit tests in models.test.ts to verify the new resolution behavior and parity between legacy and dynamic paths.

Related Issues

Related to Gemini 3.5 Flash integration.

How to Validate

  1. Run core unit tests: npm test -w @google/gemini-cli-core -- src/config/models.test.ts
  2. Run CLI unit tests: npm test -w @google/gemini-cli -- src/ui/components/ModelDialog.test.tsx
  3. Open the Model selection dialog in development (npm run start and then /model or use the UI) and verify that "Gemini 3.5 Flash" appears in the "Auto" description.

Pre-Merge Checklist

  • Updated relevant documentation and README (if needed)
  • Added/updated tests (if needed)
  • Noted breaking changes (if any)
  • Validated on required platforms/methods:
    • MacOS
      • npm run
      • npx
      • Docker
      • Podman
      • Seatbelt
    • Windows
      • npm run
      • npx
      • Docker
    • Linux
      • npm run
      • npx
      • Docker

…t backend naming conventions while properly dispalyign what model is being used.
@DavidAPierce DavidAPierce requested review from a team as code owners June 3, 2026 02:34
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces logic to prioritize Gemini 3.5 Flash for autonomous tasks when the appropriate feature flag is active. By refining the model resolution and classifier routing, the changes ensure that the 'auto' and 'flash' aliases align with the GA model while preserving the ability for users to manually select preview models. The update also includes necessary UI adjustments and comprehensive test coverage to validate the new routing logic.

Highlights

  • Model Resolution Logic: Updated model resolution to prioritize Gemini 3.5 Flash when the useGemini3_5Flash flag is enabled, ensuring consistent routing for 'auto' and 'flash' aliases.
  • UI and Configuration Updates: Updated ModelDialog and acpUtils to propagate the useGemini3_5Flash state, and updated getAutoModelDescription to reflect the correct model in the UI.
  • Compatibility Preservation: Ensured that manual selection of gemini-3-flash-preview is respected and not automatically upgraded, maintaining compatibility for specific backend requirements.
  • Testing: Added and updated unit tests in models.test.ts and config.test.ts to verify the new resolution behavior and parity between legacy and dynamic paths.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions github-actions Bot added the size/m A medium sized PR label Jun 3, 2026
@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown

📊 PR Size: size/L

  • Lines changed: 505
  • Additions: +463
  • Deletions: -42
  • Files changed: 24

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces configuration and resolution logic updates to support Gemini 3.5 Flash GA access, integrating the useGemini3_5Flash flag across CLI components, configuration services, and model dialogs. Feedback on the changes highlights a few issues: an unused property useGemini3_Flash was added to ModelResolutionContext, the 'gemini-3-flash' model needs to be added to VALID_GEMINI_MODELS to prevent it from being treated as inactive, and some test descriptions in config.test.ts and models.test.ts are inaccurate and contradict their corresponding assertions.

Note: Security Review did not run due to the size of the PR.

Comment thread packages/core/src/config/models.ts Outdated
Comment thread packages/core/src/config/models.ts
Comment thread packages/core/src/config/config.test.ts Outdated
Comment thread packages/core/src/config/models.test.ts
@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown

Size Change: +1.4 kB (0%)

Total Size: 33.9 MB

Filename Size Change
./bundle/chunk-7SSUUMFD.js 0 B -2.79 MB (removed) 🏆
./bundle/chunk-AJ63TNXD.js 0 B -49.2 kB (removed) 🏆
./bundle/chunk-CIVMMJLJ.js 0 B -16.4 MB (removed) 🏆
./bundle/chunk-JTXBCLRY.js 0 B -19.5 kB (removed) 🏆
./bundle/chunk-ROVKNONZ.js 0 B -13 kB (removed) 🏆
./bundle/chunk-SISIHBI6.js 0 B -661 kB (removed) 🏆
./bundle/chunk-WHKXYFFP.js 0 B -3.43 kB (removed) 🏆
./bundle/chunk-ZUUVDBTL.js 0 B -3.77 kB (removed) 🏆
./bundle/core-GKJZD5GW.js 0 B -49.6 kB (removed) 🏆
./bundle/devtoolsService-6J2UIS6V.js 0 B -28 kB (removed) 🏆
./bundle/gemini-7UOPLZCE.js 0 B -589 kB (removed) 🏆
./bundle/interactiveCli-ALYSX2C6.js 0 B -1.3 MB (removed) 🏆
./bundle/liteRtServerManager-IYNDNEGN.js 0 B -2.08 kB (removed) 🏆
./bundle/oauth2-provider-ZB52GPCA.js 0 B -9.12 kB (removed) 🏆
./bundle/chunk-4A4U6SLB.js 49.2 kB +49.2 kB (new file) 🆕
./bundle/chunk-DN52Q44C.js 13 kB +13 kB (new file) 🆕
./bundle/chunk-GNHBEM3B.js 3.77 kB +3.77 kB (new file) 🆕
./bundle/chunk-KY7JFLT2.js 2.79 MB +2.79 MB (new file) 🆕
./bundle/chunk-NH7KUOFJ.js 16.4 MB +16.4 MB (new file) 🆕
./bundle/chunk-QPIIRTSC.js 661 kB +661 kB (new file) 🆕
./bundle/chunk-SIWLKNNB.js 19.5 kB +19.5 kB (new file) 🆕
./bundle/chunk-W4BEQAF6.js 3.43 kB +3.43 kB (new file) 🆕
./bundle/core-GRWRUNSI.js 49.7 kB +49.7 kB (new file) 🆕
./bundle/devtoolsService-NQQ3S2H7.js 28 kB +28 kB (new file) 🆕
./bundle/gemini-PK5A74SQ.js 589 kB +589 kB (new file) 🆕
./bundle/interactiveCli-BTCBS6KQ.js 1.3 MB +1.3 MB (new file) 🆕
./bundle/liteRtServerManager-T57ZMWOZ.js 2.08 kB +2.08 kB (new file) 🆕
./bundle/oauth2-provider-GNSYYAGO.js 9.12 kB +9.12 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
./bundle/bundled/third_party/index.js 8 MB 0 B
./bundle/chunk-34MYV7JD.js 2.45 kB 0 B
./bundle/chunk-5AUYMPVF.js 858 B 0 B
./bundle/chunk-5PS3AYFU.js 1.18 kB 0 B
./bundle/chunk-6HI7VNOG.js 124 kB 0 B
./bundle/chunk-DAHVX5MI.js 206 kB 0 B
./bundle/chunk-IUUIT4SU.js 56.5 kB 0 B
./bundle/chunk-TUDYL3X4.js 40.3 kB 0 B
./bundle/cleanup-WQGWTGPW.js 0 B -902 B (removed) 🏆
./bundle/devtools-V7NE4CQA.js 696 kB 0 B
./bundle/events-XB7DADIJ.js 418 B 0 B
./bundle/examples/hooks/scripts/on-start.js 188 B 0 B
./bundle/examples/mcp-server/example.js 1.43 kB 0 B
./bundle/gemini.js 5.38 kB 0 B
./bundle/getMachineId-bsd-TXG52NKR.js 1.55 kB 0 B
./bundle/getMachineId-darwin-7OE4DDZ6.js 1.55 kB 0 B
./bundle/getMachineId-linux-SHIFKOOX.js 1.34 kB 0 B
./bundle/getMachineId-unsupported-5U5DOEYY.js 1.06 kB 0 B
./bundle/getMachineId-win-6KLLGOI4.js 1.72 kB 0 B
./bundle/https-proxy-agent-AVGR4LHR.js 490 B 0 B
./bundle/multipart-parser-KPBZEGQU.js 11.7 kB 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B
./bundle/sandbox-macos-strict-open.sb 4.82 kB 0 B
./bundle/sandbox-macos-strict-proxied.sb 5.02 kB 0 B
./bundle/src-LG4OHBW7.js 233 kB 0 B
./bundle/src-QVCVGIUX.js 47 kB 0 B
./bundle/start-J34MRGAT.js 0 B -622 B (removed) 🏆
./bundle/tree-sitter-7U6MW5PS.js 274 kB 0 B
./bundle/tree-sitter-bash-34ZGLXVX.js 1.84 MB 0 B
./bundle/worker/worker-entry.js 361 kB 0 B
./bundle/cleanup-ETPRRGZJ.js 902 B +902 B (new file) 🆕
./bundle/start-K4CS46IQ.js 622 B +622 B (new file) 🆕

compressed-size-action

@gemini-cli gemini-cli Bot added the status/need-issue Pull requests that need to have an associated issue. label Jun 3, 2026
@github-actions github-actions Bot added the size/l A large sized PR label Jun 3, 2026
@DavidAPierce DavidAPierce added this pull request to the merge queue Jun 3, 2026
Merged via the queue into main with commit e4315b3 Jun 3, 2026
31 of 32 checks passed
@DavidAPierce DavidAPierce deleted the 3.5_flash_auto_mode_support branch June 3, 2026 15:20
@DavidAPierce

Copy link
Copy Markdown
Contributor Author

/patch preview

@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown

🚀 [Step 1/4] Patch workflow(s) waiting for approval!

📋 Details:

  • Channels: preview
  • Commit: e4315b36eb324d34b1bc993ef7b26e306ea3853d
  • Workflows Created: 1

⏳ Status: The patch creation workflow has been triggered and is waiting for deployment approval. Please visit the specific workflow links below and approve the runs.

🔗 Track Progress:

@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown

🚀 [Step 2/4] Patch PR Created!

📋 Patch Details:

📝 Next Steps:

  1. Review and approve the hotfix PR: #27655
  2. Once merged, the patch release will automatically trigger
  3. You'll receive updates here when the release completes

🔗 Track Progress:

@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown

🚀 [Step 3/4] Patch Release Waiting for Approval!

📋 Release Details:

  • Environment: prod
  • Channel: preview → publishing to npm tag preview
  • Version: v0.46.0-preview.0
  • Hotfix PR: Merged ✅
  • Release Branch: release/v0.46.0-preview.0-pr-27645

⏳ Status: The patch release has been triggered and is waiting for deployment approval. Please visit the specific workflow run link below and approve the deployment. You'll receive another update when it completes.

🔗 Track Progress:

@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown

[Step 4/4] Patch Release Complete!

📦 Release Details:

🎉 Status: Your patch has been successfully released and published to npm!

📝 What's Available:

🔗 Links:

whhe pushed a commit to whhe/gemini-cli that referenced this pull request Jun 4, 2026
hotmanxp pushed a commit to hotmanxp/gemini-cli that referenced this pull request Jun 4, 2026
DavidAPierce added a commit that referenced this pull request Jun 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/l A large sized PR size/m A medium sized PR status/need-issue Pull requests that need to have an associated issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants