Today I learned that you cannot pass negative integers as values to typer. in this case context_settings={"ignore_unknown_options": True}
is required so that the -
does not look like a flag.
# script name: main.py import typer app = typer.Typer() @app.command() def failing(value: float): print(f"{value=}") @app.command( context_settings={"ignore_unknown_options": True} ) def working_good(value: float): print(f"{value=}") if __name__ == "__main__": app()