Migrating to Click 8.3.0
Version 8.3.0 introduces 1 breaking change. This guide details how to update your code.
Released: 9/18/2025
1
Breaking Changes
3
Migration Steps
4
Affected Symbols
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
click.Optionclick.Argumentclick.core.Context.with_resourceclick.testing.CliRunnerBreaking Changes
●Issue #1
Reworked relationship between ``flag_value`` and ``default`` in ``click.Option``: ``default`` is now passed unchanged to callbacks, which may break code that relied on the previous automatic transformation. Adjust code to handle the raw ``default`` value or keep ``default=True`` for backward compatibility.
Migration Steps
- 1Review any ``click.Option`` definitions that relied on the previous transformation of ``default`` values and update the code to work with the raw ``default`` value.
- 2If you need the old behavior for a flag option, keep ``default=True`` or explicitly handle the ``flag_value`` in your callback.
- 3Run your test suite, especially tests that invoke CLI commands with flag options, to ensure expected behavior.
Release Summary
Click 8.3.0 introduces improved flag handling, new defaults support for variable‑length arguments, and several bug fixes, with a potential breaking change in how ``default`` values are passed to callbacks.
Need More Details?
View the full release notes and all changes for Click 8.3.0.
View Full Changelog