diff --git a/neofetch b/neofetch
index 5a1038e4..f40e07c9 100755
--- a/neofetch
+++ b/neofetch
@@ -1187,6 +1187,12 @@ get_distro() {
             elif [[ -f /etc/vzlinux-release ]]; then
                 distro='VzLinux'
 
+            # Chrome OS doesn't conform to the /etc/*-release standard.
+            # While the file is a series of variables they can't be sourced
+            # by the shell since the values aren't quoted.
+            elif grep -q CHROMEOS /etc/lsb-release; then
+                distro='Chrome OS'
+
             elif type -p guix >/dev/null; then
                 case $distro_shorthand in
                     on|tiny) distro="Guix System" ;;
@@ -1255,11 +1261,14 @@ get_distro() {
                 distro='Chrome OS'
 
             elif [[ $(< /proc/version) == *chrome-bot* || -f /dev/cros_ec ]]; then
+                # gets chrome os version from /etc/lsb-release.
+                # totally not written by chatgpt :trolley:
+                cros_version=$(grep -oE 'CHROMEOS_RELEASE_CHROME_MILESTONE=([0-9]+)' /etc/lsb-release | cut -d= -f2)
                 [[ $distro != *Chrome* ]] &&
                     case $distro_shorthand in
-                        on)   distro="Chrome OS $distro" ;;
+                        on)   distro="Chrome OS $cros_version" ;;
                         tiny) distro="Chrome OS" ;;
-                        *)    distro="Chrome OS $distro" ;;
+                        *)    distro="Chrome OS $cros_version $distro" ;;
                     esac
             fi