Change8

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.CliRunner

Breaking 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

  1. 1
    Review any ``click.Option`` definitions that relied on the previous transformation of ``default`` values and update the code to work with the raw ``default`` value.
  2. 2
    If you need the old behavior for a flag option, keep ``default=True`` or explicitly handle the ``flag_value`` in your callback.
  3. 3
    Run 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