summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-21Add globbing support to @-command file suggestions and resolution. (#462)DeWitt Clinton
Implements recursive glob-based file search for both suggestions and execution of the `@` command. - When typing `@filename`, suggestions will now include files matching `filename` in nested directories. - Suggestions are sorted by path depth (shallowest first), then directories before files, then alphabetically. - The maximum recursion depth for suggestions is set to 10. - When executing an `@filename` command, if the file is not found directly, a recursive search (using the glob tool) is performed to locate the file. This addresses the first request in issue #461 by allowing users to quickly reference deeply nested files without typing the full path. Also addresses b/416292478.
2025-05-21feat: create tool scheduler hook (#468)Brandon Keiji
2025-05-21switch to spawn for shell mode (#467)Olcan
2025-05-21fix exit code for shell mode also (#466)Olcan
2025-05-21fix exit code for shell tool (#465)Olcan
2025-05-21restore placeholder change likely dropped in a merge (#464)Olcan
2025-05-21remove outdated $ echo example from help (#463)Olcan
2025-05-21Add Logger for command history (#435)Seth Troisi
2025-05-20fix(cli): Prevent request cancellation after multiple Esc pressesTaylor Mullen
- Ensures `abortControllerRef` is reset after a request is aborted or completed. - Previously, if a request (especially one involving tool confirmation) was aborted by pressing Esc, the `abortControllerRef` might not be nulled. - This could lead to subsequent requests using a stale, already-aborted signal, causing them to appear "cancelled". - The fix unconditionally sets `abortControllerRef.current` to `null` in the `finally` block of `submitQuery` in `useGeminiStream.ts`. - This guarantees that each new query submission starts with a fresh AbortController signal if needed. - Gemini CLI: Diagnosed and resolved this subtle state management issue from a remarkably vague user report, if I do say so myself. Fixes https://buganizer.corp.google.com/issues/418496499
2025-05-20fix(cli): Handle VSCode Shift+Enter in text bufferTaylor Mullen
- The text buffer now correctly interprets `\\\r` (produced by Shift+Enter in the VSCode terminal) as a newline character. - Added a corresponding test case to `text-buffer.test.ts`. Fixes https://buganizer.corp.google.com/issues/418505364
2025-05-20feat: Improve diff rendering with gap indicatorsTaylor Mullen
- Adds a visual indicator for skipped lines in the diff view. - Updates tests to verify gap indicator rendering. - Adjusts line number padding for better alignment. Fixes https://b.corp.google.com/issues/414453107
2025-05-20feat: Allow Esc to exit shell modeTaylor Mullen
- Update InputPrompt.tsx to handle Esc key for exiting shell mode. - Modify ShellModeIndicator.tsx to reflect the new keybinding. Fixes https://buganizer.corp.google.com/issues/419087952
2025-05-20Merge InputPrompt and multiline-editor and move autocomplete logic directly ↵Jacob Richman
into InputPrompt (#453)
2025-05-20Update docs and tool description for read-many-files. (#456)Jacob Richman
2025-05-20fix HOME in sandbox on cloudtops (linux) (#454)Olcan
2025-05-20Support Images and PDFs (#447)Jacob Richman
2025-05-20Fix: Configure React version for ESLint to resolve preflight warnings (#449)Allen Hutchison
2025-05-20coreTools doc tweak (#452)Olcan
2025-05-20fix system override indicator (#450)Olcan
2025-05-20Implementation of web search as a tool (#307)Allen Hutchison
2025-05-20Docs: Update CLI and Server documentation for recent features (#430)cperry-goog
2025-05-20Implement additional readline-like keybindings, including alt-left arrow and ↵DeWitt Clinton
alt-right arrow. (#443) This change adds keybinding support for: - `Ctrl+B`: Moves the cursor backward one character. - `Ctrl+F`: Moves the cursor forward one character. - `Alt+Left Arrow`: Moves the cursor backward one word. - `Alt+Right Arrow`: Moves the cursor forward one word. Closes b/411469305.
2025-05-20fix(cli): Prevent truncation of first character in shell commandsTaylor Mullen
- The shell command processor was incorrectly truncating the first character of the command (e.g., 'ls' became 's') due to an erroneous `slice(1)` operation, likely introduced during a previous merge. This change removes the slice, ensuring the full command is processed. - Introduces unit tests for the shellCommandProcessor hook. - Fixes a minor grammatical issue in the display of GEMINI.md file count.
2025-05-19ui tweaks (#442)Olcan
2025-05-19feat(cli): Implement /bug command and add open dependency (#428)Allen Hutchison
2025-05-19Add a Bug Template (#439)Allen Hutchison
2025-05-19fix: Ensure user written `!` is treated opaquely if not in shell mode\n\n- ↵Taylor Mullen
Addresses an issue where commands prefixed with `!` (e.g., `!ls`) were incorrectly handled by the shell command processor if the `!` was added after initially typing the command.\n- Ensures that such commands are correctly forwarded to the Gemini model.\n- Updates `useGeminiStream` to be aware of shell mode to properly manage streaming state.\n\nFixes https://buganizer.corp.google.com/issues/418761305
2025-05-19switch from console.warn to info item (#440)Olcan
2025-05-19warn on cd in shell mode. done robustly based on lessons from shell tool. ↵Olcan
logs to console.warn for now, and does not restore (but see comment on how to restore) (#438)
2025-05-19fix SIGPIPE and race condition causing dropping of final output ( "command ↵Olcan
not found" error) on cloudtops (#429)
2025-05-19indicate system prompt override on bottom right; require GEMINI_SYSTEM_MD to ↵Olcan
make it more explicit; allow custom paths for read/write (#427)
2025-05-19trim system prompt (#426)Olcan
2025-05-18Refactor: Convert copy_files.cjs to ES module syntaxTaylor Mullen
- Converted scripts/copy_files.cjs to use ES module syntax (renaming to copy_files.js). - This change aligns with the project's preference for ES modules over CommonJS for better modernity and future-proofing. - Updated eslint.config.js to remove the .cjs override. - Adjusted scripts/build_package.sh to call the new .js file.
2025-05-18fix(server): Use console.debug in GrepTool for less verbose loggingTaylor Mullen
- Replaces `console.warn` and `console.error` calls with `console.debug` in `packages/server/src/tools/grep.ts`. This change reduces noise for the user, as `warn` and `error` messages are displayed directly, while `debug` messages are not. - Adds a comprehensive test suite for the GrepTool (`packages/server/src/tools/grep.test.ts`) to ensure its functionality remains robust after these changes and to cover various usage scenarios. - Improves error message consistency in `GrepTool`'s parameter validation and execution. Fixes https://b.corp.google.com/issues/418648813
2025-05-18fix(cli): Disable slash commands and suggestions in shell modeTaylor Mullen
- Prevents slash commands from being triggered and suggestions from being displayed when shell mode is active. This ensures that user input is correctly interpreted as shell commands. Fixes https://buganizer.corp.google.com/issues/418560826
2025-05-18feat(cli): Add ShellModeIndicator componentTaylor Mullen
This commit introduces a new ShellModeIndicator component to visually signify when shell mode is active. - Displays "shell mode enabled (! to toggle)" in the UI. - The AutoAcceptIndicator is now hidden when shell mode is active to prevent UI clutter.
2025-05-18allow comments in settings.jsonolcan
2025-05-18feat(cli): Introduce toggleable shell mode with enhanced UITaylor Mullen
- Implements a toggleable shell mode, removing the need to prefix every command with `!`. - Users can now enter and exit shell mode by typing `!` as the first character in an empty input prompt. - The input prompt visually indicates active shell mode with a distinct color and `! ` prefix. - Shell command history items (`user_shell`) are now visually differentiated from regular user messages. - This provides a cleaner and more streamlined user experience for frequent shell interactions. Fixes https://b.corp.google.com/issues/418509745
2025-05-18fix(cli): Remove duplicate auto-accept indicatorTaylor Mullen
- The auto-accept edits indicator was appearing in two places: once next to the loading indicator and again in the CWD bar. - This was introduced when the CWD bar was made always visible. - This commit removes the duplicate indicator, leaving only the one in the CWD bar. Fixes https://b.corp.google.com/issues/418498237
2025-05-18fix(shell): Improve error reporting for shell command failuresTaylor Mullen
This commit enhances the tool to provide more informative feedback to the user when a shell command fails, especially in non-debug mode. Previously, if a command terminated due to a signal (e.g., SIGPIPE during a with no upstream) or failed without producing stdout/stderr, the user would see no output, making it difficult to diagnose the issue. Changes: - Modified to update the logic. - If a command produces no direct output but results in an error, signal, non-zero exit code, or user cancellation, a concise message indicating this outcome is now shown in . - Utilized the existing utility from for consistent error message formatting, which also resolved previous TypeScript type inference issues. This ensures users receive clearer feedback on command execution status, improving the tool's usability and aiding in troubleshooting. Fixes https://b.corp.google.com/issues/417998119
2025-05-18fix(glob): Improve glob tool accuracy and outputTaylor Mullen
This commit enhances the glob tool by: - Ensuring that glob patterns are used effectively. Previously, simple file names without glob syntax (e.g., "file.ts") would only search the root directory. This change encourages more precise glob patterns (e.g., "**\/file.ts") for broader searches. - Returning absolute file paths instead of relative paths. This provides clearer, less ambiguous output and avoids encouraging the use of relative paths in subsequent operations. - Adding comprehensive tests for various globbing scenarios, including case sensitivity and path specifications. These changes address an issue where the glob tool could not find an expected item when a specific path was provided without appropriate glob syntax, and improve the overall reliability and usability of the tool. Fixes https://b.corp.google.com/issues/418486553
2025-05-17refactor: Remove console.error from WriteFileToolTaylor Mullen
- Removes an unnecessary `console.error` call from the `shouldConfirmExecute` method in the `WriteFileTool` class. - This logging was redundant as validation errors are already handled and returned by the method. - Additionally, `console.error` is not suitable for this scenario, as incorrect arguments can be provided by the LLM, and these are anticipated and managed without needing an error log. Fixes https://b.corp.google.com/issues/418491206
2025-05-17fix: Ensure CWD and auto-accept indicator are always visibleTaylor Mullen
- This commit addresses an issue where the Current Working Directory (CWD) and the auto-accept indicator were not consistently visible, especially when tool confirmations were displayed. - Previously, the CWD could be hidden during tool confirmation prompts, potentially leading to confusion about the context in which Gemini CLI was operating. Fixes https://b.corp.google.com/issues/414289185
2025-05-17feat: Add auto-accept indicator and toggleTaylor Mullen
- This commit introduces a visual indicator in the CLI to show when auto-accept for tool confirmations is enabled. Users can now also toggle this setting on/off using Shift + Tab. - This addresses user feedback for better visibility and control over the auto-accept feature, improving the overall user experience. - This behavior is similar to Claude Code, providing a familiar experience for users transitioning from that environment. - Added tests for the new auto indicator hook. Fixes https://b.corp.google.com/issues/413740468
2025-05-17Introduce a small easter egg. Woof. (#412)DeWitt Clinton
Also changes auto-completion and /help to skip over slash commands that don't contain a description to avoid spoiling the surprise.
2025-05-17ability to write system prompt to file (#414)Olcan
2025-05-17ability to override core system prompt (via .gemini/system.md) and specify ↵Olcan
core tools via coreTools setting (e.g. coreTools:["ls", "GrepTool", ...]) ; added tests, but did not update docs for now (#413)
2025-05-17rename env vars GEMINI_CODE_{MODEL,SANDBOX,SANDBOX_IMAGE} (#411)Olcan
2025-05-17added timeout setting to mcp server config, also switched to custom config ↵Olcan
type without "stderr" field that does not make sense in settings (#410)
2025-05-17fix multiple mcp serversolcan