‘in ‘ requires string as left operand, not int when trying to make lambda from aws-cli

I am trying to setup github actions to autodeploy lambdas when pushed to main but when i run
aws lambda create-function --function-name "helloWorld" --runtime nodejs20.x --role arn:aws:iam:... --handler "helloWorld.handler" --code fileb://helloWorld.zip
I keep getting the error
'in <string>' requires string as left operand, not int
the zip file just contains helloworld.js
which just has
export const handler = async (event) => { const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; return response; };

(if it helps the zip file is made using zip -r "helloWorld.zip" ".helloWorld.js")

I tried changing the command to aws lambda create-function --function-name "helloWorld" --runtime nodejs20.x --role arn:aws:iam:... --handler "helloWorld.handler" --code file://helloWorld.zip but that just gave an error of Error parsing parameter '--code': Unable to load paramfile (helloWorld.zip), text contents could not be decoded. If this is a binary file, please use the fileb:// prefix instead of the file:// prefix.