Anas H. Sulaiman
bb67d31739
reuse `GitIgnoreParser` for loading `.geminiignore` ( #1025 )
2025-06-13 17:17:08 -04:00
Tommaso Sciortino
54f0d9d0e5
Fix default extension context filename and update docs ( #1024 )
2025-06-13 13:57:00 -07:00
Tommaso Sciortino
491e367f7c
Don't exclude config.test.ts. ( #1021 )
2025-06-13 20:07:46 +00:00
Daniel Lee
daceb9963f
feat(cli): support ctrl+d to exit ( #878 )
...
Similar to ctrl+c, ctrl+d can now be used to exit the program. To avoid accidental exit, ctrl+d must be pressed twice in relatively quick succession (same as ctrl+c).
Following common UX pattern, ctrl+d will be ignored when the input prompt is non-empty. This behavior is similar to how most shell (bash/zsh) behaves. To support this, I had to refactor so that text buffer is initialized outside of the InputPrompt component and instead do it on the main App component to allow input controller to have access to check the content of the text buffer.
2025-06-13 16:59:09 +00:00
Billy Biggs
2a1ad1f5d9
Update contextFileName to support an optional list of strings ( #1001 )
2025-06-13 09:19:08 -07:00
Anas H. Sulaiman
34e0d9c0b6
cleanup unused `allowBuildArtifacts` ( #1010 )
2025-06-13 12:00:38 -04:00
Anas H. Sulaiman
c886f08525
cleanup unused `customIgnorePatterns` ( #1009 )
2025-06-13 11:49:48 -04:00
Leo
d25459d815
Edit wording in /edit description ( #1006 )
2025-06-13 15:36:51 +00:00
Mark McDonald
ff478781ad
Support GOOGLE_API_KEY hoisting in sandbox too ( #998 )
2025-06-13 08:32:15 +00:00
N. Taylor Mullen
7bcc60e996
refactor: Use default centralized Flash & Pro models everywhere ( #994 )
2025-06-13 08:25:42 +00:00
Miguel Solorio
f8a31f29aa
Replace logo with custom ASCII ( #958 )
2025-06-13 07:59:45 +00:00
Jerop Kipruto
b20c8389f3
Handle telemetry in non-interactive mode ( #1002 )
...
Changes:
- Ensure proper shutdown in non-interactive mode
- Ensures the initial user prompt is logged in non-interactive mode
- Improve telemetry for streaming - handle chunks and input token count is now alongside other token counts in response
To test:
- Follow instructions in https://github.com/google-gemini/gemini-cli/blob/main/docs/core/telemetry.md#google-cloud
- Run CLI in non-interactive mode and observe logs/metrics in GCP Logs Explorer and Metrics Explorer
#750
2025-06-13 03:44:17 -04:00
Tommaso Sciortino
431ee839a0
Code Assist cleanup and docs ( #993 )
2025-06-12 18:00:17 -07:00
Marat Boshernitsan
181abde2ff
Reduce coupling between core and cli packages ( #961 )
...
Co-authored-by: Marat Boshernitsan <maratb@google.com>
2025-06-12 17:17:29 -07:00
Seth Troisi
dc378e8d60
Have @ pass through images and other Part objects ( #990 )
2025-06-12 16:17:44 -07:00
Seth Troisi
b7daa7c702
Fixed @ file content not being added or sent to server ( #962 )
2025-06-12 23:08:27 +00:00
Jerop Kipruto
6723c72fa5
telemetry: include user decisions in tool call logs ( #966 )
...
Add the user's decision (accept, reject, modify) to tool call telemetry to better understand user intent. The decision provides crucial context to the `success` metric, as a user can reject a call that would have succeeded or accept one that fails.
Also prettify the arguments json.
Example:

#750
2025-06-12 20:48:10 +00:00
Abhi
32da693b91
bug: only show tool tokens if > 0 ( #985 )
2025-06-12 19:31:17 +00:00
Jordan Demeulenaere
e1d8a356b0
Fix build_sandbox command ( #974 )
2025-06-12 17:38:10 +00:00
Leo
ad2e47dc20
remove enable editor flag ( #984 )
2025-06-12 17:28:20 +00:00
DeWitt Clinton
a9e56ee460
Ignore dot files on @-completion. ( #978 )
2025-06-12 17:04:15 +00:00
DeWitt Clinton
f2ab6d08c4
Improve the performance of filename completion over large repositories. ( #938 )
2025-06-12 07:09:38 -07:00
anj-s
6fc7028031
Revert "Add support for local logging per session ( #936 )" ( #970 )
2025-06-11 21:59:46 -07:00
Jerop Kipruto
89f682f081
Telemetry: Improve clarity of user prompt event ( #967 )
2025-06-11 21:43:00 -04:00
Leo
1ef68e0612
feat: External editor settings ( #882 )
2025-06-11 18:21:54 -07:00
Abhi
dd53e5c96a
Show session summary on exit for ctrl+c x 2. Fix exit UI ( #963 )
2025-06-11 20:08:32 -04:00
Eddie Santos
e02a035ab4
Adding silly phrases ( #922 )
2025-06-11 23:40:13 +00:00
anj-s
2dc79b3bd0
Add support for local logging per session ( #936 )
2025-06-11 15:05:41 -07:00
JingboWang1997-1
6ecdecbdcc
add excludeTools flag to settings.json config ( #957 )
2025-06-11 14:32:23 -07:00
Seth Troisi
122678cc09
clean chat history before /resume ( #949 )
2025-06-11 13:40:44 -07:00
Abhi
7a72d255d8
feat: Add exit UI w/ stats ( #924 )
2025-06-11 16:40:31 -04:00
matt korwel
4160d904da
Extensibility: Gemini.md files ( #944 )
2025-06-11 20:34:35 +00:00
Tommaso Sciortino
24c61147b8
Cache oauth credentials ( #927 )
2025-06-11 13:26:41 -07:00
Seth Troisi
5586ad5f8a
Fix noisy tests ( #950 )
2025-06-11 13:01:04 -07:00
Louis Jimenez
e0f4f428fc
Restore Checkpoint Feature ( #934 )
2025-06-11 15:33:09 -04:00
Olcan
f75c48323c
fixes to proxy on macos: prevent curl from hanging during wait-for-proxy by adding ipv6 support and timeout ( #947 )
2025-06-11 11:31:38 -07:00
Olcan
9237e95f11
fix proxy on cloudtops/linux and for older versions of docker, more robust start/stop and error reporting ( #945 )
2025-06-11 10:50:31 -07:00
jerop
d96af8bacd
refactor(telemetry): pass config object to telemetry functions
...
This commit refactors the telemetry system to pass a object to various logging and metrics functions. This change centralizes configuration management within the telemetry system, making it more modular and easier to maintain.
The constructor and various tool execution functions have been updated to accept the object, which is then passed down to the telemetry functions. This eliminates the need to pass individual configuration values, such as , through multiple layers of the application.
2025-06-11 13:24:41 -04:00
Miguel Solorio
9c5b5ff823
Allow themes to update gradient colors ( #914 )
2025-06-11 17:14:18 +00:00
Olcan
e2d689ff2f
do not auto-enable container sandboxing (fixing recently introduced bug) ( #939 )
2025-06-11 08:25:33 -07:00
Anas Sulaiman
9d992b32e4
add a unit test with multiple hunks for diff renderer
2025-06-11 09:47:11 -04:00
Zach Sais
5bab5a7378
fix version set for cli and slash commands ( #892 )
2025-06-11 08:25:26 -05:00
jerop
d1e23b7c71
refactor: Centralize session ID generation and propagation
2025-06-11 01:18:40 -04:00
Seth Troisi
fb6e2927f7
Remove unneeded `mockRestore()`s from tests ( #919 )
2025-06-10 20:32:00 -07:00
Olcan
3372fd8df8
rename sandbox-exec as MacOS Seatbelt in footer ( #921 )
2025-06-10 18:35:00 -07:00
Tommaso Sciortino
97e08fc804
Remove warnings for old env var names. ( #920 )
2025-06-10 18:34:36 -07:00
Tommaso Sciortino
e92b7dfd74
Change yolo mode so it doesn't disable sandboxing. ( #918 )
2025-06-10 17:41:59 -07:00
Seth Troisi
8e0d5076d6
Add [tag] to /save and /resume ( #916 )
2025-06-10 16:58:39 -07:00
Seth Troisi
36f58a34b4
logConversation
...
loadConversation
/resume
clean up for review
2025-06-10 16:14:42 -07:00
Tommaso Sciortino
d79dafc577
Basic code assist support ( #910 )
2025-06-10 16:00:13 -07:00
Tommaso Sciortino
4e84431df3
Allow simple extensions for registering MCPservers ( #890 )
2025-06-10 15:48:39 -07:00
Tolik Malibroda
e73d4752df
fix: Change sandbox network check command for docker ( #907 )
2025-06-11 00:13:36 +02:00
Abhi
9c3f34890f
feat: Add UI for /stats slash command ( #883 )
2025-06-10 15:59:52 -04:00
Olcan
e38d2078cc
restricted networking for all sandboxing methods, new seatbelt profiles, updated docs, fixes to sandbox build, debugging through sandbox ( #891 )
2025-06-10 08:58:37 -07:00
Tommaso Sciortino
895c1f132f
GEMINI_SANDBOX=false should disable seatbelt ( #888 )
2025-06-10 06:22:02 -07:00
Bryan Morgan
1e3abf96b5
addressed b/423798481 ( #887 )
2025-06-10 08:47:46 -04:00
Olcan
c7e82965b1
fix user settings in sandbox broken in recent change ( #885 )
2025-06-10 00:27:40 -07:00
Mark McDonald
5673c5f267
Add a window title when CLI is launched ( #787 )
2025-06-10 11:54:51 +08:00
Abhi
7f1252d364
feat: Display initial token usage metrics in /stats ( #879 )
2025-06-09 20:25:37 -04:00
Eddie Santos
6484dc9008
Add Windsurf in edit tool to modify changes, if installed ( #853 )
2025-06-09 16:01:06 -07:00
Seth Troisi
f11414a424
Use GOOGLE_API_KEY as default if both GEMINI and GOOGLE set ( #777 )
2025-06-09 13:54:11 -07:00
matt korwel
3b943c1582
Windows: Refactor Shell Scripts to Node.js for Cross-Platform Compatibility ( #784 )
2025-06-09 12:19:42 -07:00
Tommaso Sciortino
0613062fc8
Simplify user agent handling. ( #828 )
2025-06-09 09:31:27 -07:00
Olcan
a2fee6bdd3
fix mcp timeouts and missing description on mcp errors ( #868 )
2025-06-08 21:52:11 -07:00
Olcan
a3d11e8fef
replace reference to "README" with "docs" to avoid confusion for folks who do not have access to README ( #866 )
2025-06-08 19:19:33 -07:00
Olcan
d061419452
enforce minimum lines shown/hidden ( #860 )
2025-06-08 17:11:16 -07:00
Olcan
8f993a6200
drop redundant -s flag for custom sandbox build ( #859 )
2025-06-08 16:43:04 -07:00
N. Taylor Mullen
d62dad5575
Revert "Add batch editing capabilities to Edit Tool ( #648 )" ( #857 )
2025-06-08 23:20:43 +00:00
Bryan Morgan
152af28a34
Bryanmorgan/add tool source description ( #856 )
2025-06-08 19:07:05 -04:00
Bryan Morgan
31c14ea78f
Bryanmorgan/add mcp description support ( #855 )
2025-06-08 18:45:36 -04:00
N. Taylor Mullen
f2ea78d0e4
fix(tool-scheduler): Correctly pipe cancellation signal to tool calls ( #852 )
2025-06-08 22:42:49 +00:00
Abhi
7868ef8229
feat: Introduce session context and add session duration stat for `/stats` command ( #854 )
2025-06-08 18:01:02 -04:00
Scott Densmore
9104ac02f7
feat: display commit hash in detached HEAD state ( #832 )
2025-06-08 14:59:18 -07:00
N. Taylor Mullen
241c404573
fix(cli): correctly handle tool invocation cancellation ( #844 )
2025-06-08 11:14:45 -07:00
Leo
9efca40dae
feat: Add flow to allow modifying edits during edit tool call ( #808 )
2025-06-08 10:56:58 -07:00
N. Taylor Mullen
d0b78225a1
feat: update ctrl+t text ( #845 )
2025-06-08 07:16:08 +00:00
Scott Densmore
b46f220931
feat(cli): improve API error parsing and display ( #829 )
2025-06-07 22:04:57 -07:00
Abhi
6e4b84a60d
Fix Build Failure - Build fails in sandbox due to missing build toolchain ( #831 )
2025-06-08 01:04:20 -04:00
Tommaso Sciortino
389907ce65
Introduce ContentGeneratorConfig ( #826 )
2025-06-07 16:17:27 -07:00
Bryan Morgan
e95a6086fc
Bryanmorgan/add mcp description support ( #825 )
2025-06-07 18:30:56 -04:00
Tolik Malibroda
dd08582f81
fix: Rename missing occurence of gemini-code ( #824 )
2025-06-08 00:12:53 +02:00
Jacob Richman
ab44824e07
Auto insert @ when dragging and dropping files. ( #812 )
2025-06-07 14:48:56 -07:00
cperry-goog
18d6a11c04
refactor: rename gemini-code to gemini-cli ( #822 )
2025-06-07 14:27:22 -07:00
Tommaso Sciortino
d6cf4d5b0b
Eliminate createServerConfig() ( #821 )
2025-06-07 13:49:00 -07:00
Tommaso Sciortino
10b52ac4e8
Fix missing arg warning in tests ( #820 )
2025-06-07 13:39:53 -07:00
Eddie Santos
27fdd1b6e6
Add embedder ( #818 )
2025-06-07 13:38:05 -07:00
Bryan Morgan
28ff62e7b1
Added /mcp command support and cleaned up broken tests ( #817 )
2025-06-07 15:06:18 -04:00
Tommaso Sciortino
6ea4479064
Push model-switching logging into loadCliConfig ( #815 )
2025-06-07 11:12:30 -07:00
Tommaso Sciortino
680f4cdd61
More version simplifiction. ( #810 )
2025-06-07 10:54:23 -07:00
Keith Ballinger
0c86874677
Add batch editing capabilities to Edit Tool ( #648 )
...
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-06 22:54:37 -07:00
Tommaso Sciortino
76ec9122c0
clean up version lookup code ( #804 )
2025-06-06 16:21:20 -07:00
cperry-goog
e94a10023d
adding very important phrases ( #802 )
2025-06-06 14:49:40 -07:00
Jacob Richman
2f54aa888a
feat(ui): add cursor to empty input prompt ( #800 )
2025-06-06 13:44:11 -07:00
Jacob Richman
89aca349cf
Exit with an error message if parsing settings.json fails. ( #747 )
2025-06-06 09:56:45 -07:00
jerop
b4a6b16227
Test: Verify concatenated env var resolution in settings
...
Adds a test case to `settings.test.ts` to specifically verify
the correct resolution of multiple environment variables concatenated
within a single string value (e.g., ${HOST}:${PORT} ).
2025-06-06 11:47:37 -04:00
jerop
8c28250bb3
Refactor: Improve env var resolution in settings
...
Refactors the `resolveEnvVarsInObject` function in settings to
explicitly handle primitive types (null, undefined, boolean, number)
at the beginning of the function. This clarifies the logic for
subsequent string, array, and object processing.
2025-06-06 11:47:37 -04:00
jerop
4e9d365407
feat: Enable environment variable substitution in settings
...
This commit introduces the ability to use system environment variables
within the settings files (e.g., `settings.json`). Users can now
reference environment variables using the `${VAR_NAME}` syntax.
This enhancement improves security and flexibility, particularly
for configurations like MCP server settings, which often require
sensitive tokens.
Previously, to configure an MCP server, a token might be directly
embedded:
```json
"mcpServers": {
"github": {
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "pat_abc123"
}
// ...
}
}
```
With this change, the same configuration can securely reference an
environment variable:
```json
"mcpServers": {
"github": {
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
}
// ...
}
}
```
This allows users to avoid storing secrets directly in configuration files.
2025-06-06 11:47:37 -04:00
Jacob Richman
9ad615c2a4
Fix build break due to changes to theme. ( #796 )
2025-06-06 08:05:00 -07:00
Jacob Richman
4262f5b0de
feat(cli): respect the NO_COLOR env variable ( #772 )
2025-06-06 07:55:28 -07:00
DeWitt Clinton
c80ff146d2
Reduce noisy logging for missing .geminiignore file. ( #793 )
2025-06-06 07:47:43 -07:00