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()