Fixes

SteamCMD "State Is 0x6 After Update Job": Causes and Fixes

State 0x6 means SteamCMD sees the server installed but still out of date after the update ran. Fix content server access, logins and stale manifests.

Updated Oct 7, 2026 · 5 min read

On this page

Error! App '<id>' state is 0x6 after update job means SteamCMD finished its run, but the app is still flagged as needing an update. The server files are there, they are just not the current build. The two common causes are that SteamCMD could not get the new content (no connection to the content servers, or a "401 Unauthorized" response because the account is not allowed to download it) and a stale app manifest that confuses SteamCMD about what is installed. Delete the manifest, check the login and the connection, and run the update again.

How 0x6 differs from the other codes

The state is two flags added together:

Flag Hex Meaning
Update required 0x2 A newer build exists
Fully installed 0x4 Files for an older build are present

There is no "started" or "paused" flag, which is the useful part. With 0x402 and 0x602, a download began and broke. With 0x6, SteamCMD often never got as far as downloading anything. It checked, decided an update was needed, and could not fetch it.

Cause 1: the account cannot download this app

LinuxGSM lists "Received 401 (Unauthorized) HTTP response" as one cause of 0x6. That happens when the content servers refuse the request, most often because:

  • The server does not allow anonymous login. Most dedicated servers download with +login anonymous, but some do not. The DayZ server (app 223350) and the Arma 3 server (app 233780) both need a real Steam account to log in. See our guide to anonymous login vs owned games for how to tell.
  • A beta branch that needs a password. If you set -beta to a private branch without -betapassword, or the password changed, the download is refused.
  • An expired cached login. SteamCMD stores your login so you do not type the password every time. If that token expires, a scheduled update runs with no valid login. Log in by hand once to refresh it.

Look further up the SteamCMD output. Lines like FAILED (Invalid Password), Two-factor code mismatch or No subscription tell you the login is the problem, not the files.

Cause 2: no connection to the content servers

The other cause LinuxGSM lists is "No connection to content servers". SteamCMD can log in (that uses one set of Steam servers) and still fail to download (which uses the content delivery network). Check from the same machine:

curl -I https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

If that fails or hangs, look at DNS, outbound firewall rules for TCP 80 and 443, and any proxy or VPN on the host. If it works, wait a little and retry: content servers do get overloaded on big patch days.

Cause 3: a stale app manifest

SteamCMD tracks each install in steamapps/appmanifest_<appid>.acf inside the folder you pass to force_install_dir. If that file says one thing and the files on disk say another (after a crash, a copied server folder, or a manual file edit), SteamCMD can loop on 0x6. The fix published on the SCP: Secret Laboratory tech wiki for this exact error is to delete the stuck app manifest and rerun the update, and it works for every game:

  1. Stop the server.
  2. Delete steamapps/appmanifest_<appid>.acf.
  3. Delete steamapps/downloading/<appid> if it is there.
  4. Update with validate:
steamcmd +force_install_dir /home/steam/scpsl +login anonymous +app_update 996560 validate +quit

Your saves and config files are not in the manifest, so they are not affected. Validate does check every program file, which takes a while on big games.

Cause 4: wrong install directory

A quieter version of the same problem: the update ran, but into a different folder. If force_install_dir is missing or comes after +login, SteamCMD may install into its own default steamapps/common folder while your server keeps running the old files elsewhere. Always put it first:

steamcmd +force_install_dir /home/steam/server +login anonymous +app_update 896660 +quit

Use an absolute path. Relative paths resolve against SteamCMD's own folder, not the folder you ran the command from.

Cause 5: disk space

The SCP: Secret Laboratory wiki also notes that a full disk will cause this. Check free space on the drive holding the server, and remember updates need extra room while they stage files:

df -h /home/steam/server

A Counter-Strike 2 match, one of many Source games that update through SteamCMD

A five minute fix order

  1. Scroll up in the output and look for a login failure. Fix that first.
  2. Confirm the folder after force_install_dir is the one your server runs from.
  3. Check free disk space.
  4. Delete the app manifest and downloading folder.
  5. Run app_update <id> validate once.
  6. If it still fails, delete and reinstall SteamCMD itself (not the server folder) and try again.

Getting your evenings back

Most people searching for 0x6 just want the server back up before their friends log on. If you would rather not maintain SteamCMD at all, a GamezServers server comes with the game installed, settings from the game's server template in the control panel, and a live console. For games like Counter-Strike 2 and Valheim that update often, it saves a lot of patch day troubleshooting.

FAQ

What does "state is 0x6 after update job" mean?

The app is installed (0x4) but still needs an update (0x2). SteamCMD ran but did not manage to download the new build, usually because of a login, connection or manifest problem.

Is 0x6 the same as 0x2?

Close. 0x2 alone means an update is required but SteamCMD does not consider the app fully installed. Both are fixed the same way: check the login and connection, delete the manifest, validate.

Can a DayZ or Arma server give 0x6 when logged in anonymously?

Yes. Those servers need a real Steam account login. Anonymous login cannot download them, and SteamCMD may report a state code or "No subscription" depending on the build.

Does deleting the appmanifest redownload the whole game?

It makes SteamCMD check every file, and it only downloads what is missing or different. On a healthy install that means mostly reading and hashing, not a full download.

Want a server without the setup?

From75¢

Pick a game, pay, play. Live the moment checkout finishes.

Keep reading