Artificial Ignorance

How to Update Decky Loader on Steam Deck (Easy Guide)

You power on your handheld, press the Quick Access button (...), and discover your custom UI themes, ProtonDB badges, and custom battery profiles are gone. Every seasoned tinkerer has experienced this exact moment after a major SteamOS release.

Valve moves fast with system updates, frequently patching underlying system libraries, rewriting frontend JavaScript components, or refreshing Chromium Embedded Framework (CEF) builds. Because Decky Loader hooks directly into the Steam client's Quick Access Menu, system-level updates often break runtime hooks or disable the service daemon entirely.
How to Update Decky Loader on Steam Deck
Keeping Decky Loader updated ensures your favorite utilities stay functional without destabilizing your handheld. Here is the definitive, field-tested guide to updating, repairing, and maintaining Decky Loader across all branches of SteamOS.

The Architecture: Why Decky Loader Needs Frequent Updates

Decky Loader operates via a clever two-part client-server model tailored specifically for Valve's immutable Linux platform. Understanding how these two distinct layers interact makes troubleshooting trivial when an update goes sideways.

+-------------------------------------------------------------+
|                      Steam Client UI                        |
|   (Chromium Embedded Framework / React Quick Access Menu)   |
+-------------------------------------------------------------+
                              |
                              | Inject Hooks (JavaScript / CSS)
                              v
+-------------------------------------------------------------+
|                     Decky Frontend Loader                   |
|       (Tab Injection, Quick Access Plugin Menu Manager)     |
+-------------------------------------------------------------+
                              |
                              | UNIX Domain Socket (RPC)
                              v
+-------------------------------------------------------------+
|                     Decky Backend Daemon                    |
|             (Python Plugin Manager Systemd Service)         |
+-------------------------------------------------------------+
                              |
                              | Subprocess / Filesystem Calls
                              v
+-------------------------------------------------------------+
|                  SteamOS System Utilities                   |
|       (Power Profiles, Systemctl, Bluetooth, Files)         |
+-------------------------------------------------------------+

1. The Backend Python Daemon (decky)

The core backend runs as a standalone systemd service with root privileges. It listens on a local UNIX domain socket and handles the heavy lifting, including system-level privilege escalation, file system writes outside the standard sandbox, and executing system commands.

Because SteamOS employs an immutable, read-only root file system via A/B partition swapping, the Decky daemon isolates its binaries, runtime assets, and plugins inside /home/deck/homebrew/. This structure prevents system wipes from erasing your configuration during standard OS upgrades.

2. The Frontend UI Injector

The client side injects a custom React component into Steam’s Quick Access Menu via Chromium debugging interfaces. Whenever Valve updates SteamOS—such as refactoring layout components or updating internal UI classes—the injection hooks may fail to resolve DOM target containers.

When you trigger a Decky update, the updater replaces both the backend Python service binaries and the frontend injection script with builds adapted to Valve's latest client changes.

Method 1: The Native In-Deck Update (Gaming Mode)

If your Quick Access Menu still displays the plug icon, updating Decky Loader directly from the couch takes less than thirty seconds.

  1. Press the Quick Access Menu button (...) on the right side of your Steam Deck.

  2. Scroll down and highlight the Decky plugin icon (the electrical plug).

  3. Select the Settings gear icon located at the top-right corner of the Decky panel.

  4. Navigate to the General tab.

  5. Locate the Check for Updates button under the Decky Version section.

  6. If an update is available, click Install Update.

  7. Allow the installer 10 to 15 seconds to download the payload, restart the background daemon, and inject the refreshed UI layer.

Quick Access (...) -> Decky Plug Icon -> Settings (Gear) -> General -> Check for Updates
Once the process finishes, the Quick Access menu automatically refreshes. You do not need to reboot your Steam Deck.

Method 2: The Desktop Mode Installer Script

When a major SteamOS update completely breaks the UI hook, the plugin icon vanishes from the Quick Access Menu entirely. Because the frontend cannot load, you cannot trigger the in-deck updater. The most reliable fix is running the official installer script inside Desktop Mode.

  1. Press the physical STEAM button, go to Power, and select Switch to Desktop.

  2. Open your web browser and navigate to the official Decky repository ([github.com/SteamDeckHomebrew/decky-loader](https://github.com/SteamDeckHomebrew/decky-loader)).

  3. Scroll to the README and click the Download button to grab the latest decky_installer.desktop file.

  4. Move decky_installer.desktop to your Desktop, double-click it, and select Execute.

  5. When prompted, choose your desired release channel (Release for daily stability or Prerelease for experimental fixes).

  6. Enter your sudo administrative password when requested. If you have not created one yet, open Konsole, run passwd, and set a password first.

  7. Let the terminal process run until it displays a completion alert.

  8. Double-click the Return to Gaming Mode shortcut on the Desktop.

Pro Tip: If the installer script freezes while downloading binaries, your Deck's DNS resolver may be struggling with GitHub's CDN over Wi-Fi. In Desktop Mode, open your active Wi-Fi connection settings, switch IPv4 DNS from Automatic to Manual, and set the servers to 1.1.1.1 and 8.8.8.8. Rerun the installer script to bypass network timeouts instantly.

Method 3: The Power-User CLI Pipeline (SSH / Konsole)

For developers and power users managing their handheld over local networks, updating Decky via the command-line interface (CLI) is the fastest and cleanest approach. It eliminates the overhead of switching to Desktop Mode.

Bash
# Connect to your Deck via SSH
ssh deck@steamdeck.local

# Pull and execute the official bootstrap script directly to update/reinstall
curl -L https://github.com/SteamDeckHomebrew/decky-installer/releases/latest/download/install_release.sh | sh
If you prefer testing experimental features or need bleeding-edge compatibility with SteamOS Beta/Preview builds, install the latest pre-release build instead: