Back
AI summary
Written by AI from the official notes. Check them for exact details.Gemini CLI 0.28.0 introduces 45 new features and 33 bug fixes, enhancing usability and functionality.
- Added /prompt-suggest slash command for easier command input.
- Enabled activity logging for non-interactive mode and evaluations.
- Introduced support for custom themes in extensions.
- Updated undo/redo keybindings for better user experience.
- Improved error handling and user identity display on startup.
Why it matters: Users of Gemini CLI should update to benefit from enhanced features and improved stability.
Full release notes143 changes
What's Changed
- feat(commands): add /prompt-suggest slash command
- feat(cli): align hooks enable/disable with skills and improve completion
- docs: add CLI reference documentation
- chore(release): bump version to 0.28.0-nightly.20260128.adc8e11bb
- feat(skills): final stable promotion cleanup
- test(core): mock fetch in OAuth transport fallback tests
- feat(cli): include auth method in /bug
- Add a email privacy note to bug_report template
- Rewind documentation
- fix: verify audio/video MIME types with content check
- feat(core): add support for positron ide (#15045)
- /oncall dedup - wrap texts to nextlines
- fix(admin): rename advanced features admin setting
- [extension config] Make breaking optional value non-optional
- Fix docs-writer skill issues
- fix(core): suppress duplicate hook failure warnings during streaming
- test: add more tests for AskUser
- feat(cli): enable activity logging for non-interactive mode and evals
- feat(core): add support for custom deny messages in policy rules
- Fix unintended credential exposure to MCP Servers
- feat(extensions): add support for custom themes in extensions
- fix: persist and restore workspace directories on session resume
- Update release notes pages for 0.26.0 and 0.27.0-preview.
- feat(ux): update cell border color and created test file for table rendering
- Change height for the ToolConfirmationQueue.
- feat(cli): add user identity info to stats command
- fix(ux): fixed off-by-some wrapping caused by fixed-width characters
- feat(cli): update undo/redo keybindings to Cmd+Z/Alt+Z and Shift+Cmd+Z/Shift+Alt+Z
- fix(evals): use absolute path for activity log directory
- test: add integration test to verify stdout/stderr routing
- fix(cli): list installed extensions when update target missing
- fix(cli): handle PAT tokens and credentials in git remote URL parsing
- fix(core): use returnDisplay for error result display
- Fix detection of bun as package manager
- feat(cli): show hooksConfig.enabled in settings dialog
- feat(cli): Display user identity (auth, email, tier) on startup
- fix: prevent ghost border for AskUserDialog
- docs: mark A2A subagents as experimental in subagents.md
- Resolve error thrown for sensitive values
- fix(admin): Rename secureModeEnabled to strictModeDisabled
- feat(ux): update truncate dots to be shorter in tables
- fix(core): resolve DEP0040 punycode deprecation via patch-package
- feat(plan): create generic Checklist component and refactor Todo
- Cleanup post delegate_to_agent removal
- fix(core): use GIT_CONFIG_GLOBAL to isolate shadow git repo configuration - Fixes #17877
- Disable mouse tracking e2e
- fix(cli): use correct setting key for Cloud Shell auth
- chore: revert IDE specific ASCII logo
- Revert "fix(core): resolve DEP0040 punycode deprecation via patch-package"
- Refactoring of disabling of mouse tracking in e2e tests
- feat(core): Add GOOGLE_GENAI_API_VERSION environment variable support
- feat(core): Isolate and cleanup truncated tool outputs
- Create skills page, update commands, refine docs
- feat: preserve EOL in files
- Fix HalfLinePaddedBox in screenreader mode.
- bug(ux) vim mode fixes. Start in insert mode. Fix bug blocking F12 and ctrl-X in vim mode.
- feat(core): implement interactive and non-interactive consent for OAuth
- perf(core): optimize token calculation and add support for multimodal tool responses
- refactor(hooks): remove legacy tools.enableHooks setting
- feat(ci): add npx smoke test to verify installability
- feat(core): implement dynamic policy registration for subagents
- feat: Implement background shell commands
- feat(admin): provide actionable error messages for disabled features
- Fix bugs where Rewind and Resume showed Ugly and 100X too verbose content.
- Fix broken link in docs
- feat(plan): reuse standard tool confirmation for
AskUsertool - feat(core): enable overriding CODE_ASSIST_API_VERSION with env var
- run npx pointing to the specific commit SHA
- Add allowedExtensions setting
- feat(plan): refactor
ToolConfirmationPayloadto union type - lower the default max retries to reduce contention
- fix(core): ensure YOLO mode auto-approves complex shell commands when parsing fails
- Fix broken link.
- Support ctrl-C and Ctrl-D correctly Refactor so InputPrompt has priority over AppContainer for input handling.
- Fix truncation for AskQuestion
- fix(workflow): update maintainer check logic to be inclusive and case-insensitive
- Fix Esc cancel during streaming
- feat(acp): add session resume support
- fix(ci): prevent stale PR closer from incorrectly closing new PRs
- chore: delete autoAccept setting unused in production
- feat(plan): use
placeholderfor choice question "Other" option - docs: update clearContext to hookSpecificOutput
- docs-writer skill: Update docs writer skill
- Sehoon/oncall filter
- feat(core): add setting to disable loop detection
- Docs: Revise docs/index.md
- Fix up/down arrow regression and add test.
- fix(ui): prevent content leak in
MaxSizedBoxbottom overflow - refactor: migrate checks.ts utility to core and deduplicate
- feat(core): implement tool name aliasing for backward compatibility
- docs: fix help-wanted label spelling
- feat(cli): implement automatic theme switching based on terminal background
- fix(ide): no-op refactoring that moves the connection logic to helper functions
- feat: update review-frontend-and-fix slash command to review-and-fix
- fix: improve
Ctrl+Rreverse search - feat(plan): handle inconsistency in schedulers
- feat(plan): add core logic and
exit_plan_modetool definition - feat(core): rename search_file_content tool to grep_search and add legacy alias
- fix(core): prioritize detailed error messages for code assist setup
- fix(cli): resolve environment loading and auth validation issues in ACP mode
- feat(core): add.agents/skills directory alias for skill discovery
- chore(core): reassign telemetry keys to avoid server conflict
- Add link to rewind doc in commands.md
- feat(core): add draft-2020-12 JSON Schema support with lenient fallback
- refactor(core): robust trimPreservingTrailingNewline and regression test
- Remove MCP servers on extension uninstall
- refactor: localize ACP error parsing logic to cli package
- feat(core): Add A2A auth config types
- Set default max attempts to 3 and use the common variable
- feat(plan): add
exit_plan_modeui and prompt - fix(test): improve test isolation and enable subagent evaluations
- feat(plan): use custom deny messages in plan mode policies
- Match on extension ID when stopping extensions
- fix(core): Respect user's
.gitignorepreference - docs: document GEMINI_CLI_HOME environment variable
- chore(core): explicitly state plan storage path in prompt
- A2a admin setting
- feat(a2a): Add pluggable auth provider infrastructure
- Fix handling of empty settings
- Reload skills when extensions change
- feat: Add markdown rendering to
ask_usertool - Add telemetry to rewind
- feat(admin): add support for MCP configuration via admin controls (pt1)
- feat(core): require user consent before MCP server OAuth
- fix(sandbox): propagate GOOGLE_GEMINI_BASE_URL&GOOGLE_VERTEX_BASE_URL env vars
- feat(ui): move user identity display to header
- fix: enforce folder trust for workspace settings, skills, and context
- fix(patch): cherry-pick aba8c5f to release/v0.28.0-preview.0-pr-17806 to patch version v0.28.0-preview.0 and create version 0.28.0-preview.1
- fix(patch): cherry-pick 9ca7300 to release/v0.28.0-preview.1-pr-18395 to patch version v0.28.0-preview.1 and create version 0.28.0-preview.2
- fix(patch): cherry-pick d86b1f7 to release/v0.28.0-preview.2-pr-18447 to patch version v0.28.0-preview.2 and create version 0.28.0-preview.3
- fix(patch): cherry-pick 1cae5ab to release/v0.28.0-preview.3-pr-18376 to patch version v0.28.0-preview.3 and create version 0.28.0-preview.4
- fix(patch): cherry-pick ec5836c to release/v0.28.0-preview.4-pr-18343 to patch version v0.28.0-preview.4 and create version 0.28.0-preview.5
- fix(patch): cherry-pick 81ccd80 to release/v0.28.0-preview.5-pr-18406 to patch version v0.28.0-preview.5 and create version 0.28.0-preview.6
- fix(patch): cherry-pick bce1cae to release/v0.28.0-preview.6-pr-18407 [CONFLICTS]
Show the rest (9 more changes)Show less
New Contributors
- @leochiu-a made their first contribution in https://github.com/google-gemini/gemini-cli/pull/17504
- @erikus made their first contribution in https://github.com/google-gemini/gemini-cli/pull/17569
- @nemyung made their first contribution in https://github.com/google-gemini/gemini-cli/pull/17474
- @Randomblock1 made their first contribution in https://github.com/google-gemini/gemini-cli/pull/17462
- @ATHARVA262005 made their first contribution in https://github.com/google-gemini/gemini-cli/pull/17692
- @deyim made their first contribution in https://github.com/google-gemini/gemini-cli/pull/16177
- @lottielin made their first contribution in https://github.com/google-gemini/gemini-cli/pull/17942
- @victorvianna made their first contribution in https://github.com/google-gemini/gemini-cli/pull/17862
- @pavan-sh made their first contribution in https://github.com/google-gemini/gemini-cli/pull/18114
Full Changelog: https://github.com/google-gemini/gemini-cli/compare/v0.27.4...v0.28.0