Skip to content

fix(python): remove deprecated venv_auto_create setting#8384

Merged
jdx merged 1 commit intomainfrom
fix/remove-venv-auto-create
Feb 28, 2026
Merged

fix(python): remove deprecated venv_auto_create setting#8384
jdx merged 1 commit intomainfrom
fix/remove-venv-auto-create

Conversation

@jdx
Copy link
Owner

@jdx jdx commented Feb 28, 2026

Summary

  • Remove the long-deprecated python.venv_auto_create and python_venv_auto_create settings (users should use _.python.venv = { path = ".venv", create = true } instead)
  • Remove auto-create logic from the legacy virtualenv tool option in the Python core plugin
  • Clarify docs for python.uv_venv_auto — only the = true boolean value is deprecated, not the setting itself
  • Regenerate schema

Closes #8376

Test plan

  • mise run build — clean build, no warnings
  • mise run test:unit — all 491 tests pass
  • mise run test:e2e test_settings_ls — passes
  • mise run lint-fix — all lint checks pass
  • Pre-commit hooks pass

🤖 Generated with Claude Code


Note

Medium Risk
Removes a deprecated setting and its associated auto-create behavior for legacy virtualenv tool options, which can change behavior for users still relying on implicit venv creation. Changes are localized to Python settings/schema/docs and the core Python plugin.

Overview
Removes the deprecated Python settings python.venv_auto_create and python_venv_auto_create from settings.toml/generated schema and drops their migration/hidden-config handling in Settings.

Updates the core Python plugin so the legacy virtualenv tool option no longer auto-creates missing venvs; it now only warns with manual creation instructions, and simplifies get_virtualenv call sites accordingly.

Docs and tests are adjusted to reflect the deprecation cleanup, including clarifying that only the boolean python.uv_venv_auto = true value is deprecated.

Written by Cursor Bugbot for commit 38f7c89. This will update automatically on new commits. Configure here.

Remove the long-deprecated `python.venv_auto_create` and
`python_venv_auto_create` settings. Users should use
`_.python.venv = { path = ".venv", create = true }` instead.

Also clarify docs for `python.uv_venv_auto` — only the `= true`
boolean value is deprecated, not the setting itself.

Closes #8376

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@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 refactors Python virtual environment management by removing long-deprecated auto-creation settings and their associated internal logic. The changes streamline the configuration process, encouraging users to adopt the modern _.python.venv structure for explicit virtual environment creation and management, while also updating documentation and schema definitions to reflect these changes.

Highlights

  • Deprecated Settings Removal: The long-deprecated python.venv_auto_create and python_venv_auto_create settings have been completely removed from the system, guiding users towards the modern _.python.venv = { path = ".venv", create = true } configuration.
  • Legacy Auto-Create Logic Elimination: The automatic virtual environment creation logic associated with the legacy virtualenv tool option in the Python core plugin has been removed, requiring manual creation if a venv is not found.
  • Documentation Clarification: Documentation for python.uv_venv_auto has been updated to clarify that only the boolean value true is deprecated, not the setting itself, with `
Changelog
  • docs/lang/python.md
    • Clarified the deprecation status of python.uv_venv_auto = true in the documentation, suggesting alternative values.
  • e2e/cli/test_settings_ls
    • Removed a test case that checked the deprecated venv_auto_create setting.
  • schema/mise.json
    • Removed the deprecated venv_auto_create and python_venv_auto_create properties from the JSON schema.
  • settings.toml
    • Deleted the configuration entries for the deprecated python.venv_auto_create and python_venv_auto_create settings.
  • src/config/settings.rs
    • Removed the application logic for the deprecated python_venv_auto_create setting.
    • Updated the list of hidden configurations by removing python_venv_auto_create.
  • src/plugins/core/python.rs
    • Eliminated the pr argument from get_virtualenv function calls and its definition.
    • Removed the automatic virtual environment creation logic when a venv is not found, replacing it with a warning message for manual creation.
Activity
  • The pull request includes a comprehensive test plan covering build, unit, E2E, lint, and pre-commit checks, all reported as passing.
  • The PR description indicates it was generated with "Claude Code".
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.

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 removes the deprecated python.venv_auto_create and python_venv_auto_create settings. The changes are comprehensive, covering code, documentation, tests, and schema definitions. The logic for auto-creating virtual environments via the legacy virtualenv tool option has been correctly removed from the Python core plugin. Additionally, the documentation for python.uv_venv_auto has been clarified to specify that only the true value is deprecated, not the setting itself. The changes are clean and well-executed, and I found no issues in my review.

@greptile-apps
Copy link

greptile-apps bot commented Feb 28, 2026

Greptile Summary

This PR successfully removes long-deprecated Python venv settings (python.venv_auto_create and python_venv_auto_create), completing a deprecation cycle. The changes are clean and comprehensive:

  • Removes deprecated settings from settings.toml and regenerates schema/mise.json
  • Removes migration code in src/config/settings.rs that handled the old setting format
  • Removes auto-create logic from the legacy virtualenv tool option in src/plugins/core/python.rs
  • Updates documentation to clarify that only the boolean true value is deprecated for python.uv_venv_auto, not the setting itself
  • Updates tests to remove assertions for the deprecated setting

All references to the deprecated settings have been removed from the codebase. Users are now directed to use the modern env._python.venv configuration with create = true instead.

Confidence Score: 5/5

  • This PR is safe to merge with no concerns
  • The changes are straightforward and well-tested: deprecated settings are cleanly removed, all call sites are updated, no references remain in the codebase, and comprehensive tests pass
  • No files require special attention

Important Files Changed

Filename Overview
src/config/settings.rs Removes migration code for deprecated python_venv_auto_create setting and removes it from hidden configs list
src/plugins/core/python.rs Removes auto-create venv logic from legacy virtualenv tool option and removes pr parameter from get_virtualenv method
settings.toml Removes deprecated python.venv_auto_create and python_venv_auto_create setting definitions
schema/mise.json Removes schema definitions for deprecated python.venv_auto_create and python_venv_auto_create settings

Last reviewed commit: 38f7c89

@jdx jdx merged commit bc5ca55 into main Feb 28, 2026
39 checks passed
@jdx jdx deleted the fix/remove-venv-auto-create branch February 28, 2026 11:31
@github-actions
Copy link

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.2.23 x -- echo 19.2 ± 0.6 17.7 22.6 1.00
mise x -- echo 19.7 ± 0.6 18.4 25.0 1.03 ± 0.04

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.2.23 env 18.6 ± 0.5 17.4 24.0 1.00
mise env 19.5 ± 0.8 18.0 28.5 1.05 ± 0.05

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.2.23 hook-env 19.4 ± 0.5 18.1 21.4 1.00
mise hook-env 19.6 ± 0.7 18.1 27.2 1.01 ± 0.04

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.2.23 ls 18.4 ± 0.9 16.9 31.2 1.01 ± 0.06
mise ls 18.2 ± 0.5 16.8 19.9 1.00

xtasks/test/perf

Command mise-2026.2.23 mise Variance
install (cached) 116ms 116ms +0%
ls (cached) 70ms 70ms +0%
bin-paths (cached) 72ms 71ms +1%
task-ls (cached) 709ms 699ms +1%

mise-en-dev added a commit that referenced this pull request Mar 1, 2026
### 🐛 Bug Fixes

- **(aqua)** remove unnecessary bin_paths disk cache by @jdx in
[#8383](#8383)
- **(hooks)** render tera templates and fix output masking by @jdx in
[#8385](#8385)
- **(install)** improve error when registry tool has no supported
backends by @jdx in [#8388](#8388)
- **(python)** remove deprecated venv_auto_create setting by @jdx in
[#8384](#8384)
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.

1 participant