Theoretically you only need a single bit for a bool, but working with less than 1 byte's worth of data is messy. You need more instructions to achieve anything and you don't really benefit.
If you want to pack multiple booleans into a single byte you can use a bit-field structure.