Someone posts a problem on the Proxmox forum. The first reply is always the same question: "What version are you running?" If you've only just started with Proxmox VE, that question can be surprisingly hard to answer. You know it's "Proxmox," but 8 or 9? Which patch level? Does the number in the top corner of the web interface even mean what you think it means?
This one is short on purpose. Checking your version takes about thirty seconds once you know where to look, and it's one of those small skills that saves you real time later — whether you're asking for help, following a tutorial written for a specific release, or just confirming that last night's update actually installed.
What You Will Learn
By the end of this guide you'll be able to:
- Check your Proxmox VE version from the command line with
pveversion - Read the longer, more detailed output from
pveversion -v - Find the version number from inside the web interface, without touching a terminal
- Tell the difference between the Proxmox VE version, the kernel version, and the version of an individual package like
pve-manager - Spot when a node has fallen behind on updates, and what to do about it
What Is This Feature?
pveversion is a small command-line tool that ships with every Proxmox VE install. It doesn't configure anything and it doesn't change anything on your system — all it does is read the package database and print out what's installed. Think of it as the Proxmox equivalent of running --version on any other piece of software, except it reports on dozens of interconnected packages at once instead of just one.
That matters because "Proxmox VE" isn't really one program. It's a stack: a Debian base, a custom kernel, the pve-manager package that runs the web interface, cluster tools like Corosync, storage tools, and more. When people say "I'm on Proxmox 9.2," they usually mean the pve-manager version, which is also what shows up in the corner of the GUI. pveversion is the tool that ties all of those numbers together in one place.
The version number itself follows a fairly simple pattern once you've seen it a couple of times: major.minor.patch, like 9.2.3. The major number (9) only changes with a big yearly-ish release that usually tracks a new Debian base. The minor number (2) bundles up feature work and larger fixes. The patch number (3) is routine maintenance — security fixes, small bug fixes, nothing that changes how the interface looks or works. Knowing which part changed tells you how big a jump you're actually dealing with before you upgrade.
Why Would You Use It?
A few situations come up constantly:
You're asking for help. Forum threads and the Proxmox subreddit both expect you to state your version up front, because a fix for 8.1 doesn't always apply cleanly to 9.2. Pasting the output of pveversion -v into your post saves everyone a round trip.
You just ran an update and want to confirm it actually took effect. apt full-upgrade can report success while a reboot is still pending for the new kernel to actually load — pveversion combined with uname -r tells you whether the running system matches what's installed.
You're following a tutorial (including this site) that mentions specific commands or menu names. Proxmox's interface and CLI options do shift between major versions, so knowing exactly what you're running before you copy-paste a command is worth the ten seconds it takes.
And if you're running more than one node, mismatched versions across a cluster are a real source of migration and HA headaches. Checking each node is the first thing to do when something that used to work suddenly doesn't.
Prerequisites
You don't need anything special for this one:
- Any working Proxmox VE installation, version 7, 8, or 9 — the commands here haven't changed in years
- Either SSH access to the host, or the Shell button available inside the web interface
- A user account with access to a shell on the host (root, or another account with shell access)
No packages to install and nothing to configure. pveversion is part of the base install.
Step-by-Step Tutorial
1. Open a shell on the host
SSH in the normal way:
ssh root@your-proxmox-ip
Or, if you'd rather stay in the browser, log into the web interface, click your node's name in the left-hand tree, and choose >_ Shell from the top menu. Either method drops you at the same command line.
2. Run the short version check
pveversion
On a current install this prints a single line, something like:
pve-manager/9.2.3/1b5e5f42d5b1e6e4 (running kernel: 7.0.2-6-pve)
That one line actually tells you three things: the pve-manager version (9.2.3), a short git commit hash for that build, and the kernel currently loaded and running. If you only remember one command from this article, make it this one.
3. Get the full picture with -v
pveversion -v
This lists every Proxmox-related package on the system, one per line:
proxmox-ve: 9.2.0 (running kernel: 7.0.2-6-pve)
pve-manager: 9.2.3
pve-kernel-helper: 9.2.1
pve-kernel-7.0: 7.0.2-6
corosync: 3.1.7-1
pve-cluster: 8.0.6
qemu-server: 9.0.4
lxc-pve: 6.0.2-1
...
This is the output people actually want when they ask for your version on the forum — it shows not just the headline number but the state of the cluster stack, the container runtime, and the VM tooling too. If you're going to paste something into a support request, paste this.
4. Check the kernel separately
uname -r
This shows the kernel the system is running right now, straight from the Linux kernel itself rather than from the package database. Compare it against the "running kernel" line from step 2. If they match, you're fully on the kernel you have installed. If uname -r shows an older number than what pveversion reports as installed, a reboot is waiting on you.
5. Check from the web interface instead
Prefer clicking over typing? Two spots in the GUI show the same information:
- Click your node in the left panel, then open the Summary tab — the version sits near the top right of that panel.
- Click the ? (help) icon in the very top-right corner of the interface and choose About Proxmox VE for a popup with the exact build number.
6. Compare against the latest release
Once you know your number, check it against what's current on the official Proxmox VE downloads page. If you're several minor versions behind, that's your cue to plan an update window — not urgent, but worth putting on the calendar.
Commands Explained
| Command | What it does |
|---|---|
pveversion | Prints one summary line: pve-manager version plus the currently running kernel |
pveversion -v | Prints every Proxmox-related package and its installed version, line by line |
uname -r | Prints the kernel version the system is actually booted into right now |
apt list --upgradable | Lists every package (Proxmox and Debian base) that has a newer version available |
dpkg -l pve-manager | Shows the installed version of one specific package, useful when you only care about that package |
A quick note on apt list --upgradable: it's checking against whatever repository your host is currently pointed at. If your repository configuration is wrong (more on that below), this command can quietly show nothing new even when real updates exist upstream.
Common Errors
"pveversion: command not found" — this almost always means you're not actually on the Proxmox VE host. It's easy to SSH into a VM or LXC container running on Proxmox and forget you're one layer removed from the hypervisor itself. Run hostname to confirm which machine you're actually logged into.
Version numbers that don't match between the GUI and the CLI. This shouldn't normally happen on a single node, but on a cluster, an old browser tab can cache a stale value. Refresh the page before trusting what the GUI shows, and treat pveversion -v on the actual node as the source of truth.
apt update completes with no errors, but pveversion never changes. Running apt update only refreshes the list of what's available — it doesn't install anything. You still need apt full-upgrade (not a plain upgrade, which can skip package removals Proxmox sometimes needs) and, for kernel updates, a reboot afterward.
Troubleshooting
If pveversion -v shows an older pve-manager number than you expect after an update, walk through this in order:
- Confirm you ran
apt full-upgrade, not justapt upgrade. On Proxmox specifically, the full variant matters more than it does on plain Debian. - Check
/etc/apt/sources.list.d/for the repository files. If your host is still pointed at the enterprise repository without an active subscription, updates silently fail to download rather than erroring loudly. - Re-run
apt updateand read the output closely — a 401 error here is the enterprise-repository issue mentioned above, not a real network problem. - If it's a cluster, run
pveversion -von every node, not just the one you're logged into. It's common for one node to get skipped during a rolling update and quietly drift behind the others, which then causes odd migration failures later.
One thing worth knowing: a mismatched kernel version between uname -r and the installed package almost never means the update failed. It nearly always just means the box hasn't rebooted since. Schedule that reboot for VMs that support live migration off the node first, if you're running a cluster.
Best Practices
Get in the habit of running pveversion -v right after any update, not just when something breaks. It takes five seconds and confirms the update actually landed instead of assuming it did.
When you post for help anywhere — the Proxmox forum, Reddit, a Discord server — lead with the pveversion -v output. It's the single most useful piece of context you can give, and it usually gets you a faster, more accurate answer than describing the problem alone.
If you manage more than one node, check versions across all of them before assuming a config problem. A cluster running mismatched major versions can behave in ways that look like a bug but are really just version drift.
Honestly, most homelab users only need the plain pveversion command day to day. Save the -v flag for when you're troubleshooting or asking for support — the extra detail is useful, but it's a lot to scroll through for a quick check.
Frequently Asked Questions
What's the difference between pveversion and pveversion -v?
The plain command gives one summary line. The -v flag lists every Proxmox-related package individually, which is what you want when troubleshooting or asking for support.
Does pveversion tell me if updates are available?
No — it only reports what's currently installed. Use apt update followed by apt list --upgradable to see what's waiting.
How do I know if I'm on Proxmox VE 8 or 9?
Look at the first number in the pve-manager line from pveversion. If it starts with 9, you're on the current major release; 8 means you're a version behind but still supported for a while.
Can I check my version without SSH?
Yes. The web interface's Summary tab for your node, or the About Proxmox VE popup under the help icon, both show it without opening a terminal.
Why does my running kernel not match the installed kernel package?
You've installed a kernel update but haven't rebooted yet. The system is still running the old kernel from memory. Reboot when convenient to pick up the new one.
Is it safe to run pveversion on a production host during business hours?
Yes. It only reads package metadata — it doesn't touch running VMs, containers, or any live configuration. There's no load impact worth worrying about, and nothing to undo afterward.
Conclusion
It's a tiny command, but it answers a question you'll get asked constantly once you start running Proxmox VE seriously: what are you actually running? Now you've got three ways to answer it — a quick CLI check, the detailed package listing, and the GUI equivalent for when you'd rather not open a terminal at all. Bookmark pveversion -v in particular; you'll end up pasting its output into more forum posts and support tickets than you'd expect.