Gemini CLI Release Notes

Last updated: Jan 20, 2026

  • Jan 20, 2026
    • Parsed from source:
      Jan 20, 2026
    • Detected by Releasebot:
      Jan 20, 2026

    Gemini CLI by Google

    Release v0.24.5

    Full Changelog

    v0.24.4...v0.24.5

    Original source Report a problem
  • Jan 19, 2026
    • Parsed from source:
      Jan 19, 2026
    • Detected by Releasebot:
      Jan 19, 2026

    Gemini CLI by Google

    Release v0.24.4

    What's Changed

    • fix(patch): cherry-pick 88f1ec8 to release/v0.24.0-pr-16179 [CONFLICTS] by @gemini-cli-robot in #16783

    Full Changelog: v0.24.0...v0.24.4

    Original source Report a problem
  • Dec 30, 2025
    • Parsed from source:
      Dec 30, 2025
    • Detected by Releasebot:
      Dec 31, 2025

    Gemini CLI by Google

    Release v0.22.5

    What's Changed

    • fix(patch): cherry-pick 07e597d to release/v0.22.4-pr-15684 [CONFLICTS] by @gemini-cli-robot in #15733

    Full Changelog: v0.22.4...v0.22.5

    Original source Report a problem
  • Dec 27, 2025
    • Parsed from source:
      Dec 27, 2025
    • Detected by Releasebot:
      Dec 27, 2025

    Gemini CLI by Google

    Release v0.22.4

    What's Changed

    • fix(patch): cherry-pick 37be162 to release/v0.22.3-pr-15601 to patch version v0.22.3 and create version 0.22.4 by @gemini-cli-robot in #15602

    Full Changelog: v0.22.3...v0.22.4

    Original source Report a problem
  • Dec 26, 2025
    • Parsed from source:
      Dec 26, 2025
    • Detected by Releasebot:
      Dec 27, 2025

    Gemini CLI by Google

    Release v0.22.3

    What's Changed

    • fix(patch): cherry-pick 9cdb267 to release/v0.22.2-pr-15494 to patch version v0.22.2 and create version 0.22.3 by @gemini-cli-robot in #15591

    Full Changelog: v0.22.2...v0.22.3

    Original source Report a problem
  • Dec 26, 2025
    • Parsed from source:
      Dec 26, 2025
    • Detected by Releasebot:
      Jan 14, 2026

    Gemini CLI by Google

    Release v0.24.0

    A sweeping release notes roundup covering policy upgrades, UI tweaks, improved error handling, and extended agent and hook capabilities. It includes model persistence, security warnings, CLI extensions, and extensive core and tool improvements.

    What's Changed

    • chore(core): refactor model resolution and cleanup fallback logic by @adamfweidman in #15228
    • Add Folder Trust Support To Hooks by @sehoon38 in #15325
    • Record timestamp with code assist metrics. by @gundermanc in #15439
    • feat(policy): implement dynamic mode-aware policy evaluation by @abhipatel12 in #15307
    • fix(core): use debugLogger.debug for startup profiler logs by @NTaylorMullen in #15443
    • feat(ui): Add security warning and improve layout for Hooks list by @SandyTao520 in #15440
    • fix #15369, prevent crash on unhandled EIO error in readStdin cleanup by @ElecTwix in #15410
    • chore: improve error messages for --resume by @jackwotherspoon in #15360
    • chore: remove clipboard file by @jackwotherspoon in #15447
    • Implemented unified secrets sanitization and env. redaction options by @gundermanc in #15348
    • feat: automatic /model persistence across Gemini CLI sessions by @niyasrad in #13199
    • refactor(core): remove deprecated permission aliases from BeforeToolHookOutput by @StoyanD in #14855
    • fix: add missing type field to MCPServerConfig by @jackwotherspoon in #15465
    • Make schema validation errors non-fatal by @jacob314 in #15487
    • chore: limit MCP resources display to 10 by default by @jackwotherspoon in #15489
    • Add experimental in-CLI extension install and uninstall subcommands by @chrstnb in #15178
    • feat: Add A2A Client Manager and tests by @adamfweidman in #15485
    • feat: terse transformations of image paths in text buffer by @psinha40898 in #4924
    • Security: Project-level hook warnings by @sehoon38 in #15470
    • Added modifyOtherKeys protocol support for tmux by @ved015 in #15524
    • chore(core): fix comment typo by @Mapleeeeeeeeeee in #15558
    • feat: Show snowfall animation for holiday theme by @sehoon38 in #15494
    • do not persist the fallback model by @sehoon38 in #15483
    • Resolve unhandled promise rejection in ide-client.ts by @Adib234 in #15587
    • fix(core): handle checkIsRepo failure in GitService.initialize by @Mapleeeeeeeeeee in #15574
    • fix(cli): add enableShellOutputEfficiency to settings schema by @Mapleeeeeeeeeee in #15560
    • Manual nightly version bump to 0.24.0-nightly.20251226.546baf993 by @galz10 in #15594
    • refactor(core): extract static concerns from CoreToolScheduler by @abhipatel12 in #15589
    • fix(core): enable granular shell command allowlisting in policy engine by @abhipatel12 in #15601
    • chore/release: bump version to 0.24.0-nightly.20251227.37be16243 by @gemini-cli-robot in #15612
    • refactor: deprecate legacy confirmation settings and enforce Policy Engine by @abhipatel12 in #15626
    • Migrate console to coreEvents.emitFeedback or debugLogger by @Adib234 in #15219
    • Exponential back-off retries for retryable error without a specified … by @sehoon38 in #15684
    • feat(agents): add support for remote agents and multi-agent TOML files by @adamfweidman in #15437
    • Update wittyPhrases.ts by @segyges in #15697
    • refactor(auth): Refactor non-interactive mode auth validation & refresh by @skeshive in #15679
    • Revert "Update wittyPhrases.ts (#15697)" by @abhipatel12 in #15719
    • fix(hooks): deduplicate agent hooks and add cross-platform integration tests by @abhipatel12 in #15701
    • Implement support for tool input modification by @gundermanc in #15492
    • Add instructions to the extensions update info notification by @chrstnb in #14907
    • Add extension settings info to /extensions list by @chrstnb in #14905
    • Agent Skills: Implement Core Skill Infrastructure & Tiered Discovery by @NTaylorMullen in #15698
    • chore: remove cot style comments by @abhipatel12 in #15735
    • feat(agents): Add remote agents to agent registry by @sehoon38 in #15711
    • feat(hooks): implement STOP_EXECUTION and enhance hook decision handling by @SandyTao520 in #15685
    • Fix build issues caused by year-specific linter rule by @gundermanc in #15780
    • fix(core): handle unhandled promise rejection in mcp-client-manager by @kamja44 in #14701
    • log fallback mode by @sehoon38 in #15817
    • Agent Skills: Implement Autonomous Activation Tool & Context Injection by @NTaylorMullen in #15725
    • fix(core): improve shell command with redirection detection by @galz10 in #15683
    • Add security docs by @abhipatel12 in #15739
    • feat: add folder suggestions to /dir add command by @jackwotherspoon in #15724
    • Agent Skills: Implement Agent Integration and System Prompt Awareness by @NTaylorMullen in #15728
    • chore: cleanup old smart edit settings by @abhipatel12 in #15832
    • Agent Skills: Status Bar Integration for Skill Counts by @NTaylorMullen in #15741
    • fix(core): mock powershell output in shell-utils test by @galz10 in #15831
    • Agent Skills: Unify Representation & Centralize Loading by @NTaylorMullen in #15833
    • Unify shell security policy and remove legacy logic by @abhipatel12 in #15770
    • feat(core): restore MessageBus optionality for soft migration (Phase 1) by @abhipatel12 in #15774
    • feat(core): Standardize Tool and Agent Invocation constructors (Phase 2) by @abhipatel12 in #15775
    • feat(core,cli): enforce mandatory MessageBus injection (Phase 3 Hard Migration) by @abhipatel12 in #15776
    • Agent Skills: Extension Support & Security Disclosure by @NTaylorMullen in #15834
    • feat(hooks): implement granular stop and block behavior for agent hooks by @SandyTao520 in #15824
    • Agent Skills: Add gemini skills CLI management command by @NTaylorMullen in #15837
    • refactor: consolidate EditTool and SmartEditTool by @abhipatel12 in #15857
    • fix(cli): mock fs.readdir in consent tests for Windows compatibility by @NTaylorMullen in #15904
    • refactor(core): Extract and integrate ToolExecutor by @abhipatel12 in #15900
    • Fix terminal hang when user exits browser without logging in by @gundermanc in #15748
    • fix: avoid SDK warning by not accessing .text getter in logging by @ved015 in #15706
    • Make default settings apply by @devr0306 in #15354
    • chore: rename smart-edit to edit by @abhipatel12 in #15923
    • Opt-in to persist model from /model by @sehoon38 in #15820
    • fix: prevent /copy crash on Windows by skipping /dev/tty by @ManojINaik in #15657
    • Support context injection via SessionStart hook. by @gundermanc in #15746
    • Fix order of preflight by @scidomino in #15941
    • Fix failing unit tests by @gundermanc in #15940
    • fix(cli): resolve paste issue on Windows terminals. by @scidomino in #15932
    • Agent Skills: Imp... Read more
    Original source Report a problem
  • Dec 22, 2025
    • Parsed from source:
      Dec 22, 2025
    • Detected by Releasebot:
      Dec 22, 2025

    Gemini CLI by Google

    Release v0.22.2

    Full Changelog

    v0.22.0-preview.3...v0.22.2

    Original source Report a problem
  • Dec 22, 2025
    • Parsed from source:
      Dec 22, 2025
    • Detected by Releasebot:
      Dec 22, 2025

    Gemini CLI by Google

    Release v0.22.1

    Full Changelog: v0.21.3...v0.22.1

    Original source Report a problem
  • Dec 22, 2025
    • Parsed from source:
      Dec 22, 2025
    • Detected by Releasebot:
      Dec 22, 2025

    Gemini CLI by Google

    Release v0.22.0

    Gemini CLI rolls out a sweeping update with new env var auth, quota stats, better error handling, session startup refresh, and multi-file drag and drop, plus ongoing nightly release bumps toward v0.22.0.

    What's Changed

    • feat(ide): fallback to GEMINI_CLI_IDE_AUTH_TOKEN env var by @skeshive in #14843
    • feat: display quota stats for unused models in /stats by @sehoon38 in #14764
    • feat: ensure codebase investigator uses preview model when main agent does by @abhipatel12 in #14412
    • chore: add closing reason to stale bug workflow by @galz10 in #14861
    • Send the model and CLI version with the user agent by @gundermanc in #14865
    • refactor(sessions): move session summary generation to startup by @jackwotherspoon in #14691
    • Limit search depth in path corrector by @scidomino in #14869
    • Fix: Correct typo in code comment by @kuishou68 in #14671
    • feat(core): Plumbing for late resolution of model configs. by @joshualitt in #14597
    • feat: attempt more error parsing by @adamfweidman in #14899
    • Add missing await. by @gundermanc in #14910
    • feat(core): Add support for transcript_path in hooks for git-ai/Gemini extension by @svarlamov in #14663
    • refactor: implement DelegateToAgentTool with discriminated union by @abhipatel12 in #14769
    • feat: reset availabilityService on /auth by @adamfweidman in #14911
    • chore/release: bump version to 0.21.0-nightly.20251211.8c83e1ea9 by @gemini-cli-robot in #14924
    • Fix: Correctly detect MCP tool errors by @kevin-ramdass in #14937
    • increase labeler timeout by @scidomino in #14922
    • tool(cli): tweak the frontend tool to be aware of more core files from the cli by @jacob314 in #14962
    • feat(cli): polish cached token stats and simplify stats display when quota is present. by @jacob314 in #14961
    • feat(settings-validation): add validation for settings schema by @lifefloating in #12929
    • fix(ide): Update IDE extension to write auth token in env var by @skeshive in #14999
    • Revert "chore(deps): bump express from 5.1.0 to 5.2.0" by @skeshive in #14998
    • feat(a2a): Introduce /init command for a2a server by @cocosheng-g in #13419
    • feat: support multi-file drag and drop of images by @jackwotherspoon in #14832
    • fix(policy): allow codebase_investigator by default in read-only policy by @abhipatel12 in #15000
    • refactor(ide ext): Update port file name + switch to 1-based index for characters + remove truncation text by @skeshive in #10501
    • fix(vscode-ide-companion): correct license generation for workspace dependencies by @skeshive in #15004
    • fix: temp fix for subagent invocation until subagent delegation is merged to stable by @abhipatel12 in #15007
    • test: update ide detection tests to make them more robust when run in an ide by @kevin-ramdass in #15008
    • Remove flex from stats display. See snapshots for diffs. by @jacob314 in #14983
    • Add license field into package.json by @jb-perez in #14473
    • feat: Persistent "Always Allow" policies with granular shell & MCP support by @allenhutchison in #14737
    • chore/release: bump version to 0.21.0-nightly.20251212.54de67536 by @gemini-cli-robot in #14969
    • fix(core): commandPrefix word boundary and compound command safety by @allenhutchison in #15006
    • chore(docs): add 'Maintainers only' label info to CONTRIBUTING.md by @jacob314 in #14914
    • Refresh hooks when refreshing extensions. by @scidomino in #14918
    • Add clarity to error messages by @gsehgal in #14879
    • chore : remove a redundant tip by @JayadityaGit in #14947
    • chore/release: bump version to 0.21.0-nightly.20251213.977248e09 by @gemini-cli-robot in #15029
    • Disallow redundant typecasts. by @gundermanc in #15030
    • fix(auth): prioritize GEMINI_API_KEY env var and skip unnecessary key… by @galz10 in #14745
    • fix: use zod for safety check result validation by @allenhutchison in #15026
    • update(telemetry): add hashed_extension_name to field to extension events by @kiranani in #15025
    • fix: similar to policy-engine, throw error in case of requiring tool execution confirmation for non-interactive mode by @MayV in #14702
    • Clean up processes in integration tests by @scidomino in #15102
    • docs: update policy engine getting started and defaults by @NTaylorMullen in #15105
    • Fix tool output fragmentation by encapsulating content in functionResponse by @abhipatel12 in #13082
    • Simplify method signature. by @scidomino in #15114
    • Show raw input token counts in json output. by @jacob314 in #15021
    • fix: Mark A2A requests as interactive by @MayV in #15108
    • use previewFeatures to determine which pro model to use for A2A by @sehoon38 in #15131
    • refactor(cli): fix settings merging so that settings using the new json format take priority over ones using the old format by @jacob314 in #15116
    • fix(patch): cherry-pick a6d1245 to release/v0.22.0-preview.1-pr-15214 to patch version v0.22.0-preview.1 and create version 0.22.0-preview.2 by @gemini-cli-robot in #15226
    • fix(patch): cherry-pick 9e6914d to release/v0.22.0-preview.2-pr-15288 to patch version v0.22.0-preview.2 and create version 0.22.0-preview.3 by @gemini-cli-robot in #15294

    New Contributors

    • @kuishou68 made their first contribution in #14671
    • @svarlamov made their first contribution in #14663
    • @jb-perez made their first contribution in #14473

    Full Changelog: v0.21.3...v0.22.0

    Original source Report a problem
  • Dec 18, 2025
    • Parsed from source:
      Dec 18, 2025
    • Detected by Releasebot:
      Dec 20, 2025
    • Modified by Releasebot:
      Dec 22, 2025

    Gemini CLI by Google

    Release v0.21.3

    What's Changed

    • fix(patch): cherry-pick 9e6914d to release/v0.21.2-pr-15288 to patch version v0.21.2 and create version 0.21.3 by @gemini-cli-robot in #15295

    Full Changelog: v0.21.2...v0.21.3

    Original source Report a problem

Related products