This is most likely caused due to the introduction of a new standard data format for APT, DEB822.
It's already being shipped in Debian 12 (Bookworm) Docker containers (see: /etc/apt/sources.list.d/debian.sources and sources.list). However, the old format is still being used by apt-add-repository which is most likely why $ apt-add-repository non-free isn't able to parse and update the sources at all.
Workaround 1
Here's a workaround (which as of writing this adds non-free repositories in the old format for the current os-release and specified mirror url):
add-apt-repository -U http://deb.debian.org/debian -c non-free-firmware -c non-free Edit: there's another bug at play here, this command needs to be executed twice (using e.g. !!) to take effect as it's not flushing to disk on the first run (perhaps due to new Python version in Bookworm?). Consider this example for installing steamcmd
apt -y install software-properties-common dpkg --add-architecture i386 add-apt-repository -y -n -U http://deb.debian.org/debian -c non-free -c non-free-firmware !! apt update apt install steamcmd Workaround 2
Alternatively, append desired components manually to DEB822 sources to avoid software-properties-common python3 (apt-add-repository) dependencies all-together:
sed -i 's/^Components: main$/& contrib non-free non-free-firmware/' /etc/apt/sources.list.d/debian.sources apt update Relevant: