Well this is how oAuth works.
The only alternative is inside of the user using a webpage to provide tokens.
They use a tool to generate a token and then copy/paste the token to you. Which then comes with copy/paste error issues.
If this is a script that you pass to others to run, then you can start a temp web server to capture the token (this is what the CLI does).
But if you retain running the script then you need some way to generate or obtain a token.