Gemini CLI Release Notes
Last updated: Feb 12, 2026
- Feb 11, 2026
- Date parsed from source:Feb 11, 2026
- First seen by Releasebot:Feb 12, 2026
Gemini CLI by Google
Release v0.28.2
What's Changed
- fix(patch): cherry-pick e9a9474 to release/v0.28.1-pr-18840 [CONFLICTS] by @gemini-cli-robot in #18847
Full Changelog: v0.28.1...v0.28.2
Original source Report a problem - Feb 11, 2026
- Date parsed from source:Feb 11, 2026
- First seen by Releasebot:Feb 12, 2026
Gemini CLI by Google
Release v0.28.1
What's Changed
- fix(patch): cherry-pick 37f128a to release/v0.28.0-pr-18478 by @gemini-cli-robot in #18821
Full Changelog: v0.28.0...v0.28.1
Original source Report a problem All of your release notes in one place
Join Releasebot and get updates from Google and hundreds of other software products.
- Feb 10, 2026
- Date parsed from source:Feb 10, 2026
- First seen by Releasebot:Feb 11, 2026
Gemini CLI by Google
Release v0.28.0
A new nightly release unleashes major CLI and core upgrades, including a /prompt-suggest command, improved hooks, enhanced auth and identity details, and broader UX tweaks. It pairs docs and tests with a solid stability pass across extensions and policies.
What's Changed
- feat(commands): add /prompt-suggest slash command by @NTaylorMullen in #17264
- feat(cli): align hooks enable/disable with skills and improve completion by @sehoon38 in #16822
- docs: add CLI reference documentation by @leochiu-a in #17504
- chore(release): bump version to 0.28.0-nightly.20260128.adc8e11bb by @gemini-cli-robot in #17725
- feat(skills): final stable promotion cleanup by @abhipatel12 in #17726
- test(core): mock fetch in OAuth transport fallback tests by @jw409 in #17059
- feat(cli): include auth method in /bug by @erikus in #17569
- Add a email privacy note to bug_report template by @nemyung in #17474
- Rewind documentation by @Adib234 in #17446
- fix: verify audio/video MIME types with content check by @maru0804 in #16907
- feat(core): add support for positron ide ( #15045 ) by @kapsner in #15047
- /oncall dedup - wrap texts to nextlines by @sehoon38 in #17782
- fix(admin): rename advanced features admin setting by @skeshive in #17786
- [extension config] Make breaking optional value non-optional by @chrstnb in #17785
- Fix docs-writer skill issues by @g-samroberts in #17734
- fix(core): suppress duplicate hook failure warnings during streaming by @abhipatel12 in #17727
- test: add more tests for AskUser by @jackwotherspoon in #17720
- feat(cli): enable activity logging for non-interactive mode and evals by @SandyTao520 in #17703
- feat(core): add support for custom deny messages in policy rules by @allenhutchison in #17427
- Fix unintended credential exposure to MCP Servers by @Adib234 in #17311
- feat(extensions): add support for custom themes in extensions by @spencer426 in #17327
- fix: persist and restore workspace directories on session resume by @korade-krushna in #17454
- Update release notes pages for 0.26.0 and 0.27.0-preview. by @g-samroberts in #17744
- feat(ux): update cell border color and created test file for table rendering by @devr0306 in #17798
- Change height for the ToolConfirmationQueue. by @jacob314 in #17799
- feat(cli): add user identity info to stats command by @sehoon38 in #17612
- fix(ux): fixed off-by-some wrapping caused by fixed-width characters by @devr0306 in #17816
- feat(cli): update undo/redo keybindings to Cmd+Z/Alt+Z and Shift+Cmd+Z/Shift+Alt+Z by @scidomino in #17800
- fix(evals): use absolute path for activity log directory by @SandyTao520 in #17830
- test: add integration test to verify stdout/stderr routing by @ved015 in #17280
- fix(cli): list installed extensions when update target missing by @tt-a1i in #17082
- fix(cli): handle PAT tokens and credentials in git remote URL parsing by @afarber in #14650
- fix(core): use returnDisplay for error result display by @Nubebuster in #14994
- Fix detection of bun as package manager by @Randomblock1 in #17462
- feat(cli): show hooksConfig.enabled in settings dialog by @abhipatel12 in #17810
- feat(cli): Display user identity (auth, email, tier) on startup by @yunaseoul in #17591
- fix: prevent ghost border for AskUserDialog by @jackwotherspoon in #17788
- docs: mark A2A subagents as experimental in subagents.md by @adamfweidman in #17863
- Resolve error thrown for sensitive values by @chrstnb in #17826
- fix(admin): Rename secureModeEnabled to strictModeDisabled by @skeshive in #17789
- feat(ux): update truncate dots to be shorter in tables by @devr0306 in #17825
- fix(core): resolve DEP0040 punycode deprecation via patch-package by @ATHARVA262005 in #17692
- feat(plan): create generic Checklist component and refactor Todo by @Adib234 in #17741
- Cleanup post delegate_to_agent removal by @gundermanc in #17875
- fix(core): use GIT_CONFIG_GLOBAL to isolate shadow git repo configuration - Fixes by @bdmorgan in #17877
- by @cocosheng-g in #17803
- Disable mouse tracking e2e by @alisa-alisa in #17880
- fix(cli): use correct setting key for Cloud Shell auth by @sehoon38 in #17884
- chore: revert IDE specific ASCII logo by @jackwotherspoon in #17887
- Revert "fix(core): resolve DEP0040 punycode deprecation via patch-package" by @sehoon38 in #17898
- Refactoring of disabling of mouse tracking in e2e tests by @alisa-alisa in #17902
- feat(core): Add GOOGLE_GENAI_API_VERSION environment variable support by @deyim in #16177
- feat(core): Isolate and cleanup truncated tool outputs by @SandyTao520 in #17594
- Create skills page, update commands, refine docs by @g-samroberts in #17842
- feat: preserve EOL in files by @Thomas-Shephard in #16087
- Fix HalfLinePaddedBox in screenreader mode. by @jacob314 in #17914
- bug(ux) vim mode fixes. Start in insert mode. Fix bug blocking F12 and ctrl-X in vim mode. by @jacob314 in #17938
- feat(core): implement interactive and non-interactive consent for OAuth by @ehedlund in #17699
- perf(core): optimize token calculation and add support for multimodal tool responses by @abhipatel12 in #17835
- refactor(hooks): remove legacy tools.enableHooks setting by @abhipatel12 in #17867
- feat(ci): add npx smoke test to verify installability by @bdmorgan in #17927
- feat(core): implement dynamic policy registration for subagents by @abhipatel12 in #17838
- feat: Implement background shell commands by @galz10 in #14849
- feat(admin): provide actionable error messages for disabled features by @skeshive in #17815
- Fix bugs where Rewind and Resume showed Ugly and 100X too verbose content. by @jacob314 in #17940
- Fix broken link in docs by @chrstnb in #17959
- feat(plan): reuse standard tool confirmation for AskUser tool by @jerop in #17864
- feat(core): enable overriding CODE_ASSIST_API_VERSION with env var by @lottielin in #17942
- run npx pointing to the specific commit SHA by @sehoon38 in #17970
- Add allowedExtensions setting by @kevinjwang1 in #17695
- feat(plan): refactor ToolConfirmationPayload to union type by @jerop in #17980
- lower the default max retries to reduce contention by @sehoon38 in #17975
- fix(core): ensure YOLO mode auto-approves complex shell commands when parsing fails by @abhipatel12 in #17920
- Fix broken link. by @g-samroberts in #17972
- Support ctrl-C and Ctrl-D correctly Refactor so InputPrompt has priority over AppContainer for input handling. by @jacob314 in #17993
- Fix truncation for AskQuestion by @jacob314 in #18001
- fix(workflow): update maintainer check logic to be inclusive and case-insensitive by @bdmorgan in #18009
- Fix Esc cancel during streaming by @LyalinDotCom in h...
- Feb 6, 2026
- Date parsed from source:Feb 6, 2026
- First seen by Releasebot:Feb 7, 2026
Gemini CLI by Google
Release v0.27.3
What's Changed
- fix(patch): cherry-pick 1cae5ab to release/v0.27.2-pr-18376 to patch version v0.27.2 and create version 0.27.3 by @gemini-cli-robot in #18464
Full Changelog: v0.27.2...v0.27.3
Original source Report a problem - Feb 5, 2026
- Date parsed from source:Feb 5, 2026
- First seen by Releasebot:Feb 6, 2026
Gemini CLI by Google
Release v0.27.2
What's Changed
- fix(patch): cherry-pick 9ca7300 to release/v0.27.1-pr-18395 to patch version v0.27.1 and create version 0.27.2 by @gemini-cli-robot in #18399
Full Changelog: v0.27.1...v0.27.2
Original source Report a problem - Feb 5, 2026
- Date parsed from source:Feb 5, 2026
- First seen by Releasebot:Feb 6, 2026
Gemini CLI by Google
Release v0.27.1
What's Changed
- fix(patch): cherry-pick a8b4c38 to release/v0.27.0-pr-18161 to patch version v0.27.0 and create version 0.27.1 by @gemini-cli-robot in #18393
Full Changelog: v0.27.0...v0.27.1
Original source Report a problem - Jan 28, 2026
- Date parsed from source:Jan 28, 2026
- First seen by Releasebot:Jan 31, 2026
Gemini CLI by Google
Release v0.26.0
Gemini 0.26 nightly ships a sweep of new features and reliability tweaks, including Rewind UI, plan flag, and a built in skill creator plus scheduler and automation improvements. Docs, bindings, and parsing hardened for a smoother, more reliable experience.
What's Changed
- fix: PDF token estimation (#16494) by @korade-krushna in #16527
- chore(release): bump version to 0.26.0-nightly.20260114.bb6c57414 by @gemini-cli-robot in #16604
- docs: clarify F12 to open debug console by @jackwotherspoon in #16570
- docs: Remove .md extension from internal links in architecture.md by @medic-code in #12899
- Add an experimental setting for extension config by @chrstnb in #16506
- feat: add Rewind Confirmation dialog and Rewind Viewer component by @Adib234 in #15717
- fix(a2a): Don't throw errors for GeminiEventType Retry and InvalidStream. by @ehedlund in #16541
- prefactor: add rootCommands as array so it can be used for policy parsing by @abhipatel12 in #16640
- remove unnecessary key bindings by @scidomino in #16646
- docs(skills): use body-file in pr-creator skill for better reliability by @abhipatel12 in #16642
- chore(automation): recursive labeling for workstream descendants by @bdmorgan in #16609
- feat: introduce 'skill-creator' built-in skill and CJS management tools by @NTaylorMullen in #16394
- chore(automation): remove automated PR size and complexity labeler by @bdmorgan in #16648
- refactor(skills): replace 'project' with 'workspace' scope by @NTaylorMullen in #16380
- Docs: Update release notes for 1/13/2026 by @jkcinouye in #16583
- Simplify paste handling by @scidomino in #16654
- chore(automation): improve scheduled issue triage discovery and throughput by @bdmorgan in #16652
- fix(acp): run exit cleanup when stdin closes by @codefromthecrypt in #14953
- feat(scheduler): add types needed for event driven scheduler by @abhipatel12 in #16641
- Remove unused rewind key binding by @scidomino in #16659
- Remove sequence binding by @scidomino in #16664
- feat(cli): undeprecate the --prompt flag by @alexaustin007 in #13981
- chore: update dependabot configuration by @cosmopax in #13507
- feat(config): add 'auto' alias for default model selection by @sehoon38 in #16661
- Enable & disable agents by @sehoon38 in #16225
- cleanup: Improve keybindings by @scidomino in #16672
- Add timeout for shell-utils to prevent hangs. by @jacob314 in #16667
- feat(plan): add experimental 'plan' approval mode by @jerop in #16650
- feat(cli): add security consent prompts for skill installation by @NTaylorMullen in #16549
- fix: replace 3 consecutive periods with ellipsis character by @Vist233 in #16587
- chore(automation): ensure status/need-triage is applied and never cleared automatically by @bdmorgan in #16657
- fix: Handle colons in skill description frontmatter by @maru0804 in #16345
- refactor(core): harden skill frontmatter parsing by @NTaylorMullen in #16705
- feat(skills): add conflict detection and warnings for skill overrides by @NTaylorMullen in #16709
- feat(scheduler): add SchedulerStateManager for reactive tool state by @abhipatel12 in #16651
- chore(automation): enforce 'help wanted' label permissions and update guidelines by @bdmorgan in #16707
- fix(core): resolve circular dependency via tsconfig paths by @sehoon38 in #16730
- chore/release: bump version to 0.26.0-nightly.20260115.6cb3ae4e0 by @gemini-cli-robot in #16738
- fix(automation): correct status/need-issue label matching wildcard by @bdmorgan in #16727
- fix(automation): prevent label-enforcer loop by ignoring all bots by @bdmorgan in #16746
- Add links to supported locations and minor fixes by @g-samroberts in #16476
- feat(policy): add source tracking to policy rules by @allenhutchison in #16670
- feat(automation): enforce ' maintainer only' and fix bot loop by @bdmorgan in #16751
- Make merged settings non-nullable and fix all lints related to that. by @jacob314 in #16647
- fix(core): prevent ModelInfo event emission on aborted signal by @sehoon38 in #16752
- Replace relative paths to fix website build by @chrstnb in #16755
- Restricting to localhost by @cocosheng-g in #16548
- fix(cli): add explicit dependency on color-convert by @sehoon38 in #16757
- fix(automation): robust label enforcement with permission checks by @bdmorgan in #16762
- fix(cli): prevent OOM crash by limiting file search traversal and adding timeout by @galz10 in #16696
- fix(cli): safely handle /dev/tty access on macOS by @korade-krushna in #16531
- docs: clarify workspace test execution in GEMINI.md by @mattKorwel in #16764
- Add support for running available commands prior to MCP servers loading by @Adib234 in #15596
- feat(plan): add experimental 'plan' approval mode by @jerop in #16753
- feat(scheduler): add functional awaitConfirmation utility by @abhipatel12 in #16721
- fix(infra): update maintainer rollup label to 'workstream-rollup' by @bdmorgan in #16809
- fix(infra): use GraphQL to detect direct parents in rollup workflow by @bdmorgan in #16811
- chore(workflows): rename label-workstream-rollup workflow by @bdmorgan in #16818
- skip simple-mcp-server.test.ts by @scidomino in #16842
- Steer outer agent to use expert subagents when present by @gundermanc in #16763
- Fix race condition by awaiting scheduleToolCalls by @chrstnb in #16759
- cleanup: Organize key bindings by @scidomino in #16798
- feat(core): Add generalist agent. by @joshualitt in #16638
- perf(ui): optimize text buffer and highlighting for large inputs by @NTaylorMullen in #16782
- fix(core): fix PTY descriptor shell leak by @galz10 in #16773
- feat(plan): enforce strict read-only policy and halt execution on violation by @jerop in #16849
- remove need-triage label from bug_report template by @sehoon38 in #16864
- fix(core): truncate large telemetry log entries by @sehoon38 in #16769
- docs(extensions): add Agent Skills support and mark feature as experimental by @NTaylorMullen in #16859
- fix(core): surface warnings for invalid hook event names in configuration (#16788) by @sehoon38 in #16873
- feat(plan): remove read_many_files from approval mode policies by @jerop in #16876
- feat(admin): implement admin controls polling and restart prompt by @skeshive in #16627
- Remove LRUCache class migrating to mnemoist by @jacob314 in #16872
- feat(settings): rename negative settings to positive naming (disable* -> enable*) by @afarber in #14142
- refactor(cli): unify shell confirmation dialogs by @NTaylorMullen in #16828
- feat(agent): enable agent skills by default by @NTaylorMullen in #16736
- refactor(core): foundational truncation refactoring and token estimation optimization ... Read more
- Jan 24, 2026
- Date parsed from source:Jan 24, 2026
- First seen by Releasebot:Jan 24, 2026
Gemini CLI by Google
Release v0.25.2
What's Changed
- fix(patch): cherry-pick 9866eb0 to release/v0.25.1-pr-17166 to patch version v0.25.1 and create version 0.25.2 by @gemini-cli-robot in #17419
Full Changelog: v0.25.1...v0.25.2
Original source Report a problem - Jan 22, 2026
- Date parsed from source:Jan 22, 2026
- First seen by Releasebot:Jan 22, 2026
Gemini CLI by Google
Release v0.25.1
What's Changed
- fix(patch): cherry-pick 87a0db2 to release/v0.25.0-pr-17308 [CONFLICTS] by @gemini-cli-robot in #17316
Full Changelog: v0.25.0...v0.25.1
Original source Report a problem - Jan 20, 2026
- Date parsed from source:Jan 20, 2026
- First seen by Releasebot:Jan 22, 2026
Gemini CLI by Google
Release v0.25.0
Gemini CLI rolls out a sweeping nightly update focused on core skill improvements, hooks, and policy tooling while expanding extension support and testing reliability. This release tightens telemetry and dev workflows for faster, more resilient deployments.
What's Changed
- feat(core): improve activate_skill tool and use lowercase XML tags by @NTaylorMullen in #16009
- Add initiation method telemetry property by @gundermanc in #15818
- chore(release): bump version to 0.25.0-nightly.20260107.59a18e710 by @gemini-cli-robot in #16048
- Hx support by @kevinfjiang in #16032
- [Skills] Foundation: Centralize management logic and feedback rendering by @NTaylorMullen in #15952
- Introduce GEMINI_CLI_HOME for strict test isolation by @NTaylorMullen in #15907
- [Skills] Multi-scope skill enablement and shadowing fix by @NTaylorMullen in #15953
- policy: extract legacy policy from core tool scheduler to policy engine by @abhipatel12 in #15902
- Enhance TestRig with process management and timeouts by @NTaylorMullen in #15908
- Update troubleshooting doc for UNABLE_TO_GET_ISSUER_CERT_LOCALLY by @sehoon38 in #16069
- Add keytar to dependencies by @chrstnb in #15928
- Simplify extension settings command by @chrstnb in #16001
- feat(admin): implement extensions disabled by @skeshive in #16024
- Core data structure updates for Rewind functionality by @Adib234 in #15714
- feat(hooks): simplify hook firing with HookSystem wrapper methods by @ved015 in #15982
- Add exp.gws_experiment field to LogEventEntry by @gsquared94 in #16062
- Revert "feat(admin): implement extensions disabled" by @chrstnb in #16082
- feat(core): Decouple enabling hooks UI from subsystem. by @joshualitt in #16074
- docs: add docs for hooks + extensions by @abhipatel12 in #16073
- feat(core): Preliminary changes for subagent model routing. by @joshualitt in #16035
- Optimize CI workflow: Parallelize jobs and cache linters by @NTaylorMullen in #16054
- Add option to fallback for capacity errors in ProQuotaDi… by @sehoon38 in #16050
- feat: add confirmation details support + jsonrpc vs http rest support by @adamfweidman in #16079
- fix(workflows): fix and limit labels for pr-triage.sh script by @jacob314 in #16096
- Fix and rename introspection agent -> cli help agent by @scidomino in #16097
- Docs: Changelogs update 20260105 by @jkcinouye in #15937
- enable cli_help agent by default by @scidomino in #16100
- Optimize json-output tests with mock responses by @NTaylorMullen in #16102
- Fix CI for forks by @scidomino in #16113
- Reduce nags about PRs that reference issues but don't fix them. by @jacob314 in #16112
- feat(cli): add filepath autosuggestion after slash commands by @jasmeetsb in #14738
- Add upgrade option for paid users by @cayden-google in #15978
- [Skills] UX Polishing: Transparent feedback and CLI refinements by @NTaylorMullen in #15954
- Polish: Move 'Failed to load skills' warning to debug logs by @NTaylorMullen in #16142
- feat(cli): export chat history in /bug and prefill GitHub issue by @NTaylorMullen in #16115
- bug(core): fix issue with overrides to bases. by @joshualitt in #15255
- enableInteractiveShell for external tooling relying on a2a server by @DavidAPierce in #16080
- Reapply "feat(admin): implement extensions disabled" ( #16082 ) by @skeshive in #16109
- bug(core): Fix spewie getter in hookTranslator.ts by @joshualitt in #16108
- feat(hooks): add mcp_context to BeforeTool and AfterTool hook inputs by @vrv in #15656
- Add extension linking capabilities in cli by @kevinjwang1 in #16040
- Update the page's title to be consistent and show in site. by @kschaab in #16174
- docs: correct typo in bufferFastReturn JSDoc ("accomodate" → "accommodate") by @minglu7 in #16056
- fix: typo in MCP servers settings description by @alphanota in #15929
- fix: yolo should auto allow redirection by @abhipatel12 in #16183
- fix(cli): disableYoloMode shouldn't enforce default approval mode against args by @psinha40898 in #16155
- feat: add native Sublime Text support to IDE detection by @phreakocious in #16083
- refactor(core): extract ToolModificationHandler from scheduler by @abhipatel12 in #16118
- Add support for Antigravity terminal in terminal setup utility by @raky291 in #16051
- feat(core): Wire up model routing to subagents. by @joshualitt in #16043
- feat(cli): add /agents slash command to list available agents by @adamfweidman in #16182
- docs(cli): fix includeDirectories nesting in configuration.md by @maru0804 in #15067
- feat: implement file system reversion utilities for rewind by @Adib234 in #15715
- Always enable redaction in GitHub actions. by @gundermanc in #16200
- fix: remove unsupported 'enabled' key from workflow config by @Han5991 in #15611
- docs: Remove redundant and duplicate documentation files by @liqzheng in #14699
- docs: shorten run command and use published version by @dsherret in #16172
- test(command-registry): increase initialization test timeout by @wszqkzqk in #15979
- Ensure TERM is set to xterm-256color by @falouu in #15828
- The telemetry.js script should handle paths that contain spaces by @JohnJAS in #12078
- ci: guard links workflow from running on forks by @wtanaka in #15461
- ci: guard nightly release workflow from running on forks by @wtanaka in #15463
- Support @ suggestions for subagenets by @sehoon38 in #16201
- feat(hooks): Support explicit stop and block execution control in model hooks by @SandyTao520 in #15947
- Refine Gemini 3 system instructions to reduce model verbosity by @NTaylorMullen in #16139
- chore: clean up unused models and use consts by @sehoon38 in #16246
- Always enable bracketed paste by @scidomino in #16179
- refactor: migrate clearCommand hook calls to HookSystem by @ved015 in #16157
- refactor: migrate app containter hook calls to hook system by @ishaanxgupta in #16161
- Show settings source in extensions lists by @chrstnb in #16207
- feat(skills): add pr-creator skill and enable skills by @NTaylorMullen in #16232
- fix: handle Shift+Space in Kitty keyboard protocol terminals by @tt-a1i in #15767
- feat(core, ui): Add /agents refresh command. by @joshualitt in #16204
- feat(core): add local experiments override via GEMINI_EXP by @kevin-ramdass in #16181
- feat(ui): reduce home directory warning noise and add opt-out setting by @NTaylorMullen in #16229
- refactor: migrate chatCompressionService to use HookSystem by @ved015 in #16259
- fix: properly use systemMessage for hooks in UI by @jackwotherspoon in #16250
- Infer modifyOtherKeys support by @scidomino in https://github.com/google-gemini/gemini-cl ...
Read more
Original source Report a problem