summaryrefslogtreecommitdiff
path: root/packages/cli/src/config/settings.ts
AgeCommit message (Collapse)Author
2025-08-05chore(settings): clean up comments in settings.ts (#5576)Oleksandr Gotgelf
2025-08-05feat: Multi-Directory Workspace Support (part 3: configuration in ↵Yuki Okita
settings.json) (#5354) Co-authored-by: Allen Hutchison <[email protected]>
2025-08-04fix(core): Allow model to be set from `settings.json` (#5527)Richie Foreman
2025-08-03fix: exclude DEBUG and DEBUG_MODE from project .env files by default (#5289)Oleksandr Gotgelf
Co-authored-by: Jacob Richman <[email protected]>
2025-08-03Add a setting to disable the version update nag message (#5449)Billy Biggs
2025-08-01fix(config): Resolve duplicate config loading from home directory (#5090)TIRUMALASETTI PRANITH
Co-authored-by: Allen Hutchison <[email protected]> Co-authored-by: Allen Hutchison <[email protected]>
2025-08-01bug(cli): Prefer IPv4 dns resolution by default. (#5338)joshualitt
2025-08-01Add a setting to disable auth mode validation on startup (#5358)Billy Biggs
2025-07-31fix: CLAUDE.md compatibility for GEMINI.md '@' file import behavior (#2978)Niladri Das
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Allen Hutchison <[email protected]>
2025-07-30Add toggleable IDE mode setting (#5146)christine betts
2025-07-29 feat: Add auto update functionality (#4686)Gal Zahavi
2025-07-25Vim mode (#3936)Sijie Wang
2025-07-23feat(memory): make directory search limit on memory discovery configurable ↵Brandon Keiji
with settings.json (#4460)
2025-07-21Add env var to configure system settings path (#4339)christine betts
2025-07-20feat: full implementation for .geminiignore in settings and respective tool ↵Pyush Sinha
calls (#3727)
2025-07-20Feature custom themes logic (#2639)Ali Al Jufairi
Co-authored-by: Jacob Richman <[email protected]>
2025-07-19Revert background agent commits (#4479)Tommaso Sciortino
2025-07-18Add /background commands (when background agent is configured) (#4407)Tommaso Sciortino
Co-authored-by: Bryan Morgan <[email protected]>
2025-07-15Add support for allowed/excluded MCP server names in settings (#4135)christine betts
Co-authored-by: Scott Densmore <[email protected]>
2025-07-15Enable tool summarization only when explicitly set in settings.json (#4140)anj-s
Co-authored-by: matt korwel <[email protected]>
2025-07-14Add feature flag for IDE integration (#3927)Shreya Keshive
Co-authored-by: Scott Densmore <[email protected]>
2025-07-14feat(cli): add hideBanner setting to disable startup banner (#2803)K
Co-authored-by: Pascal Birchler <[email protected]>
2025-07-11Add support for specifying maxSessionTurns via the settings configuration ↵anj-s
(#3507)
2025-07-09Add system-wide settings config for administrators (#3498)christine betts
Co-authored-by: Jack Wotherspoon <[email protected]>
2025-07-07Enable Gemini CLI to reuse user's auth in Cloud Shell (#3070)Marat Boshernitsan
2025-07-07fix: respect env variables in .env for settings.json variable substitution ↵Jack Wotherspoon
(#3416)
2025-06-29feat(cli): Add hideTips setting (#1524)Marcin Jahn
Co-authored-by: Allen Hutchison <[email protected]>
2025-06-25fix: prepublish changes to package names (#1420)Brandon Keiji
2025-06-24Jacob314/max old space (#1314)Jacob Richman
2025-06-24Refactor usage statistics to be a top-level setting (#1363)Jerop Kipruto
This commit refactors the `usageStatisticsEnabled` setting from a sub-property of the `telemetry` configuration to a top-level setting. This change simplifies the configuration by decoupling usage statistics from the telemetry settings. The documentation has also been updated to reflect this change.
2025-06-22Add setting enableRecursiveFileSearch to control @-file completion (#1290)Billy Biggs
2025-06-20Make checkpoints configurable in settings.json (#1251)Louis Jimenez
2025-06-19Auth First Run (#1207)matt korwel
Co-authored-by: Tommaso Sciortino <[email protected]> Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-15Add telemetry command and refactor telemetry settings (#1060)Jerop Kipruto
#750 ### Telemetry Settings Refactors telemetry configuration to use a nested `telemetry` object in `settings.json`, for example: ```json { "telemetry": { "enabled": true, "target": "gcp" "log-prompts": "true" }, "sandbox": false } ``` The above includes - Centralized telemetry settings under a `telemetry` object in `settings.json`. - CLI flags for the `gemini` command to override all telemetry sub-settings: - `--telemetry` / `--no-telemetry` - `--telemetry-target <local|gcp>` - `--telemetry-otlp-endpoint <URL>` - `--telemetry-log-prompts` / `--no-telemetry-log-prompts` - Updates `packages/cli/src/config/config.ts` and `packages/core/src/config/config.ts` to read from the new settings structure and respect the new CLI flags. - Modifies `scripts/handle-telemetry.js`, `scripts/local_telemetry.js`, and `scripts/telemetry_utils.js` to align with the new settings structure. - Updates `docs/core/telemetry.md` to reflect the new settings structure, CLI flags, and order of precedence. - Renames `logUserPromptsEnabled` to `logPrompts` for brevity. ### `npm run telemetry` Add a new `npm run telemetry` command that uses `scripts/telemetry.js`, automates the entire process of setting up a local and GCP telemetry pipelines, including configuring the necessary settings in the `.gemini/settings.json` workspace file and installing required binaries (e.g. `otelcol-contrib`). --- ```shell $ npm run telemetry -- --target=gcp > [email protected] telemetry > node scripts/telemetry.js --target=gcp ⚙️ Using command-line target: gcp 🚀 Running telemetry script for target: gcp. ✨ Starting Local Telemetry Exporter for Google Cloud ✨ ⚙️ Enabled telemetry in workspace settings. 🔧 Set telemetry OTLP endpoint to http://localhost:4317. 🎯 Set telemetry target to gcp. ✅ Workspace settings updated. ✅ Using Google Cloud Project ID: foo-bar 🔑 Please ensure you are authenticated with Google Cloud: - Run `gcloud auth application-default login` OR ensure `GOOGLE_APPLICATION_CREDENTIALS` environment variable points to a valid service account key. - The account needs "Cloud Trace Agent", "Monitoring Metric Writer", and "Logs Writer" roles. ✅ otelcol-contrib already exists at /Users/jerop/github/gemini-cli/.gemini/otel/bin/otelcol-contrib 🧹 Cleaning up old processes and logs... ✅ Deleted old GCP collector log. 📄 Wrote OTEL collector config to /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.yaml 🚀 Starting OTEL collector for GCP... Logs: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log ⏳ Waiting for OTEL collector to start (PID: 17013)... ✅ OTEL collector started successfully on port 4317. ✨ Local OTEL collector for GCP is running. 🚀 To send telemetry, run the Gemini CLI in a separate terminal window. 📄 Collector logs are being written to: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log 📊 View your telemetry data in Google Cloud Console: - Logs: https://console.cloud.google.com/logs/query;query=logName%3D%22projects%2Ffoo-bar%2Flogs%2Fgemini_cli%22?project=foo-bar - Metrics: https://console.cloud.google.com/monitoring/metrics-explorer?project=foo-bar - Traces: https://console.cloud.google.com/traces/list?project=foo-bar Press Ctrl+C to exit. ^C 👋 Shutting down... ⚙️ Disabled telemetry in workspace settings. 🔧 Cleared telemetry OTLP endpoint. 🎯 Cleared telemetry target. ✅ Workspace settings updated. 🛑 Stopping otelcol-contrib (PID: 17013)... ✅ otelcol-contrib stopped. ```
2025-06-14feat: Add custom URL support for the /bug command (#1017)Allen Hutchison
2025-06-13Add a local telemetry launcher (#1015)Keir Mierle
2025-06-13Update contextFileName to support an optional list of strings (#1001)Billy Biggs
2025-06-13cleanup unused `allowBuildArtifacts` (#1010)Anas H. Sulaiman
2025-06-12remove enable editor flag (#984)Leo
2025-06-11feat: External editor settings (#882)Leo
2025-06-11add excludeTools flag to settings.json config (#957)JingboWang1997-1
2025-06-10Add a window title when CLI is launched (#787)Mark McDonald
2025-06-08feat: Add flow to allow modifying edits during edit tool call (#808)Leo
2025-06-07refactor: rename gemini-code to gemini-cli (#822)cperry-goog
2025-06-06Exit with an error message if parsing settings.json fails. (#747)Jacob Richman
2025-06-06Refactor: Improve env var resolution in settingsjerop
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-06feat: Enable environment variable substitution in settingsjerop
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-05OpenTelemetry Integration & Telemetry Control Flag (#762)Jerop Kipruto
2025-06-04CLI_TITLE env var for setting the CLI title (#748)Tommaso Sciortino
2025-06-04feat(accessibility): Add option to disable loading phrases (#745)N. Taylor Mullen