If you come across the tabcmd error code 16, Invalid username or password, it’s likely the error is caused by a special character in the password. For example %1 is interpreted by Tableau as a parameter. In the command line it should be converted to %%1, with the preceding % acting as an escape character.
Another special character Tableau can’t interpret is #. I was unable to find an escape character for that so just changed the password to make tabcmd work for the user with that password.
If anyone knows better ways around this than changing the password please write in the comments.