-
-
Notifications
You must be signed in to change notification settings - Fork 675
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Read the FAQ first
- I have checked the FAQ but the issue is not covered
Description
Hello,
I am reporting a persistent and highly unusual bug where the colors module fails to parse any custom color configuration, consistently returning an Unknown JSON key colorN error.
This issue occurs with both the latest official pacman package and the latest version compiled directly from the git repository. We have exhausted all common troubleshooting steps, suggesting a deeper, environment-specific bug.
System Information
- OS: Arch Linux x86_64
- Kernel: 6.15.3-zen1-1-zen
- WM: Hyprland 0.49.0 (Wayland)
- Fastfetch Version Tested: 2.46.0-25 (from git) and latest from official Arch repositories.
- json-c Version: 0.18-2
The Error
The command fastfetch --show-errors consistently outputs:
olors: Unknown JSON key color1
Colors: Unknown JSON key color2
...etc
Configurations Attempted (Both Failed)
1. Using Hex Color Codes:
{
"type": "colors",
"format": "{1}██{2}██{3}██{4}██{5}██{6}██",
"color1": "#000000",
"color2": "#1a1a1a",
"color3": "#4a4a4a",
"color4": "#f5f5f5",
"color5": "#d90000",
"color6": "#ff0000"
}
2. Using 24-bit ANSI Color Codes (as suggested in discussion #1159):
JSON
{
"type": "colors",
"format": "{1}██{2}██{3}██{4}██{5}██{6}██",
"color1": "38;2;0;0;0",
"color2": "38;2;26;26;26",
"color3": "38;2;74;74;74",
"color4": "38;2;245;245;245",
"color5": "38;2;217;0;0",
"color6": "38;2;255;0;0"
}
Comprehensive Troubleshooting Steps Taken
The error persisted after every single one of these steps:
Version Confirmation: Confirmed both compiled (/usr/local/bin/fastfetch) and pacman (/usr/bin/fastfetch) versions were up-to-date and being executed correctly from the $PATH.
Meticulous Reinstallation: Performed a complete manual removal of all fastfetch binaries (sudo rm /usr/local/bin/fastfetch, sudo pacman -Rns fastfetch), followed by hash -r and a clean install of the official package.
Dependency Check: Verified json-c version is 0.18-2.
System Integrity Check: sudo pacman -Qkk showed no critical file corruption.
Config File Integrity: The configuration file was recreated from scratch using cat <<EOF to eliminate any possibility of file corruption, smart quotes, or encoding issues.
Locale Fix Attempt: The command was run under the C locale (LC_ALL=C fastfetch) with no change in result.
Given that the error survives all these steps, it points to a very specific and deep bug that is likely an edge case related to my system's environment.
Thank you for your incredible work on this project. I hope this detailed report helps in identifying the issue.
### Version used
2.46
### Bug prevalence
Always
### Regression
No
### Installation
GitHub Releases
### Package manager
pacman
### Screenshots
_No response_
### Configuration
```jsonc
❯ cat ~/.config/fastfetch/config.jsonc
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"display": {
"separator": " ",
"key": {
"width": 15
},
"color": {
"keys": "#f5f5f5",
"title": "#d90000",
"separator": "#4a4a4a",
"values": "#f5f5f5"
}
},
"modules": [
"os",
"kernel",
"uptime",
"shell",
"wm",
"terminal",
"packages",
"cpu",
"memory",
"disk",
{
"type": "colors",
"key": " Cyberpunk",
"format": "{1}██{2}██{3}██{4}██{5}██{6}██",
"color1": "38;2;0;0;0",
"color2": "38;2;26;26;26",
"color3": "38;2;74;74;74",
"color4": "38;2;245;245;245",
"color5": "38;2;217;0;0",
"color6": "38;2;255;0;0"
}
]
} %System information
Features built-in
❯ fastfetch --list-features
threads
vulkan
wayland
xcb-randr
xrandr
drm
drm_amdgpu
gio
dconf
dbus
imagemagick7
chafa
zlib
xfconf
sqlite3
opencl
libpulse
libddcutil
libelf
libzfs
Directx Headers
System yyjson
linux/videodev2
linux/wireless
~
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
❯ fastfetch -c all.jsonc --stat --format json [ { "type": "Title", "result": { "userName": "mateuspsa", "fullUserName": "", "hostName": "arasaka-core", "homeDir": "/home/mateuspsa/", "exePath": "/usr/bin/fastfetch", "userShell": "/bin/zsh" }, "stat": 0.010521999560296535 }, { "type": "Separator", "error": "Unsupported for JSON format", "stat": 0.00041199941188097 }, { "type": "OS", "result": { "buildID": "rolling", "codename": "", "id": "arch", "idLike": "", "name": "Arch Linux", "prettyName": "Arch Linux", "variant": "", "variantID": "", "version": "", "versionID": "" }, "stat": 0.036636000499129295 }, { "type": "Host", "result": { "family": "B760 MB", "name": "B760M GAMING", "version": "", "sku": "", "vendor": "Gigabyte Technology Co., Ltd.", "serial": "", "uuid": "" }, "stat": 0.12463600002229214 }, { "type": "BIOS", "result": { "date": "12/14/2023", "release": "5.27", "vendor": "American Megatrends International, LLC.", "version": "F8", "type": "UEFI" }, "stat": 0.05669800005853176 }, { "type": "Bootmgr", "result": { "name": "UEFI OS", "firmware": "\\EFI\\BOOT\\BOOTX64.EFI", "order": 1, "secureBoot": false }, "stat": 0.7788490001112223 }, { "type": "Board", "result": { "name": "B760M GAMING", "vendor": "Gigabyte Technology Co., Ltd.", "version": "x.x", "serial": "" }, "stat": 0.06851200014352798 }, { "type": "Chassis", "result": { "type": "Desktop", "vendor": "", "version": "", "serial": "" }, "stat": 0.01676699984818697 }, { "type": "Kernel", "result": { "architecture": "x86_64", "name": "Linux", "release": "6.15.3-zen1-1-zen", "version": "#1 ZEN SMP PREEMPT_DYNAMIC Thu, 19 Jun 2025 14:41:01 +0000", "displayVersion": "", "pageSize": 4096 }, "stat": 0.0005489997565746307 }, { "type": "InitSystem", "result": { "name": "systemd", "exe": "/usr/lib/systemd/systemd", "version": "257.7-1-arch", "pid": 1 }, "stat": 0.1246170001104474 }, { "type": "Uptime", "result": { "uptime": 5615420, "bootTime": "2025-06-29T14:22:41.031-0300" }, "stat": 0.014166000299155712 }, { "type": "Loadavg", "result": [ 1.03, 0.69, 1.03 ], "stat": 0.0041589997708797455 }, { "type": "Processes", "result": 392, "stat": 0.236926999874413 }, { "type": "Packages", "result": { "all": 617, "amSystem": 0, "amUser": 0, "apk": 0, "brew": 0, "brewCask": 0, "choco": 0, "dpkg": 0, "emerge": 0, "eopkg": 0, "flatpakSystem": 0, "flatpakUser": 0, "guixSystem": 0, "guixUser": 0, "guixHome": 0, "hpkgSystem": 0, "hpkgUser": 0, "linglong": 0, "mport": 0, "nixDefault": 0, "nixSystem": 0, "nixUser": 0, "opkg": 0, "pacman": 617, "pacstall": 0, "paludis": 0, "pisi": 0, "pkg": 0, "pkgtool": 0, "pkgsrc": 0, "qi": 0, "macports": 0, "rpm": 0, "scoop": 0, "snap": 0, "soar": 0, "sorcery": 0, "winget": 0, "xbps": 0, "pacmanBranch": "" }, "stat": 0.06764199957251549 }, { "type": "Shell", "result": { "exe": "/bin/zsh", "exeName": "zsh", "exePath": "/usr/bin/zsh", "pid": 53985, "ppid": 53969, "processName": "zsh", "prettyName": "zsh", "version": "5.9", "tty": 4 }, "stat": 0.03658000007271767 }, { "type": "Editor", "error": "$VISUAL or $EDITOR not set", "stat": 0.00043900031596422195 }, { "type": "Display", "result": [ { "id": 3543560144569582664, "name": "Q27G2SG4", "primary": false, "output": { "width": 2560, "height": 1440, "refreshRate": 143.912 }, "scaled": { "width": 2560, "height": 1440 }, "preferred": { "width": 2560, "height": 1440, "refreshRate": 59.951 }, "physical": { "width": 600, "height": 340 }, "rotation": 0, "bitDepth": 0, "hdrStatus": "Unsupported", "type": "External", "manufactureDate": { "year": 2023, "week": 31 }, "serial": 961, "platformApi": "wayland-zwlr" }, { "id": 841830468, "name": "Odyssey G30B", "primary": false, "output": { "width": 1920, "height": 1080, "refreshRate": 143.981 }, "scaled": { "width": 1920, "height": 1080 }, "preferred": { "width": 1920, "height": 1080, "refreshRate": 143.981 }, "physical": { "width": 530, "height": 300 }, "rotation": 0, "bitDepth": 0, "hdrStatus": "Unsupported", "type": "External", "manufactureDate": { "year": 2025, "week": 8 }, "serial": 1496658516, "platformApi": "wayland-zwlr" } ], "stat": 1.229441000148654 }, { "type": "Brightness", "result": [], "stat": 12.16192299965769 }, { "type": "Monitor", "error": "Monitor module is an alias of Display module", "stat": 0.0021620001643896103 }, { "type": "LM", "result": { "service": "ly", "type": "Wayland", "version": "" }, "stat": 0.040951999835669994 }, { "type": "DE", "error": "No DE found", "stat": 0.0013760002329945564 }, { "type": "WM", "result": { "processName": "Hyprland", "prettyName": "Hyprland", "protocolName": "Wayland", "pluginName": "", "version": "0.49.0" }, "stat": 0.019341000355780125 }, { "type": "WMTheme", "error": "Unknown WM: Hyprland", "stat": 0.0018090000376105309 }, { "type": "Theme", "error": "No themes found", "stat": 0.28118899930268526 }, { "type": "Icons", "error": "No icons could be found", "stat": 0.001348000019788742 }, { "type": "Font", "error": "No fonts found", "stat": 0.0031620003283023834 }, { "type": "Cursor", "result": { "theme": "Adwaita", "size": "" }, "stat": 0.037313999608159065 }, { "type": "Wallpaper", "error": "Failed to detect the current wallpaper path", "stat": 0.001166999340057373 }, { "type": "Terminal", "result": { "processName": "kitty", "exe": "kitty", "exeName": "kitty", "exePath": "/usr/bin/kitty", "pid": 53969, "ppid": 1, "prettyName": "kitty", "version": "0.42.1", "tty": "/dev/pts/4" }, "stat": 0.12081499956548214 }, { "type": "TerminalFont", "result": { "font": { "name": "JetBrainsMono-Regular", "size": "12", "styles": [], "pretty": "JetBrainsMono-Regular (12pt)" }, "fallback": { "name": "", "size": "", "styles": [], "pretty": "" } }, "stat": 5.539675999432802 }, { "type": "TerminalSize", "result": { "columns": 117, "rows": 35, "width": 1170, "height": 770 }, "stat": 0.0054350001737475395 }, { "type": "TerminalTheme", "result": { "fg": { "r": 245, "g": 245, "b": 245, "dark": false }, "bg": { "r": 0, "g": 0, "b": 0, "dark": true } }, "stat": 3.2858880003914237 }, { "type": "CPU", "result": { "cpu": "Intel(R) Core(TM) i5-14600KF", "vendor": "GenuineIntel", "packages": 1, "cores": { "physical": 14, "logical": 20, "online": 20 }, "frequency": { "base": 3500, "max": 5300 }, "coreTypes": [ { "count": 12, "freq": 3500 }, { "count": 8, "freq": 2600 } ], "temperature": 35.0 }, "stat": 2.8272010004147887 }, { "type": "CPUCache", "result": { "l1": [ { "size": 49152, "num": 6, "lineSize": 64, "type": "data" }, { "size": 32768, "num": 6, "lineSize": 64, "type": "instruction" }, { "size": 32768, "num": 8, "lineSize": 64, "type": "data" }, { "size": 65536, "num": 8, "lineSize": 64, "type": "instruction" } ], "l2": [ { "size": 2097152, "num": 6, "lineSize": 64, "type": "unified" }, { "size": 4194304, "num": 2, "lineSize": 64, "type": "unified" } ], "l3": [ { "size": 25165824, "num": 1, "lineSize": 64, "type": "unified" } ] }, "stat": 4.734725999645889 }, { "type": "CPUUsage", "result": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ], "stat": 200.3797110002488 }, { "type": "GPU", "result": [ { "index": null, "coreCount": 40, "coreUsage": 2.0, "memory": { "dedicated": { "total": 12818255872, "used": 1007632384 }, "shared": { "total": 8277798912, "used": 141004800 }, "type": "GDDR6" }, "driver": "amdgpu", "name": "AMD Radeon RX 6750 XT", "temperature": 53.0, "type": "Discrete", "vendor": "AMD", "platformApi": "DRM (card1)", "frequency": 2880, "deviceId": 3000 } ], "stat": 3.985609999857843 }, { "type": "Memory", "result": { "total": 16584183808, "used": 4359716864 }, "stat": 0.029769999906420708 }, { "type": "PhysicalMemory", "error": "Failed to get SMBIOS data", "stat": 0.01649599988013506 }, { "type": "Swap", "result": [ { "name": "/dev/zram0", "used": 0, "total": 4294963200 } ], "stat": 0.021045999601483345 }, { "type": "Disk", "result": [ { "bytes": { "available": 989731831808, "free": 990920966144, "total": 999111524352, "used": 8190558208 }, "files": { "total": null, "used": null }, "filesystem": "btrfs", "mountpoint": "/", "mountFrom": "/dev/mapper/root", "name": "", "volumeType": [ "Regular" ], "createTime": "2025-06-27T14:53:36.554-0300" }, { "bytes": { "available": 586010624, "free": 586010624, "total": 1071628288, "used": 485617664 }, "files": { "total": null, "used": null }, "filesystem": "vfat", "mountpoint": "/boot", "mountFrom": "/dev/nvme0n1p1", "name": "", "volumeType": [ "Regular" ], "createTime": null }, { "bytes": { "available": 989731831808, "free": 990920966144, "total": 999111524352, "used": 8190558208 }, "files": { "total": null, "used": null }, "filesystem": "btrfs", "mountpoint": "/home", "mountFrom": "/dev/mapper/root", "name": "", "volumeType": [ "Subvolume" ], "createTime": "2025-06-27T14:53:36.557-0300" }, { "bytes": { "available": 989731831808, "free": 990920966144, "total": 999111524352, "used": 8190558208 }, "files": { "total": null, "used": null }, "filesystem": "btrfs", "mountpoint": "/var/cache/pacman/pkg", "mountFrom": "/dev/mapper/root", "name": "", "volumeType": [ "Subvolume" ], "createTime": "2025-06-27T14:53:36.563-0300" }, { "bytes": { "available": 989731831808, "free": 990920966144, "total": 999111524352, "used": 8190558208 }, "files": { "total": null, "used": null }, "filesystem": "btrfs", "mountpoint": "/var/log", "mountFrom": "/dev/mapper/root", "name": "", "volumeType": [ "Subvolume" ], "createTime": "2025-06-27T14:53:36.560-0300" } ], "stat": 0.41636099945753813 }, { "type": "Btrfs", "result": [ { "name": "", "uuid": "d9e4e48b-db65-4322-8dca-0a0f9c411194", "devices": "dm-0", "features": "free_space_tree,no_holes,compress_zstd,skinny_metadata,extended_iref", "generation": 2530, "nodeSize": 16384, "sectorSize": 4096, "totalSize": 999111524352, "allocation": [ { "type": "data", "dup": false, "used": 7214383104, "total": 9672065024 }, { "type": "metadata", "dup": true, "used": 476282880, "total": 1073741824 }, { "type": "system", "dup": true, "used": 16384, "total": 8388608 } ] } ], "stat": 0.22202400024980307 }, { "type": "Zpool", "error": "dlopen libzfs.so failed", "stat": 0.2739409999921918 }, { "type": "Battery", "result": [], "stat": 0.011299999430775642 }, { "type": "PowerAdapter", "result": [], "stat": 0.007734999991953373 }, { "type": "Player", "error": "Player module is an alias of Media module", "stat": 0.0005689999088644981 }, { "type": "Media", "error": "No media found", "stat": 1.8830950008705258 }, { "type": "PublicIp", "result": { "ip": "177.197.110.145", "location": "São José dos Campos, BR" }, "stat": 0.11802900023758411 }, { "type": "LocalIp", "result": [ { "name": "enp6s0", "defaultRoute": true, "ipv4": "192.168.15.16/24", "ipv6": "2804:7f0:b771:1dc:8ecb:1ea0:3f0f:d572/64,fe80::7ac5:3013:f38f:bfea/64", "mac": "10:ff:e0:2e:c0:26", "mtu": 1500, "speed": 1000, "flags": "UP,BROADCAST,RUNNING,MULTICAST,LOWER_UP" } ], "stat": 0.2417460000142455 }, { "type": "DNS", "result": [ "192.168.15.1", "fe80::860b:bbff:fe5d:b8e8%enp6s0" ], "stat": 0.03798399958759546 }, { "type": "Wifi", "result": [], "stat": 0.1639599995687604 }, { "type": "DateTime", "result": "2025-06-29T15:56:16.689-0300", "stat": 0.02865999937057495 }, { "type": "Locale", "result": "en_US.UTF-8", "stat": 0.0021299999207258224 }, { "type": "Vulkan", "result": { "apiVersion": "1.4.311", "conformanceVersion": "1.4", "driver": "radv [Mesa 25.1.4-arch1.1]", "gpus": [ { "type": "Discrete", "vendor": "AMD", "name": "AMD Radeon RX 6750 XT (RADV NAVI22)", "driver": "Mesa 25.1.4-arch1.1", "platformApi": "Vulkan 1.4.311", "deviceId": 29663, "memory": { "dedicated": { "total": 12884901888, "used": null }, "shared": { "total": 8292089856, "used": null } }, "deviceId": 29663 } ] }, "stat": 15.806351999752223 }, { "type": "OpenGL", "error": "Fastfetch was built without gl support.", "stat": 0.00045000016689300537 }, { "type": "OpenCL", "error": "clGetPlatformIDs() failed: CL_PLATFORM_NOT_FOUND_KHR", "stat": 0.059880999848246574 }, { "type": "Users", "result": [ { "name": "mateuspsa", "hostName": "", "sessionName": "tty2", "clientIp": "", "loginTime": "2025-06-29T14:23:20.096-0300" } ], "stat": 0.01990600023418665 }, { "type": "Bluetooth", "result": [], "stat": 0.0027620000764727592 }, { "type": "BluetoothRadio", "error": "Failed to open /sys/class/bluetooth", "stat": 0.0007290001958608627 }, { "type": "Sound", "result": [ { "active": true, "main": false, "volume": 40, "name": "Navi 21/23 HDMI/DP Audio Controller Digital Stereo (HDMI)", "identifier": "alsa_output.pci-0000_03_00.1.hdmi-stereo", "platformApi": "PipeWire 1.4.5" }, { "active": true, "main": true, "volume": 40, "name": "Built-in Audio Analog Stereo", "identifier": "alsa_output.pci-0000_00_1f.3.analog-stereo", "platformApi": "PipeWire 1.4.5" } ], "stat": 2.44781900011003 }, { "type": "Camera", "result": [ { "name": "Brio 100", "vendor": "", "colorSpace": "sRGB", "id": "usb-0000:00:14.0-5", "width": 640, "height": 480 } ], "stat": 98.79334800038487 }, { "type": "Gamepad", "result": [], "stat": 0.061057000420987606 }, { "type": "Mouse", "result": [ { "serial": "", "name": "USB Gaming Mouse" } ], "stat": 0.08574799913913012 }, { "type": "Keyboard", "result": [ { "serial": "", "name": "USB Gaming Mouse" }, { "serial": "", "name": "SEMICO USB Keyboard" } ], "stat": 0.11447100061923265 }, { "type": "Weather", "result": "+23°C - Sunny (São José dos Campos, Brazil)", "stat": 114.22302599996328 }, { "type": "NetIO", "result": [ { "name": "enp6s0", "defaultRoute": true, "txBytes": 714, "rxBytes": 1591, "txPackets": 9, "rxPackets": 12, "rxErrors": 0, "txErrors": 0, "rxDrops": 0, "txDrops": 0 } ], "stat": 529.7312890002504 }, { "type": "DiskIO", "result": [ { "name": "KINGSTON SNV2S1000G", "devPath": "/dev/nvme0n1", "bytesRead": 0, "bytesWritten": 0, "readCount": 0, "writeCount": 0 } ], "stat": 0.09150599967688322 }, { "type": "PhysicalDisk", "result": [ { "name": "KINGSTON SNV2S1000G", "devPath": "/dev/nvme0n1", "interconnect": "NVMe", "kind": "SSD", "size": 1000204886016, "serial": "50026B768693A867\n", "removable": false, "readOnly": false, "revision": "ELFK1N.2", "temperature": 43.85 } ], "stat": 1.4957599993795156 }, { "type": "TPM", "result": { "version": "2.0", "description": "TPM 2.0 Device" }, "stat": 0.1524729998782277 }, { "type": "Version", "result": { "projectName": "fastfetch", "sysName": "Linux", "architecture": "x86_64", "version": "2.46.0", "versionGit": "", "cmakeBuiltType": "RelWithDebInfo", "compileTime": "Jun 20 2025, 16:19:55", "compiler": "gcc 15.1.1", "debugMode": false, "libc": "glibc 2.41" }, "stat": 0.0019079996272921562 }, { "type": "Break", "error": "Unsupported for JSON format", "stat": 0.0007030004635453224 }, { "type": "Colors", "error": "Unsupported for JSON format", "stat": 0.0008370000869035721 } ] ~ ❯