redis-cli -a pass --tls acl setuser app on allkeys allchannels +@all #4d040d3f6466018c568aadf69a666d4257e5bb350a8e06f7198aedb6b12386f

this command is not working and not setting any password because of #.

redis-cli -a pass --tls
127.0.0.1:6379>acl setuser app on allkeys allchannels +@all #4d040d3f6466018c568aadf69a666d4257e5bb350a8e06f7198aedb6b12386f

Other way is to pipe the commands separately which works but how do I make this first single command work?

Comment From: sundb

# will make hash commented, you can escapse # with \. redis-cli -a pass --tls acl setuser app on allkeys allchannels +@all \#4d040d3f6466018c568aadf69a666d4257e5bb350a8e06f7198aedb6b12386f

Comment From: NirmalP29

redis-cli -a pass --tls acl setuser app on allkeys allchannels +@all \#4d040d3f6466018c568aadf69a666d4257e5bb350a8e06f7198aedb6b12386f
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
(error) ERR Error in ACL SETUSER modifier '#4d040d3f6466018c568aadf69a666d4257e5bb350a8e06f7198aedb6b12386f': The password hash must be exactly 64 characters and contain only lowercase hexadecimal characters

It is giving this error.

Comment From: sundb

the hash you gave just has 63 chars.

Comment From: NirmalP29

oh sorry my bad! It worked. Thank you!