How to check Kali Linux version on any version [Beginner's guide]
To check your Kali Linux version, open a terminal and run cat /etc/os-release. The VERSION line gives you the release — something like 2026.2 — and it works on every installation without installing anything first. What almost nobody mentions is that uname does not answer this question at all: it reports the kernel version, which is a different number maintained by different people. If a guide told you to run uname -a and you could not find your Kali version in the output, that is because it was never there.
A number that answers the wrong question
Jake had a tool refusing to install on his course machine, and the forum thread he found said the problem was fixed in a newer version and asked which release he was on.
So he ran the command the top answer gave him, uname -a, copied the whole line back into the thread, and got a slightly impatient reply telling him that was the kernel.
"It gave me a number," he said, reasonably. "It was a version. How was I supposed to know it was the wrong version?"
"You weren't," Ethan said. "Linux has about four numbers that all look like the answer, and the guides never say which question each one is answering. That's not you being slow, that's genuinely badly explained everywhere."
"So how many numbers are we talking about?"
"Three that matter. And a fourth question that has no number at all, which is the one you actually wanted."
That fourth question was am I up to date — and on Kali, no version number can tell you. Worth knowing before you spend an evening chasing the wrong one.
Which command answers which question
Start here. Find the question you actually have on the left, and run the thing next to it. Everything after this section is detail.
| What you actually want to know | Command | What comes back |
|---|---|---|
| Which Kali release is this? | cat /etc/os-release |
Something like 2026.2. The main answer. |
| Which kernel am I running? | uname -r |
Something like 6.19. Driver and hardware issues live here. |
| 32-bit or 64-bit? | dpkg --print-architecture |
amd64 or i386. Matters more than it used to. |
| Which Debian is underneath? | cat /etc/debian_version |
Usually kali-rolling, which is itself the answer. |
| Everything at once | hostnamectl |
Machine name, OS, kernel and architecture together. |
| Am I up to date? | sudo apt update then apt list --upgradable |
No version number can tell you this. See below. |
The six commands, and when each is the right one
1. cat /etc/os-release — the one to learn
If you only remember one command from this page, remember this one. It is a plain text file that the system maintains, so there is nothing to install, nothing that can be missing, and no output format that changes underneath you. The VERSION and VERSION_ID lines carry the Kali release; ID confirms the distribution.
It also works everywhere the alternatives do not: over SSH on a headless box, inside a container, on a live image, on a system whose desktop will not start. When someone diagnosing a problem asks what you are running, this is what they want.
2. uname — the kernel, and the most repeated wrong answer
uname -m # machine type, x86_64 means 64-bit
uname -a # everything, which is why it misleads
The kernel is the part of the system that talks to your hardware. It is developed as its own project, and Kali packages a version of it rather than writing one. So uname -r reporting 6.19 while your Kali release is 2026.2 is not a contradiction — they are two components with independent numbering.
♂️ Jake's Reality Check
"Then why does every guide say to run uname -a for the version?"
Because it does print a version, and it does say Linux at the start, and it looks like an answer. If you do not already know there are two separate numbers, there is nothing in that output to warn you.
The practical rule: the kernel number is the one to quote when your problem involves hardware — wireless adapters, graphics, USB devices, anything with a driver. The Kali number is the one to quote when your problem involves tools. Different questions, different numbers, and it is worth knowing which one you are being asked for.
3. lsb_release -a — tidy, and sometimes absent
This prints the distributor, description, release and codename as a neat block, and on Kali the codename reads kali-rolling. It is the prettiest output of the lot.
It is also the one most likely to be missing, because it comes from a separate package rather than the base system, and minimal installations and containers frequently do not have it. If you get a command-not-found, nothing is wrong — install it with sudo apt install lsb-release, or just read /etc/os-release, which was always going to be there.
4. hostnamectl — several answers in one screen
Machine name, operating system, kernel and architecture, together. When you want the whole picture rather than one fact — writing up a bug report, say — this is the efficient choice.
It relies on systemd, the service manager a normal Kali installation runs. That is why it works on your laptop or VM but may sit silent under WSL, where systemd is off unless you have deliberately turned it on.
5. dpkg --print-architecture and /etc/debian_version
cat /etc/debian_version # usually kali-rolling
The architecture question used to be idle curiosity and is not any more. Kali stopped producing 32-bit installer and live images from the 2024.4 release onward, so if this reports i386, you are on a machine that cannot move to a current image. That is worth discovering now rather than halfway through a download.
As for /etc/debian_version: on most Debian systems it holds a number. On Kali it usually reads kali-rolling, and that word is the answer — it means this system tracks Debian's testing branch continuously rather than sitting on a fixed Debian release.
6. fastfetch — and why not neofetch
fastfetch
This is the one that prints a distribution logo in coloured text with the system details beside it. Genuinely useful for taking in everything at a glance, and it is what people are usually copying when they post a screenshot of their setup.
Older guides will tell you to install neofetch for this. Its author archived the project in 2024, so it is no longer maintained — fastfetch is the actively developed replacement, it does the same job, and it is noticeably quicker. If you followed an older guide and neofetch is already installed, nothing is broken; there is simply no reason to install it fresh today.
One caution: a display tool is for looking at, not for scripting. Its layout can change between versions and quietly break anything that parses it.
The question the version number cannot answer
Here is the part that changes how you think about all of the above.
Most people asking "which version am I on" are really asking am I current, or am I behind. On Windows or on Ubuntu that is a fair question to ask of a version number, because those release in fixed steps and the number tells you where you stand.
Kali does not work that way. It is a rolling distribution: packages move forward continuously, and a release like 2026.2 is a snapshot — the state everything was in when that ISO was built. It is a photograph, not a status.
Which produces two facts that sound wrong and are not:
- An older number can mean a fully current machine. Keep updating an installation and it genuinely becomes the current release, package by package.
- A newer number can mean a stale machine. Install today's image, leave it in a drawer for eight months, and it still reports today's number while being eight months behind.
So if the real question is whether you are up to date, ask that instead:
apt list --upgradable
A short list means you are close to current. Several hundred packages means you are not. That is a real answer, and no version number could have given it to you.
✅ Why the number moves on its own
People are often unsettled to find their reported version has changed without them choosing a new release. It is fine. The file holding that information belongs to a package, so a routine upgrade brings in a newer copy along with everything else. Your machine did not switch releases behind your back — it caught up, which is exactly what rolling means.
Reading the version from a script
If a script of yours needs the version — to skip a step on older systems, or to label output — do not parse the display commands. Their formatting is meant for humans and it changes.
/etc/os-release is written as shell variable assignments precisely so that a script can load it directly:
echo "$ID $VERSION_ID"
Two lines, no text-slicing, and it will not break when someone changes a label. It is also portable in a way that surprises people — the same file exists on Debian, Ubuntu, Fedora and most other modern distributions, so a script written this way keeps working when your Kali script gets borrowed for a machine that is not Kali.
Version questions that are not about Kali itself
Half the time somebody asks for their Kali version, the thing they genuinely need is one of these instead.
Which version of one particular tool
This is usually the real question behind "is my Kali new enough", because what you actually care about is whether this one program has the fix or the feature:
nmap --version # what the program says about itself
apt policy is the more useful of the two, because it shows the installed version and the candidate available from the repositories side by side. If those two differ, the answer to "can I get the newer one" is yes, and you did not need to know your Kali release to find that out.
Which set of tools this installation has
Not every Kali carries every tool. Installations are built from metapackages, and which one you have decides whether a tool is missing because it is not installed or missing because something is broken — a distinction worth several wasted hours:
A default desktop install typically shows kali-linux-default. A minimal or WSL install may show only kali-linux-core, which is why a tool the tutorial assumes you have simply is not there. That is not a fault, and the fix is to install the tool, or the larger set, rather than to reinstall Kali.
When this machine was last updated
Genuinely useful on a machine you inherited, or your own after a long gap, and almost nobody knows it is recorded:
apt keeps a dated log of everything it has installed, upgraded and removed. The last entry tells you when this system was genuinely last touched, which is a far better measure of "how far behind am I" than any version number. If that date makes you wince, the upgrade is the next job.
Which repositories this machine is actually pointed at
Worth checking on any machine you did not set up yourself, because a version number tells you nothing about where the packages are coming from:
cat /etc/apt/sources.list.d/kali.sources
Do not be alarmed if one of those is empty or missing — Kali moved its repository configuration into the newer .sources format, so a recent installation keeps everything in the second file while an older one still uses the first. Both are normal, and which you have depends only on when the machine was built.
What you are looking for is that the entries point at Kali's own repositories and that nothing unexpected has been added. Extra third-party lines are the usual explanation when a machine behaves strangely in ways its version number cannot account for.
What the numbers themselves mean
Kali releases are numbered as a year and a sequence: 2026.2 is the second release of 2026. There are roughly four a year, so the second digit rarely climbs past four, and there is no hidden significance to a jump — 2026.1 to 2026.2 is a quarter passing, not a major rewrite.
This is deliberately unlike software that uses major and minor numbers to signal how big a change is. On a rolling distribution that idea does not really apply, because the changes arrive continuously rather than in lumps. The number is a date stamp with a tidier haircut.
A system that will not boot
You can still read the version off a machine you cannot log into, which matters when you are deciding whether to repair it or start over. Boot a live image, mount the installed disk, and read the same file from there:
cat /mnt/etc/os-release
Replace /dev/sda1 with your actual partition, which lsblk will show you. It is a plain file on a disk, so nothing needs to be running for you to read it — which is exactly why it is the method worth learning.
Will it work on all versions?
Short Answer: Yes!
- neofetch confirmed as archived by its author in 2024, so
fastfetchis recommended here instead of a project that no longer receives fixes.
Frequently asked questions
How do I check my Kali Linux version?
Run cat /etc/os-release in a terminal. The VERSION and VERSION_ID lines give you the Kali release, something like 2026.2, and the file is present on every installation without needing anything extra. It is the most reliable answer because the system itself maintains it, and it works identically on a full desktop install, a live image, a virtual machine and a container.
Why does uname not show my Kali version?
Because uname reports the kernel, not the distribution. The kernel is the core of the operating system and it is developed separately from Kali, so uname -r gives you something like 6.19 while your Kali release might be 2026.2. Both are correct answers to different questions. This is easily the most common wrong answer to this query, and it sends people looking for a version number that does not exist.
What is the difference between the Kali version and the kernel version?
The Kali version identifies the distribution snapshot, written as a year and a number such as 2026.2, and it tells you which set of packages and defaults you started from. The kernel version identifies the core that talks to your hardware, written like 6.19. Kali packages a kernel, it does not write one. Hardware and driver problems usually depend on the kernel version, while tool availability depends on the Kali version.
Does my Kali version number tell me if I am up to date?
No, and this is the most useful thing to understand about it. Kali is a rolling distribution, so packages move forward continuously and the release number is a snapshot rather than a status. A machine reporting an older number may be fully current, and a machine reporting the newest number may be months behind. To answer the real question, run sudo apt update then apt list --upgradable.
How do I check the Debian version Kali is based on?
Run cat /etc/debian_version. On Kali this normally reads kali-rolling rather than a Debian release number, which is itself the answer: Kali tracks Debian testing continuously instead of sitting on a fixed Debian release. If you need the detail for a bug report, cat /etc/os-release carries the identifiers that maintainers actually ask for.
What does lsb_release -a do and why is it missing?
It prints the distributor, description, release and codename in a tidy block, and on Kali the codename reads kali-rolling. It is missing on minimal installations because it comes from a separate package rather than the base system. Install it with sudo apt install lsb-release, or simply read /etc/os-release instead, which is always present and needs nothing.
How do I check whether my Kali is 32-bit or 64-bit?
Run dpkg --print-architecture, which reports what the package system actually installs, usually amd64 for 64-bit or i386 for 32-bit. You can also run uname -m, where x86_64 means 64-bit. This matters more than it used to, because Kali stopped producing 32-bit installer and live images from the 2024.4 release onward, so an i386 machine cannot move to a current image.
What is hostnamectl and what does it show?
It is a system utility that prints the machine name, the operating system, the kernel and the architecture in one block, so it answers several questions at once. It is convenient when you want a quick overall picture rather than one specific fact. It needs systemd, so it works on a normal installation but may not respond under WSL unless systemd has been enabled there.
Is neofetch still the right tool for this?
No. neofetch was archived by its author in 2024 and is no longer maintained, so guides recommending it are pointing at a dead project. fastfetch is the actively developed replacement, it is in the repositories, and it prints the same kind of summary considerably faster. Install it with sudo apt install fastfetch. For anything scripted, read /etc/os-release directly rather than parsing a display tool.
How do I check the Kali version in a script?
Source the file rather than parsing it by eye: run a shell line that sources /etc/os-release and then reads the VERSION_ID variable. The file is written as shell variable assignments precisely so this works, which makes it far safer than cutting fields out of command output with awk. Display tools change their formatting between versions and will break your script eventually.
Why does my Kali version change after running apt full-upgrade?
Because the file holding that information belongs to a package, and upgrading pulls in the current version of it along with everything else. This is expected and it is a good sign. It also explains something that confuses people: an old installation that has been kept fully updated will eventually report the current release number, because on a rolling distribution it genuinely has become the current release.
How do I check the Kali version from the desktop instead of the terminal?
On GNOME, open Settings and then About, where the operating system and version appear. Xfce, which is Kali's default desktop, has no equivalent single screen, so the terminal is genuinely the shorter route there. It is worth getting comfortable with cat /etc/os-release regardless, since it is the one method that works over SSH, in a container and on a machine with no desktop at all.
Which version details should I include when asking for help?
Give the output of cat /etc/os-release, uname -r for the kernel, and dpkg --print-architecture. Those three cover the distribution snapshot, the kernel and the architecture, which is what anyone diagnosing your problem will ask for first. Mention whether you are running in a virtual machine, on bare metal or under WSL, because that changes the answer more often than people expect.
Does checking the version work the same on Kali under WSL?
Reading /etc/os-release works identically, because that is just a file. The differences are around it: uname reports a Microsoft-supplied kernel rather than a Kali one, and hostnamectl may not respond because it depends on systemd, which WSL does not run unless you enable it. For the Kali version itself, the standard file is still the right answer.
Why is a tool missing even though I am on the latest Kali?
Because not every Kali installation carries every tool. Installations are built from metapackages, and a minimal or WSL install may only have the core set rather than the default desktop set. Run dpkg -l | grep kali-linux- to see which one you have. A tool absent for that reason is not a fault and does not need a reinstall, it just needs installing.
How do I find out when my Kali system was last updated?
Run tail -n 20 /var/log/apt/history.log. apt keeps a dated record of everything it has installed, upgraded and removed, so the last entry tells you when the machine was genuinely last touched. That date is a far better measure of how far behind you are than any version number, and it is particularly useful on a machine you have inherited or not booted for a while.
Can I check the Kali version of a system that will not boot?
Yes. Boot a live image, mount the installed disk with something like sudo mount /dev/sda1 /mnt, and read cat /mnt/etc/os-release. Use lsblk first to find the right partition. Because this is a plain file on a disk rather than a running service, nothing needs to be working for you to read it, which makes it the method worth remembering for a bad day.
My Kali version looks old. Should I reinstall?
Almost certainly not. Run sudo apt update followed by sudo apt full-upgrade first, and the number will move on its own once the relevant package updates. Reinstalling is worth considering when a machine is years behind, when the upgrade path is genuinely broken, or when you want a clean start. It is rarely necessary purely because a number looks wrong.
What Jake put in the forum reply
Three lines in the end: the output of cat /etc/os-release, his kernel from uname -r, and a note that he was running in VirtualBox. He got a useful answer within the hour, which was rather more than his first attempt managed.
"That's it? Three commands and people are suddenly helpful?"
"People are helpful when answering you is easy. Half of getting help is handing over the things they were about to ask for."
Worth keeping those three in a note somewhere. They are the same three every time, whether you are filing a bug, asking on a forum, or working out for yourself why a tool will not install — and now you know which question each one is actually answering.
- Updating Kali and Metasploit, and the errors that stop it
The natural next step once you have found out how far behind you are. - Installing GNOME on Kali and making it the default
If your desktop does not look like the one in the tutorials you are following. - Finding and verifying an archived Kali release
For when a course or a lab guide names a specific older version. - Finding your hardware details from the Kali terminal
The other half of the information people ask for when you report a problem.
Revision note. Originally published 13 February 2021 as a short list of commands, and rewritten on 8 August 2026. The commands themselves have not changed and still work exactly as described. What has been added is the part that was missing: which question each one actually answers, why uname can never give you the Kali version however many guides suggest it, and the fact that on a rolling distribution no version number can tell you whether you are up to date. One recommendation has moved on — neofetch was archived by its author in 2024, so fastfetch takes its place here. If you came looking for a single number and left with three, that is genuinely the honest answer rather than an evasion, and knowing which is which will save you a confusing conversation the next time you ask for help. Happy breaking folks!