protonscr

SteamCMD not working if password includes certain special characters

steamopen SteamCMD
ValveSoftware/steam-for-linux#9341 · opened 2023-04-12 by PepperKats · updated 2026-07-29 · 4 comments · github
PPepperKats 2023-04-12 github

Your system information

  • Steam client version (build number or date): Steam Console Client (c) Valve Corporation - version 1679680174
  • Distribution (e.g. Ubuntu): Rocky Linux
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen. Please link any large code pastes as a Github Gist

When using a password including certain special characters, it can become impossible to log in. My password includes !, which appears to break things.

When logging in, it will consistently give an error claiming an invalid password, despite the password being correct. I tried running it all as one command, but got an error from bash saying "event not found". When I opened "steamcmd.sh" to see if I could get an idea of what was wrong, I saw that there were double quotes instead of single quotes. I believe the script is attempting to parse my password

Steps for reproducing this issue:

  1. Change password to include !, like some password managers will do
  2. Attempt to sign in
KKOTHBio 2024-05-02 github

For whatever reason the ! breaks the steamcmd login, probably has something to do with how steam reads text (might think the ! is some sort of start to code or something) best bet is to remove it

XXenoTheStrange 2025-02-14 github

-_-

SSectimus 2025-03-20 github

Don't know why nobody has tried this yet, but worked for me. The error is related to shell interpretation. So use an escape character before every problematic special character. That's a \ for bash

Ie. password12!34 becomes password12\!34

worked for me without needing to change my password (annoying as generated by a password manager)

Bbrunoherrera 2026-07-29 github

please fix for

@]<}"?*.-_({|\$!~[@>)?/}&

Nothing extracted yet.