Skip to content

Conversation

@Mapleeeeeeeeeee
Copy link
Contributor

@Mapleeeeeeeeeee Mapleeeeeeeeeee commented Dec 25, 2025

What

Add enableShellOutputEfficiency setting to the settings schema so users can configure it via settings file.

Why

Fixes #12546

The enableShellOutputEfficiency option was introduced in PR #10651 but was not added to the settings schema. This means users cannot configure this setting through their settings file - it can only be controlled programmatically.

How

  1. Added enableShellOutputEfficiency boolean setting to tools.shell section in settingsSchema.ts
  2. Added mapping in cli/src/config/config.ts to pass the setting value to ConfigParameters

Notes

  • Default value is true to maintain existing behavior
  • The setting is under tools.shell.enableShellOutputEfficiency to be consistent with other shell-related settings
  • npm run preflight completed successfully (exit code 0)

@Mapleeeeeeeeeee Mapleeeeeeeeeee requested a review from a team as a code owner December 25, 2025 19:10
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @Mapleeeeeeeeeee, 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 introduces the enableShellOutputEfficiency setting into the CLI's configuration schema. The primary purpose is to enable user-level configuration of this shell output optimization feature, which was previously hardcoded or only programmatically accessible. By integrating it into the settings file, users gain control over this behavior, resolving an issue where the setting was not exposed for customization.

Highlights

  • New Setting Added: The enableShellOutputEfficiency setting has been added to the CLI's settings schema, specifically under the tools.shell section.
  • User Configurability: This change allows users to configure the enableShellOutputEfficiency option directly through their settings file, addressing a previous limitation where it could only be controlled programmatically.
  • Default Behavior Maintained: The new setting defaults to true, ensuring that the existing shell output efficiency optimizations remain active by default.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@Mapleeeeeeeeeee Mapleeeeeeeeeee changed the title fix(cli): add enableShellOutputEfficiency to settings schemafix(cli): add enableShellOutputEfficiency to settings schema fix(cli): add enableShellOutputEfficiency to settings schemafix(cli): add enableShellOutputEfficiency to settings schemafix(cli): add enableShellOutputEfficiency to settings schema Dec 25, 2025
@Mapleeeeeeeeeee Mapleeeeeeeeeee changed the title fix(cli): add enableShellOutputEfficiency to settings schemafix(cli): add enableShellOutputEfficiency to settings schemafix(cli): add enableShellOutputEfficiency to settings schema fix(cli): add enableShellOutputEfficiency to settings schemafix(cli): add enableShellOutputEfficiency to settings schemafix(cli): add enableShellOutputEfficiency to settings schemafix(cli): add enableShellOutputEfficiency to settings schema Dec 25, 2025
@Mapleeeeeeeeeee Mapleeeeeeeeeee changed the title fix(cli): add enableShellOutputEfficiency to settings schemafix(cli): add enableShellOutputEfficiency to settings schemafix(cli): add enableShellOutputEfficiency to settings schemafix(cli): add enableShellOutputEfficiency to settings schema fix(cli): add enableShellOutputEfficiency to settings schema Dec 25, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request correctly adds the enableShellOutputEfficiency setting to the settings schema and wires it up in the configuration loading. However, there is a small issue with how the default value for this new setting is handled. I've provided a suggestion to ensure the default behavior is correctly applied when the setting isn't explicitly configured by the user.

Comment on lines 685 to 686
enableShellOutputEfficiency:
settings.tools?.shell?.enableShellOutputEfficiency,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The enableShellOutputEfficiency setting is not being defaulted correctly. If a user hasn't configured this value in their settings files, settings.tools?.shell?.enableShellOutputEfficiency will be undefined. This will likely be treated as false by downstream code, disabling the feature, which contradicts the intended default of true.

To ensure the default value is applied correctly, you should use the nullish coalescing operator (??), similar to how other boolean settings like enableInteractiveShell are handled.

Suggested change
enableShellOutputEfficiency:
settings.tools?.shell?.enableShellOutputEfficiency,
enableShellOutputEfficiency:
settings.tools?.shell?.enableShellOutputEfficiency ?? true,

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch! I've pushed a fix in commit b160aef - added ?? true to maintain the default behavior when the setting is undefined.

@scidomino scidomino enabled auto-merge December 25, 2025 20:31
auto-merge was automatically disabled December 26, 2025 06:11

Head branch was pushed to by a user without write access

@Mapleeeeeeeeeee Mapleeeeeeeeeee force-pushed the fix/settings-schema-shell-output-efficiency-12546 branch from b160aef to 641c151 Compare December 26, 2025 06:11
@Mapleeeeeeeeeee
Copy link
Contributor Author

Pushed CI fixes. Could you please approve the workflow run? Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

enableShellOutputEfficiency in settings.json is broken

2 participants