diff --git a/typer/rich_utils.py b/typer/rich_utils.py index 7d603da2d7..a563ddd2bf 100644 --- a/typer/rich_utils.py +++ b/typer/rich_utils.py @@ -285,9 +285,11 @@ def _get_parameter_help( # Default value # This uses Typer's specific param._get_default_string if isinstance(param, (TyperOption, TyperArgument)): - if param.show_default: - show_default_is_str = isinstance(param.show_default, str) - default_value = param._extract_default_help_str(ctx=ctx) + default_value = param._extract_default_help_str(ctx=ctx) + show_default_is_str = isinstance(param.show_default, str) + if show_default_is_str or ( + default_value is not None and (param.show_default or ctx.show_default) + ): default_str = param._get_default_string( ctx=ctx, show_default_is_str=show_default_is_str,