Skip to content

feat(plan): enable Plan Mode by default#21713

Merged
jerop merged 1 commit intomainfrom
feat/enable-plan-by-default-20909
Mar 9, 2026
Merged

feat(plan): enable Plan Mode by default#21713
jerop merged 1 commit intomainfrom
feat/enable-plan-by-default-20909

Conversation

@jerop
Copy link
Contributor

@jerop jerop commented Mar 9, 2026

  • Update experimental.plan default value to true in settings schema.
  • Simplify Plan Mode description to "Enable Plan Mode." in settings UI.
  • Update core Config constructor to default planEnabled to true.
  • Remove "(experimental)" and preview notices from Plan Mode documentation.
  • Direct users to the /settings command for Plan Mode management and remove manual JSON configuration examples.
  • Update unit tests across CLI and Core packages to align with the new default behavior.
  • Regenerate settings documentation and JSON schema.

Note: This setting remains in the experimental block for now but will be migrated to the upcoming feature gates system in a future update (see #21323).

Closes #20909

- Update `experimental.plan` default value to `true` in settings schema.
- Simplify Plan Mode description to "Enable Plan Mode." in settings UI.
- Update core `Config` constructor to default `planEnabled` to `true`.
- Remove "(experimental)" and preview notices from Plan Mode documentation.
- Direct users to the `/settings` command for Plan Mode management and remove manual JSON configuration examples.
- Update unit tests across CLI and Core packages to align with the new default behavior.
- Regenerate settings documentation and JSON schema.

Note: This setting remains in the `experimental` block for now but will be migrated to the upcoming feature gates system in a future update (see #21323).

Closes #20909
@github-actions
Copy link

github-actions bot commented Mar 9, 2026

Size Change: -36 B (0%)

Total Size: 26 MB

ℹ️ View Unchanged
Filename Size Change
./bundle/gemini.js 25.5 MB -36 B (0%)
./bundle/node_modules/@google/gemini-cli-devtools/dist/client/main.js 221 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.js 227 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.js 11.5 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.js 132 B 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B
./bundle/sandbox-macos-strict-open.sb 4.82 kB 0 B
./bundle/sandbox-macos-strict-proxied.sb 5.02 kB 0 B

compressed-size-action

@jerop jerop marked this pull request as ready for review March 9, 2026 15:49
@jerop jerop requested review from a team as code owners March 9, 2026 15:49
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, 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 transitions Plan Mode from an experimental, opt-in feature to a standard, enabled-by-default component of the system. This change aims to streamline the user experience by making this powerful planning tool immediately accessible, while also updating all associated documentation and internal configurations to reflect its new default status.

Highlights

  • Plan Mode Default: Plan Mode is now enabled by default, removing the need for manual activation by users.
  • Documentation Updates: All relevant documentation has been updated to reflect Plan Mode's default status, simplifying descriptions and removing experimental notices and manual configuration examples.
  • Configuration Changes: The experimental.plan setting's default value has been updated to true in the settings schema and the core configuration constructor.
  • Test Alignment: Unit tests across CLI and Core packages have been adjusted to align with the new default behavior of Plan Mode being enabled.
Changelog
  • docs/cli/plan-mode.md
    • Removed 'experimental' tag from the title.
    • Eliminated preview notices and manual configuration instructions.
    • Clarified that Plan Mode is now enabled by default and managed via /settings.
  • docs/cli/settings.md
    • Set the default value for experimental.plan to true.
    • Shortened the description for the Plan Mode setting.
  • docs/reference/commands.md
    • Modified the /plan command's note to indicate default enablement and how to disable it.
  • docs/reference/configuration.md
    • Changed the default value for experimental.plan to true.
    • Updated the description for experimental.plan.
  • packages/cli/src/acp/acpClient.test.ts
    • Updated isPlanEnabled mock return value to true in GeminiAgent and Session tests.
  • packages/cli/src/acp/acpResume.test.ts
    • Set isPlanEnabled mock return value to true.
    • Added ApprovalMode.PLAN to the list of available approval modes.
  • packages/cli/src/config/config.test.ts
    • Refactored a test case to assert that --approval-mode=plan is now allowed by default, expecting ApprovalMode.PLAN.
  • packages/cli/src/config/settingsSchema.test.ts
    • Updated the expected default value for experimental.plan to true.
    • Modified the expected description for experimental.plan.
  • packages/cli/src/config/settingsSchema.ts
    • Set the default property for experimental.plan to true.
    • Updated the description for experimental.plan.
  • packages/cli/src/services/BuiltinCommandLoader.test.ts
    • Updated isPlanEnabled mock return value to true in relevant test cases.
  • packages/cli/src/ui/components/Composer.test.tsx
    • Set isPlanEnabled mock return value to true in createMockConfig.
  • packages/cli/src/ui/hooks/useApprovalModeIndicator.test.ts
    • Changed isPlanEnabled mock return value to true.
  • packages/core/src/config/config.test.ts
    • Updated the test case for isPlanEnabled to expect true by default.
  • packages/core/src/config/config.ts
    • Set the default value for planEnabled in the Config constructor to true.
  • schemas/settings.schema.json
    • Modified the default value for experimental.plan to true.
    • Updated the description and markdownDescription for experimental.plan.
Activity
  • No human activity has been recorded on this pull request yet.
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.

@jerop jerop added the release/patch-to-preview PR needs to be patch to preview release label Mar 9, 2026
@jerop jerop enabled auto-merge March 9, 2026 15:55
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 enables Plan Mode by default. The changes are comprehensive, updating the default setting in the configuration schema, the core Config class, and all related tests across the cli and core packages. The documentation has also been updated accordingly to reflect that Plan Mode is now on by default and to remove its experimental status notices. The implementation is consistent and correct, and I have no further feedback.

@jerop jerop added this pull request to the merge queue Mar 9, 2026
@gemini-cli gemini-cli bot added area/core Issues related to User Interface, OS Support, Core Functionality 🔒 maintainer only ⛔ Do not contribute. Internal roadmap item. labels Mar 9, 2026
Merged via the queue into main with commit 35ee2a8 Mar 9, 2026
29 of 30 checks passed
@jerop jerop deleted the feat/enable-plan-by-default-20909 branch March 9, 2026 16:13
@jerop
Copy link
Contributor Author

jerop commented Mar 10, 2026

/patch preview

@github-actions
Copy link

Patch workflow(s) dispatched successfully!

📋 Details:

  • Channels: preview
  • Commit: 35ee2a841a7ea9e82772232f38b1200c622e02a6
  • Workflows Created: 1

🔗 Track Progress:

github-actions bot pushed a commit that referenced this pull request Mar 10, 2026
# Conflicts:
#	docs/cli/plan-mode.md
#	packages/core/src/config/config.ts
@github-actions
Copy link

🚀 Patch PR Created!

📋 Patch Details:

📝 Next Steps:

  1. ⚠️ Resolve conflicts in the hotfix PR first: #21859
  2. Test your changes after resolving conflicts
  3. Once merged, the patch release will automatically trigger
  4. You'll receive updates here when the release completes

🔗 Track Progress:

@github-actions
Copy link

🚀 Patch Release Started!

📋 Release Details:

⏳ Status: The patch release is now running. You'll receive another update when it completes.

🔗 Track Progress:

@github-actions
Copy link

Patch Release Complete!

📦 Release Details:

🎉 Status: Your patch has been successfully released and published to npm!

📝 What's Available:

🔗 Links:

@jerop jerop removed the release/patch-to-preview PR needs to be patch to preview release label Mar 10, 2026
kunal-10-cloud pushed a commit to kunal-10-cloud/gemini-cli that referenced this pull request Mar 12, 2026
liamhelmer pushed a commit to badal-io/gemini-cli that referenced this pull request Mar 12, 2026
yashodipmore pushed a commit to yashodipmore/geemi-cli that referenced this pull request Mar 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/core Issues related to User Interface, OS Support, Core Functionality 🔒 maintainer only ⛔ Do not contribute. Internal roadmap item.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove experimental feature flag for planning

2 participants