github google-gemini/gemini-cli v0.1.16
Release v0.1.16

latest releases: v0.3.3, v0.5.0-nightly.20250906.968e9389, v0.4.0-preview.1...
one month ago

What's Changed

  • feat(cli): add hideBanner setting to disable startup banner by @krikera in #2803
  • Fix duplicate help text for build targets in Makefile by @nick-popovic in #4092
  • Show stderr output from mcp servers in debug mode by @bbiggs in #4049
  • Fix markdown heading level issue by @doggy8088 in #3381
  • Add documentation for the /extensions command by @bbiggs in #4051
  • Introduce VSCode companion extension by @chrstnb in #3917
  • Add feature flag for IDE integration by @skeshive in #3927
  • fix(docs): clarify global installation in readme by @swissspidy in #3781
  • updated '/auth' to use new slash command arch by @haroldmciver-go in #3797
  • Don't start uncompressed history with a function response by @scidomino in #4141
  • fix(checkpoint): Prevent silent failure and enable for non-Git projects by @abhipatel12 in #4144
  • Refactor MCP code for reuse and testing by @scidomino in #3880
  • Fix circular reference JSON serialization in telemetry logging by @bdmorgan in #4150
  • Make @ command sort file without extension name by @SandyTao520 in #4158
  • Introduce loop detection service that breaks simple loop by @SandyTao520 in #3919
  • Log the 2 types of loop detection by @SandyTao520 in #4193
  • Migrate /privacy to new architecture by @abhipatel12 in #4202
  • Pure refactor: Consolidate isWithinRoot() function calling. by @scidomino in #4163
  • Update to yargs v18 by @swissspidy in #3759
  • migrate /about by @abhipatel12 in #4207
  • Roadmap release by @srithreepo in #4178
  • feat: add a warning that shows if user uses node -v <20 #2930 by @devpool007 in #3371
  • Fix: Standardize capitalization for "Troubleshooting Guide" in README by @Jvr2022 in #2763
  • Adds the user's active file in the IDE to the footer by @skeshive in #4154
  • [ide-mode] Stream notifications when the active file changes by @chrstnb in #4147
  • Enable tool summarization only when explicitly set in settings.json by @anj-s in #4140
  • feat(tool): sort tool list alphabetically for deterministic output by @sambhavKhanna in #3095
  • Include api key in header instead of in the URL by @SandyTao520 in #4240
  • Revert Node <20 warning by @swissspidy in #4244
  • Upload VSIX of companion VS Code extension by @skeshive in #4241
  • Revert "Update to yargs v18 (#3759)" by @NTaylorMullen in #4252
  • updated /stats to use new slash command arch by @haroldmciver-go in #4146
  • Add support for allowed/excluded MCP server names in settings by @chrstnb in #4135
  • update /extensions to new slash command arch by @haroldmciver-go in #4229
  • Set port dynamically in VSCode extension and read from it in gemini-cli and send initial notification by @chrstnb in #4255
  • [ide-mode] Thread active file through to system prompt by @chrstnb in #4264
  • Update MaxSizedBox.tsx by @elvinagam in #2233
  • Improve altName completion behavior in slash commands by @Lee-WonJun in #4227
  • Clarifies that Gemini Code Assist, when offered through the Google De… by @cdemeke in #3086
  • refactor: Optimize the display information of "/chat list" and "/chat resume" by @HunDun0Ben in #2857
  • migrate compress command by @abhipatel12 in #4271
  • Move MCP slash command to new system by @emeryray2002 in #3678
  • feat(cli): clear input buffer on CTRL+C when not executing commands by @matias-casal in #1729
  • Run model availability check in the background to speed up startup by @SandyTao520 in #4256
  • chore: update numbering in release-docker.yaml by @ramonfigueiredo in #4249
  • update /docs to new slash command arch by @haroldmciver-go in #4133
  • Revert "[ide-mode] Thread active file through to system prompt" by @chrstnb in #4308
  • Include companion VS Code extension VSIX as part of build/release by @skeshive in #4254
  • update /tools to new slash command arch by @haroldmciver-go in #4236
  • fix: update google/genai to v1.9.0 and switch to parametersJsonSchema for MCP related tools by @wanlin31 in #4176
  • Minor UX updates for IDE mode by @skeshive in #4311
  • Add /ide status & /ide install commands to manage IDE integration by @skeshive in #4265
  • update /editor to new slash command arch by @haroldmciver-go in #4153
  • Minor refactoring of IDE companion server by @skeshive in #4331
  • update /bug to new slash command arch by @haroldmciver-go in #4246
  • updated /quit to use new slash command arch by @haroldmciver-go in #4259
  • Fix resetting loop counts on every other event by @SandyTao520 in #4348
  • bug(ux): update context percentage when /clear command is run by @nsalerni in #4162
  • [ide-mode] Add active file to user model request by @chrstnb in #4312
  • Logging surface field in the start_session_event. Also logging sessio… by @uttamkanodia14 in #4362
  • (fix) - regression to quit shortcut from command migration by @abhipatel12 in #4374
  • Update companionPort not existing to be a warning so the user can still proceed with running /ide install by @skeshive in #4382
  • Fix ANSI escape crash in text buffer (#3987) by @azorlu80 in #3999
  • feat(cli): add explicit proxy option in cli by @warjiang in #2526
  • Fix link for checkpointing doc for --checkpointing by @meteorcloudy in #4304
  • Zed integration by @ConradIrwin in #4266
  • Fix #4220: allow up/down arrow to toggle history when only one sugges… by @goldyonatan in #4377
  • Add numbers to selection list by @miguelsolorio in #4320
  • Update ESLint and related packages to latest versions by @seuros in #4296
  • fix: remove direct gaxios dependency by @swissspidy in #4289
  • Test/add loadcodeassist mock by @kamja44 in #4287
  • migrate restore command by @abhipatel12 in #4388
  • Migrate /corgi by @abhipatel12 in #4419
  • fix(cli): not show update avaialble messages when running gemini-cli locally by @y-okt in #4052
  • feat(ui): hide cursor when terminal is unfocused by @Lyonk71 in #4012
  • Light theme color improvements by @miguelsolorio in #4396
  • feat(auth): Enhance OAuth callback for robust Docker support by @chux0519 in #3532
  • (fix): broken releases and e2e workflows by @abhipatel12 in #4428
  • feat(cli): allow executing commands on perfect match by @haroldmciver-go in #4397
  • MCP OAuth Part 1 - OAuth Infrastructure by @emeryray2002 in #4316
  • Implement loop check with LLM by @SandyTao520 in #4337
  • Show blocked MCP servers in display by @bbiggs in #3977
  • [ide-mode] Send ping every 30 seconds to prevent client from closing connection by @chrstnb in #4329
  • Use simple name for MCP tools where possible. by @scidomino in #4459
  • improve command completion trigger logic based on cursor position by @SandyTao520 in #4462
  • Display open IDE file in context section above input box rather than in the footer by @skeshive in #4470
  • Demo background agent by @scidomino in #4409
  • Add /background commands (when background agent is configured) by @scidomino in #4407
  • Automatically detect non-interactive environments and fall back to a manual, code-based authentication flow by @mboshernitsan in #4475
  • Revert background agent commits by @scidomino in #4479
  • Make shell output consistent. by @jacob314 in #4469
  • feat(core): display declined confirmation code diff by @y-okt in #4440
  • Simplify MCP connection errors. by @NTaylorMullen in #4508
  • Extend mcp-server timeout. by @NTaylorMullen in #4514
  • chore(release): v0.1.13 by @NTaylorMullen in #4515
  • fix: prevent RangeError in GitIgnoreParser for root paths by @osbornesec in #3417
  • Feature custom themes logic by @ali-aljufairi in #2639
  • feat: full implementation for .geminiignore in settings and respective tool calls by @psinha40898 in #3727
  • feat: Added /copy command for copying output to clipboard with new Command Service approach by @devpool007 in #3706
  • Check for zeditor if zed binary is not found by @cole-miller in #3680
  • prefactor(commands): Command Service Prefactor for Extensible Commands by @abhipatel12 in #4511
  • feat(cli): add warnings when gemini-cli is called in the root directory by @y-okt in #4542
  • fix typos in diverse files by @didier-durand in #3550
  • build(deps): Add missing resolved and integrity for all dependencies by @ljxfstorm in #3501
  • docs: add documentation for mcp excludeTools and includeTools by @Seydulla in #3409
  • feat: Make file type detection and binary checks asynchronous (#3286) by @Han5991 in #3288
  • [ide-mode] Keep track of recently-opened files and send them to the CLI by @chrstnb in #4463
  • fix: handle cross-device issues with running otel collector by @agmsb in #4458
  • Add env var to configure system settings path by @chrstnb in #4339
  • Simplify streaming code for code assist server by @scidomino in #4619
  • [ide-mode] Use active files and selected text in user prompt by @chrstnb in #4614
  • feat(edit): Prevent no-op edits by @xwjdsh in #3520
  • feat(cli):suggestion-navigation-shortcut by @Seydulla in #3641
  • docs: add Homebrew installation instructions by @jeanphi-baconnais in #2973
  • Various spelling improvements by @jsoref in #3497
  • fix: Add warning message for token limit truncation by @darkdarkcocoa in #2260
  • fix: character encoding issues in shell command processor by @boylin0 in #1949
  • Address flaky integration tests with retries by @skeshive in #4604
  • fix(eslint): remove custom rule in favor of eslint-plugin-import by @swissspidy in #3012
  • Refactor the logic for deciding whether to launch a browser into config by @mboshernitsan in #4622
  • chore: Expand node version test matrix by @swissspidy in #2700
  • feat(ci): run e2e tests on macos during ci by @nsalerni in #4422
  • (feat): Initial Version of Custom Commands by @abhipatel12 in #4572
  • Fix windows bugs + refactor tests. by @scidomino in #4634
  • MCP OAuth Part 2 - MCP Client Integration by @emeryray2002 in #4318
  • MCP OAuth Part 3 - CLI/UI/Documentation by @emeryray2002 in #4319
  • feat(auth): support gemini api key and vertex auth in non-interactive mode by @jerop in #4631
  • feat(core): Resolve GEMINI_SYSTEM_MD case-insensitively by @olk in #4538
  • add notes on API keys and .gemini/.env to authentication.md by @slhck in #2004
  • feat(core): add partUtils module with unit tests by @kamja44 in #4575
  • Fix windows bugs in atCommandProcessor.ts by @scidomino in #4684
  • Log when flash model decided to continue by @SandyTao520 in #4698
  • Log flash continue by @SandyTao520 in #4700
  • feat(commands): Implement argument handling for custom commands via a prompt pipeline by @abhipatel12 in #4702
  • Fix memoryDiscovery test to work in windows. by @scidomino in #4742
  • Make ideCommand test windows compatible. by @scidomino in #4746
  • feat(memory): make directory search limit on memory discovery configurable with settings.json by @KeijiBranshi in #4460
  • add --telemetry-outfile flag by @smhendrickson in #4689
  • Fix tests to work in windows by @scidomino in #4754
  • Update diff colors by @miguelsolorio in #4747
  • Fix InputPrompt.test.tsx to be windows compatible by @scidomino in #4736
  • Polish companion extension README and package.json file ahead of publishing by @skeshive in #4729
  • feat(cli): display timestamp in /chat list by @aramova in #4733
  • Minor refactoring of VS Code companion extension code by @skeshive in #4761
  • Log prompt id when a loop is detected by @SandyTao520 in #4765
  • Updated Docs to inform users about the ability to have custom theme by @ali-aljufairi in #4632
  • feat: add GEMINI_CLI environment variable to spawned shell commands by @taeold in #4791
  • Add Google credentials provider for authenticating with MCP servers by @ashwinpvg in #4748
  • Move vscode extension build into its own command by @chrstnb in #4799
  • Add support for logging the entire request and response object by @anj-s in #4725
  • [ide-mode] Send the cursor and selected text from the IDE server by @chrstnb in #4621
  • Add "Gemini CLI: Run" command shortcut by @skeshive in #4792
  • docs: clarify shell command does not use default shell by @timalsinaditya in #2203
  • Sanitize checkpoint tags by @sethtroisi in #4813
  • feat: add /mcp refresh command by @rmedranollamas in #4566
  • [Refactor] Centralizes autocompletion logic within useCompletion by @SandyTao520 in #4740
  • Upgrade test to work on windows. by @scidomino in #4815
  • Add drawer for active files in IDE mode by @chrstnb in #4682
  • adh/bugfix/1563 by @allenhutchison in #4822
  • feat(auth): Enhance non-interactive gcp auth by @galz10 in #4811
  • Fix read-file.test.ts to be windows compatible. by @scidomino in #4864
  • Make errorReporting test windows compatible. by @scidomino in #4856
  • Make useCompletion.test.ts windows compatible by @scidomino in #4766
  • [ide-mode] Create an IDE manager class to handle connecting to and exposing methods from the IDE server by @chrstnb in #4797
  • Make shell.test.ts windows compatible by @scidomino in #4858
  • Fix userStartupWarnings to be windows compatible. by @scidomino in #4868
  • Safer Shell command Execution by @mattKorwel in #4795
  • Make restoreCommand test windows compatible. by @scidomino in #4873
  • Implement hashing based loop detection by @SandyTao520 in #4831
  • fix(ci): Fix failing release workflow by creating a self-contained bundle by @abhipatel12 in #4888
  • Fix bugs breaking drag and drop of files. by @jacob314 in #4887
  • Load and use MCP server prompts as slash commands in the CLI by @chrstnb in #4828
  • Make fileDiscoveryService.test.ts win compatible by @scidomino in #4892
  • Make oauth2 test windows compatible. by @scidomino in #4895
  • Fix test to be windows compatible. by @scidomino in #4875
  • Make glob.test.ts win compatible. by @scidomino in #4891
  • Fix grep.test to work on windows. by @scidomino in #4889
  • Vim mode by @sijieamoy in #3936
  • Run presubmit tests in windows as well as linux. by @scidomino in #4672
  • Run pre-merge checks in mac os as well as ubutnu+win by @scidomino in #4900
  • Regression test for paste when the terminal lacks focus. by @jacob314 in #4898
  • Handle unhandled rejections more gracefully. by @jacob314 in #4417
  • fix(ui): remove extraneous whitespace from startup screen by @jacob314 in #3990
  • Fix so legacy custom themes still load. by @jacob314 in #4757
  • refactor(core): Centralize shell logic into ShellExecutionService by @abhipatel12 in #4823
  • fix: Clean up transport on IDE connection failure by @skeshive in #4902
  • (fix): Custom Commands follow symlinks by @abhipatel12 in #4907
  • docs: add missing --prompt-interactive/-i flag documentation by @LyalinDotCom in #4950
  • feat: Add Shell Command Execution to Custom Commands by @abhipatel12 in #4917
  • Bug: add resource parameter to MCP OAuth Flow by @emeryray2002 in #4981
  • refactor(telemetry): enhance flushToClearcut method with retry logic and early return for empty events by @HyeladiBassi in #1601
  • Propagate user_prompt_id to GenerateConentRequest for logging by @owenofbrien in #4741
  • (docs) - Fix small markdown mistake for custom commands docs by @abhipatel12 in #4983
  • (model) - Use Flash Lite For Next Speaker Checks by @abhipatel12 in #4991
  • fix: yolo mode not respected by @LeeroyDing in #4972
  • feat(chat): Implement /chat delete command by @flowernotfound in #2401
  • Clarify ToS and privacy documentation FAQs. by @jkcinouye in #4899
  • Update documentation for read_many_files. by @jkcinouye in #4874
  • Revert "Propagate user_prompt_id to GenerateConentRequest for logging" by @NTaylorMullen in #5007
  • Fix author attribution by @jamesewoo in #5042
  • Updates schema, UX and prompt for IDE context by @skeshive in #5046
  • feat: Add /config refresh command by @rmedranollamas in #4993
  • docs: Add more examples to Popular tasks by @lzrdGreen in #4979
  • Add documentation for MCP prompts by @chrstnb in #4897
  • fix: Clear previous thoughts when starting new prompts by @naaa760 in #4966
  • Revert "feat: Add /config refresh command" by @NTaylorMullen in #5060
  • Refactors companion VS Code extension to import & use notification schema defined in gemini-cli by @skeshive in #5059
  • Adds docs outlining keyboard shortcuts for gemini-cli by @Dannyzen in #4727
  • Add new fallback state as prefactor for routing by @abhipatel12 in #5065
  • feat: Add tests for checkpoint tag sanitization by @sethtroisi in #4882
  • Only enable IDE integration if gemini-cli is running in the same path as open workspace by @skeshive in #5068
  • feat: Add auto update functionality by @galz10 in #4686
  • feat(commands): add custom commands support for extensions by @taeold in #4703
  • feat(cli): introduce /init command for GEMINI.md creation by @shamso-goog in #4852
  • Adds centralized support to log slash commands + sub commands by @skeshive in #5128
  • Update Triage Logic to improve issue categorization. by @srithreepo in #5110
  • Fix typo in RFC 9728 impl by @scidomino in #5126
  • Add Starcraft ref to witty loading phrases by @ava-cassiopeia in #5120
  • feat(docs): document GEMINI.md import syntax by @allenhutchison in #5145
  • fix(update): correctly report new updates by @sambhavKhanna in #4821
  • Docs: add documentation for .geminiignore by @jkcinouye in #5123
  • Skip and reset loop checking around code blocks by @SandyTao520 in #5144
  • chore(release): v0.1.15 by @NTaylorMullen in #5163
  • docs: Update chat command documentation with checkpoint locations by @yaksh1 in #5027
  • do not mention GEMINI.md in system prompt as it is not fixed and can confuse model as it is not mentioned by memory tool and memory file paths are generally not exposed to model (yet) by @olcan in #5202
  • perf(core): parallelize bfsFileSearch for 40% faster CLI startup by @scato3 in #5185
  • feat(ui): Update tool confirmation cancel button text by @shamso-goog in #4820
  • Srithreepo Fixes for Scheduled triage by @srithreepo in #5158
  • feat: Multi-Directory Workspace Support (part1: add --include-directories option) by @y-okt in #4605
  • Introduce IDE mode installer by @chrstnb in #4877
  • fix(testing): make ModelStatsDisplay snapshot test deterministic by @allenhutchison in #5236
  • confirm save_memory tool, with ability to see diff and edit manually for advanced changes that may override past memories by @olcan in #5237
  • Add toggleable IDE mode setting by @chrstnb in #5146
  • Exclude companion extension from release versioning by @skeshive in #5226
  • Improve error message for discoverTools function by @galz10 in #4157
  • Add render counter in debug mode by @sethtroisi in #5242
  • feat(docs): Add /init command in commands.md by @Kazunari001 in #5187
  • Replace FlashDecidedToContinueEvent with NextSpeakerCheckEvent by @SandyTao520 in #5257
  • Fix: Ensure that non interactive mode and interactive mode are calling the same entry points by @anj-s in #5137
  • bug(core): UI reporting for truncated read_file. by @joshualitt in #5155
  • fix: CLAUDE.md compatibility for GEMINI.md '@' file import behavior by @bniladridas in #2978
  • feat: Multi-Directory Workspace Support (part2: add "directory" command) by @y-okt in #5241
  • feat: Implement /setup-github command by @JeromeJu in #5069
  • Add emacs support, as per user requests. :) by @dynamicwebpaige in #1633
  • feat(cli): Improve @ autocompletion for mid-sentence edits by @SandyTao520 in #5321
  • fix(ux) bug in replaceRange dealing with newLines that was breaking vim support by @jacob314 in #5320
  • Highlight slash commands in history by @miguelsolorio in #5323
  • Fix bug executing commands in windows whose flags contain spaces by @scidomino in #5317
  • Update gemini-automated-issue-triage.yml by @raushanraj in #5312
  • fix(core): Remove json output schema form the next speaker check prompt by @SandyTao520 in #5325
  • New browser launcher for MCP OAuth. by @emeryray2002 in #5261
  • Add missing emacs entry in UI. by @cornmander in #5351
  • [Fix Telemetry for tool calls, PR 1/n] Propagate tool reported errors via ToolCallResponseInfo and ToolResult by @silviojr in #5222
  • doc: use standard Google security policy for GitHub projects by @briandealwis in #5062
  • feat(sandbox): Add SANDBOX_FLAGS for custom container options by @andrea-berling in #2036
  • Add a setting to disable auth mode validation on startup by @bbiggs in #5358
  • feat(core): Use completionStart/End for slash command auto-completion by @SandyTao520 in #5374
  • feat(github): add workflow to manage stale issues and PRs by @santhoshkumarCodes in #4871
  • bug(cli): Prefer IPv4 dns resolution by default. by @joshualitt in #5338
  • Propagate prompt by @owenofbrien in #5033
  • Switch utility calls to use the gemini-2.5-flash-lite model by @mrcabbage972 in #5193
  • fix(tests): refactor integration tests to be less flaky by @allenhutchison in #4890
  • fix(config): Resolve duplicate config loading from home directory by @Pranith124 in #5090
  • feat(autoupdate): Improve update check and refactor for testability by @galz10 in #5389

New Contributors

  • @krikera made their first contribution in #2803
  • @nick-popovic made their first contribution in #4092
  • @elvinagam made their first contribution in #2233
  • @Lee-WonJun made their first contribution in #4227
  • @cdemeke made their first contribution in #3086
  • @HunDun0Ben made their first contribution in #2857
  • @matias-casal made their first contribution in #1729
  • @ramonfigueiredo made their first contribution in #4249
  • @wanlin31 made their first contribution in #4176
  • @nsalerni made their first contribution in #4162
  • @azorlu80 made their first contribution in #3999
  • @meteorcloudy made their first contribution in #4304
  • @ConradIrwin made their first contribution in #4266
  • @goldyonatan made their first contribution in #4377
  • @seuros made their first contribution in #4296
  • @kamja44 made their first contribution in #4287
  • @Lyonk71 made their first contribution in #4012
  • @chux0519 made their first contribution in #3532
  • @osbornesec made their first contribution in #3417
  • @ali-aljufairi made their first contribution in #2639
  • @cole-miller made their first contribution in #3680
  • @ljxfstorm made their first contribution in #3501
  • @Seydulla made their first contribution in #3409
  • @Han5991 made their first contribution in #3288
  • @agmsb made their first contribution in #4458
  • @xwjdsh made their first contribution in #3520
  • @jeanphi-baconnais made their first contribution in #2973
  • @jsoref made their first contribution in #3497
  • @darkdarkcocoa made their first contribution in #2260
  • @boylin0 made their first contribution in #1949
  • @olk made their first contribution in #4538
  • @slhck made their first contribution in #2004
  • @smhendrickson made their first contribution in #4689
  • @aramova made their first contribution in #4733
  • @ashwinpvg made their first contribution in #4748
  • @timalsinaditya made their first contribution in #2203
  • @galz10 made their first contribution in #4811
  • @LyalinDotCom made their first contribution in #4950
  • @HyeladiBassi made their first contribution in #1601
  • @LeeroyDing made their first contribution in #4972
  • @flowernotfound made their first contribution in #2401
  • @jamesewoo made their first contribution in #5042
  • @lzrdGreen made their first contribution in #4979
  • @naaa760 made their first contribution in #4966
  • @Dannyzen made their first contribution in #4727
  • @shamso-goog made their first contribution in #4852
  • @ava-cassiopeia made their first contribution in #5120
  • @yaksh1 made their first contribution in #5027
  • @scato3 made their first contribution in #5185
  • @Kazunari001 made their first contribution in #5187
  • @joshualitt made their first contribution in #5155
  • @JeromeJu made their first contribution in #5069
  • @dynamicwebpaige made their first contribution in #1633
  • @raushanraj made their first contribution in #5312
  • @briandealwis made their first contribution in #5062
  • @andrea-berling made their first contribution in #2036
  • @mrcabbage972 made their first contribution in #5193
  • @Pranith124 made their first contribution in #5090

Full Changelog: v0.1.12...v0.1.16

Don't miss a new gemini-cli release

NewReleases is sending notifications on new releases.