When CLI options --port/--ws-port were not provided, nil values were being explicitly passed to Server.start_link, which caused Keyword.get to return nil instead of the default. Now we only include port options in the keyword list if they have actual values.