Add low/full CLI error verbosity mode for cleaner UI#20399
Conversation
Summary of ChangesHello @LyalinDotCom, 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 enhances the user experience of the Gemini CLI by introducing a configurable error verbosity mode. The primary goal is to reduce visual clutter from recoverable errors during interactive sessions, making the UI cleaner and less technical by default, while still providing a 'full' mode for detailed debugging when needed. This change centralizes error handling logic and ensures a more user-friendly interface for common, transient issues. Highlights
Changelog
Activity
Using Gemini Code AssistThe 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
Customization To customize 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 Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. 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. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
|
Size Change: +4.78 kB (+0.02%) Total Size: 25.8 MB
ℹ️ View Unchanged
|
There was a problem hiding this comment.
Code Review
This pull request introduces a new ui.errorVerbosity setting, defaulting to low, to control the level of detail for recoverable errors shown in the UI. While this aims to improve UI cleanliness, the current implementation of the low verbosity mode introduces a critical security vulnerability. It suppresses tool execution errors in a way that can mislead users about the success of security-critical operations. Specifically, tool failures are hidden from the history, and errors from client-initiated tools are not counted for the final warning note, creating a gap in the audit trail that could be exploited by a compromised model to deceive the user. To address this, it is recommended to ensure the suppressed error note is shown for all turns with failures and to include client-initiated tools in the error tracking logic.
# Conflicts: # packages/cli/src/ui/components/messages/ToolResultDisplayOverflow.test.tsx # packages/cli/src/ui/hooks/useQuotaAndFallback.ts

Summary
This PR refines low-error-verbosity behavior to keep the CLI UI clean during recoverable failures while preserving diagnostics for terminal failures.
What changed
1) Footer error summary/F12 discoverability
2) Detailed debug panel title hint
DetailedMessagesDisplaynow shows(F12 to close)only in full mode or debug mode.3) Low-mode retry messaging threshold
This is taking a bit longer, we're still on it.4) Low-mode terminal-failure diagnostics note
This request failed. Press F12 for diagnostics, or set ui.errorVerbosity to full for full details.AgentExecutionStoppedAgentExecutionBlockedSTOP_EXECUTIONtool terminal stop pathTests
Updated tests across:
Footervisibility behavior by verbosity/debug modeDetailedMessagesDisplayF12 hint visibilityuseLoadingIndicatorlow-mode retry threshold behavioruseGeminiStreamlow-mode terminal-failure diagnostics behavior