How to Install Snapd and Snap Store on Debian 13, 12 and 11

Learn how to install Snapd and Snap Store on Debian 13, 12, 11. Configure classic confinement, CLI commands, and troubleshoot.

Last updatedAuthorJoshua JamesRead time5 minGuide typeDebianDiscussion2 comments

Install Snap on Debian when you need the Snap Store catalog, automatic snap refreshes, or a package format that stays separate from Debian’s APT packages. Debian 13 (Trixie), Debian 12 (Bookworm), and Debian 11 (Bullseye) all provide snapd in the default repositories, but Debian does not normally install it by default. The current Debian flow is to install the APT package first, then install the snapd snap so snapd can update itself through Snap’s re-execution support.

Snap can coexist with APT and Flatpak on Debian. Use Snap when a publisher maintains the snap you need or when the App Center / Snap Store is the package source you want to manage.

Update Debian Package Metadata

Refresh APT metadata before installing the Debian package:

sudo apt update

The commands use sudo for administrative access. If your user account is not in the sudo group, use how to add a user to sudoers on Debian before continuing.

Install Snapd on Debian via APT

The APT package installs the snap command, systemd units, and socket activation needed to communicate with snapd. The packaged branch differs by Debian release:

Debian ReleaseCodenameAPT Snapd BranchRelease Status
Debian 13trixie2.68.xCurrent stable
Debian 12bookworm2.57.xOldstable
Debian 11bullseye2.49.xOldoldstable LTS

Install the package:

sudo apt install snapd

Press Y when APT asks for confirmation.

Install the Current Snapd Snap on Debian

Canonical’s Debian Snap instructions recommend installing the snapd snap after the APT package. This lets Debian use the current snapd runtime even when the APT package branch is older:

sudo snap install snapd

During installation, snapd may print a message about waiting for an automatic restart. That restart is normal. Log out and back in, or reboot, before relying on /snap/bin shortcuts for newly installed snap applications.

Verify Snapd on Debian

Check the active snapd runtime:

snap version

Example output from Debian 13 after installing the snapd snap:

snap          2.75.2
snapd         2.75.2
series        16
debian        13
kernel        6.12.88+deb13-amd64
architecture  amd64

The version and kernel lines will change as Debian and snapd update. The important checks are that both snap and snapd report a version, and that the debian line matches your release.

Confirm socket activation is enabled and active:

systemctl is-enabled snapd.socket
systemctl is-active snapd.socket

Expected output:

enabled
active

If the socket is inactive, start and enable it:

sudo systemctl enable --now snapd.socket

Install and Manage Snap Packages on Debian

Use these commands for day-to-day snap management:

TaskCommandExample
Install a snapsudo snap install <name>sudo snap install vlc
Run a snap app reliablysnap run <name>snap run vlc
Remove a snap without saving a snapshotsudo snap remove --purge <name>sudo snap remove --purge vlc
Update a specific snapsudo snap refresh <name>sudo snap refresh vlc
Update all snaps manuallysudo snap refresh
List installed snapssnap list
Search for a snapsnap find "<term>"snap find "media player"
View snap detailssnap info <name>snap info vlc
View task historysnap changes
Revert to the previous revisionsudo snap revert <name>sudo snap revert vlc
Check app connectionssnap connections <name>snap connections vlc

Snaps refresh automatically by default. The canonical** marker in snap output means Canonical’s store account is verified; it is not a general guarantee that every snap is maintained by the upstream application project.

Manage Snap Updates on Debian

Check the current refresh schedule:

snap refresh --time

Refresh snaps immediately when you do not want to wait for the automatic window:

sudo snap refresh

Set a narrower refresh window if automatic updates should happen outside your normal desktop hours:

sudo snap set system refresh.timer=4:00-7:00,19:00-22:10

Hold one snap temporarily when a new revision causes a regression:

sudo snap refresh --hold=24h <snap-name>

Remove the hold after you are ready to receive updates again:

sudo snap refresh --unhold <snap-name>

Install App Center or Snap Store on Debian

The graphical store is optional. Install it only when you want a desktop interface for browsing, installing, and updating snaps. The snap command works without it.

The package name remains snap-store. The current Snapcraft listing calls the application App Center, while some desktop launchers and older cached entries may still show Snap Store:

sudo snap install snap-store

On amd64 and arm64 systems, the default command installs the current 2/stable App Center branch. If Snap reports that the channel is unavailable, check the channels for your architecture:

snap info snap-store

If 2/stable is not listed, install the older latest/stable Snap Store branch instead:

sudo snap install snap-store --channel=latest/stable

Verify the installed snap:

snap list snap-store

The output should show snap-store tracking 2/stable for the default branch or latest/stable when you used the fallback channel.

Launch App Center or Snap Store on Debian

Start it from a terminal session with:

snap run snap-store

You can also open the application launcher and search for App Center or Snap Store, depending on the installed revision and desktop cache.

The store interface lets you browse categories, inspect publisher details, and install snap packages without typing package names:

When installing an app, check the source or package indicator so you know the selected application is coming from Snap:

Troubleshoot Snap on Debian

Fix “snap: command not found” on Debian

Check whether the snap command exists:

command -v snap

Expected output after installing the APT package:

/usr/bin/snap

If the command is missing, install snapd and refresh the shell’s command cache:

sudo apt update
sudo apt install snapd
hash -r

Fix Snap Apps Missing from PATH

The snap command lives under /usr/bin, but installed snap applications normally use shortcuts under /snap/bin. Check whether your current session sees that directory:

echo "$PATH" | tr ':' '\n' | grep '^/snap/bin$'

Expected output:

/snap/bin

If there is no output, log out and back in, or reboot. Until the session PATH updates, use the reliable snap launch form:

snap run <snap-name>

Fix Missing Snap Application Icons on Debian

If a snap app starts with snap run but does not appear in the desktop menu, confirm that the session can see snap desktop entries:

echo "$XDG_DATA_DIRS" | tr ':' '\n' | grep '^/var/lib/snapd/desktop$'

Expected output:

/var/lib/snapd/desktop

If the path is missing, log out and back in, then check the launcher again. Desktop sessions usually read the snap desktop path during login.

Fix Snapd Socket Connection Errors

If snap commands report that they cannot communicate with /run/snapd.socket, check the socket state:

systemctl is-active snapd.socket

Start the socket if it is inactive:

sudo systemctl enable --now snapd.socket
sudo snap wait system seed.loaded

Fix Unsupported Snap Feature Errors

Some snaps may require newer snapd features or a base runtime that is not present yet. Refresh snapd first, then install or refresh core when an error mentions unsupported features:

sudo snap refresh snapd
sudo snap install core
sudo snap refresh core

Remove Snapd from Debian

Start by listing installed snaps so you can remove application snaps before removing snapd itself:

snap list

Remove application snaps you installed, including the graphical store if present. Base and platform snaps can stay in place because the Debian package removal handles the runtime cleanup:

sudo snap remove --purge snap-store
sudo snap remove --purge <snap-name>

Remove the Debian snapd package:

sudo apt purge snapd

Review optional APT cleanup before accepting removals:

sudo apt autoremove --dry-run

If the dry run only lists dependencies you no longer need, run:

sudo apt autoremove

Check for active snap mounts before deleting leftover directories:

findmnt -R /snap || echo "No active snap mounts"

If active mounts remain, reboot and rerun the mount check before deleting paths:

sudo reboot

Print leftover snap directories for review:

for path in /snap /var/snap /var/lib/snapd /var/cache/snapd "$HOME/snap"; do
    [ -e "$path" ] && printf '%s\n' "$path"
done

The cleanup command permanently deletes snap application data, cached snaps, snapshots, and user-specific settings under $HOME/snap. Back up anything you may need before removing these paths.

Delete the system-level directories, then remove the current user’s snap data separately:

sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd
rm -rf "$HOME/snap"

Verify the package and command are gone:

hash -r 2>/dev/null || true
dpkg -l snapd | grep '^ii' || echo "snapd package removed"
command -v snap || echo "snap command removed"

Expected output after removal:

snapd package removed
snap command removed

Conclusion

Debian now has snapd installed from APT, the current snapd runtime available through the snapd snap, and optional App Center / Snap Store access through snap-store. Use snap refresh --time to review automatic update timing, snap run when a desktop app is not yet in PATH, and the removal sequence when you want a clean reset.

Share this guide

Help another Linux user troubleshoot faster

Share this guide with someone troubleshooting Linux systems or saving it for later.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show more of our fresh Linux tutorials in Top Stories and From your sources when relevant.

Add LinuxCapable as a preferred source on Google
Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffeeBuy me a coffee

2 thoughts on “How to Install Snapd and Snap Store on Debian 13, 12 and 11”

  1. Hello!
    When I ran the command `sudo snap install snap-store`, it didn’t install. After running the command:
    `sudo snap install snap-store --channel=latest/stable`, it installed.

    Reply
    • Good catch, Hilel. I retested this and added a channel fallback note to the App Center / Snap Store section. The normal command now resolves to 2/stable on amd64/arm64, but latest/stable is still a valid older Snap Store branch when the current channel is unavailable:

      sudo snap install snap-store --channel=latest/stable

      Use two regular hyphens before channel if typing it manually. Thanks for reporting it.

      Reply
Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Verify before posting: