Summary
Release v0.23.5 changed the interaction between --binary and --bytes flags. Previously, --binary --bytes output bytes, now it outputs the binary size.
Environment
❯ cat /etc/os-release | head -n1
NAME="Arch Linux"
❯ uname -a
Linux hendrik-blue 7.1.5-arch1-2 #1 SMP PREEMPT_DYNAMIC Tue, 28 Jul 2026 13:49:51 +0000 x86_64 GNU/Linux
❯ eza --version
eza eza - A modern, maintained replacement for ls
v0.23.5 [+git]
https://github.com/eza-community/eza
❯ echo $SHELL
/usr/bin/zsh
❯ zsh --version
zsh 5.9.2 (x86_64-pc-linux-gnu)
❯ kitty --version
kitty 0.48.2 created by Kovid Goyal
Expectation
The release notes mention nothing about about either flag, so I expect the same combination to continue working the same way. Specifically, --binary --bytes should output bytes.
My general expectation would be that in the case of conflicting options, the last one should take precendence, i.e.:
--bytes --binary should output binary
--binary --bytes should output bytes
I actually did not verify whether in v0.23.4, the order mattered or --bytes just always took precedence, but the actual behavior matched my expectations. In the case of --binary --bytes, bytes took precedence, which is not longer the case as of v0.23.5.
Actual Behavior
The --binary flag now always takes precedence, no matter the ordering.
❯ eza --long --binary build/rel*
.rwxr----- 11Mi hendrik 6 Aug 15:51 build/release
.rwxr----- 11Mi hendrik 31 Jul 17:00 build/release-master
❯ eza --long --binary --bytes build/rel*
.rwxr----- 11Mi hendrik 6 Aug 15:51 build/release
.rwxr----- 11Mi hendrik 31 Jul 17:00 build/release-master
❯ eza --long --bytes --binary build/rel*
.rwxr----- 11Mi hendrik 6 Aug 15:51 build/release
.rwxr----- 11Mi hendrik 31 Jul 17:00 build/release-master
Why does it even matter?
I have the following alias set up: ll='exa --binary --all --git --group-directories-first --long'. This allows me to just use ll in the general case, and then use ll --binary when I want the details. That worked perfectly up until v0.23.4, but stopped working in v0.23.5.
Summary
Release v0.23.5 changed the interaction between
--binaryand--bytesflags. Previously,--binary --bytesoutput bytes, now it outputs the binary size.Environment
Expectation
The release notes mention nothing about about either flag, so I expect the same combination to continue working the same way. Specifically,
--binary --bytesshould output bytes.My general expectation would be that in the case of conflicting options, the last one should take precendence, i.e.:
--bytes --binaryshould output binary--binary --bytesshould output bytesI actually did not verify whether in v0.23.4, the order mattered or
--bytesjust always took precedence, but the actual behavior matched my expectations. In the case of--binary --bytes, bytes took precedence, which is not longer the case as of v0.23.5.Actual Behavior
The
--binaryflag now always takes precedence, no matter the ordering.Why does it even matter?
I have the following alias set up:
ll='exa --binary --all --git --group-directories-first --long'. This allows me to just usellin the general case, and then usell --binarywhen I want the details. That worked perfectly up until v0.23.4, but stopped working in v0.23.5.