Since it does not like string being given when the function definition has  list[str]
how can we make sure that the input is preserved?
After digging deep, giving the script definition starts as below
@click.command()
@click.option('--test_multiple', type=str, required=False, multiple=True, help='Test multiple values')
def test_pipeline(test_multiple: list[str] | None) -> None:
    ....
and looking at the  Args  stored in the  HyperParams   of the controller task, it stores the Args value as   '(test1,)'  and the type as  STRING  and maybe that is why the script is erroring out when the pipeline is running in the remotely.