Attiny88, mlx90614 et Tm1637

What ever you use to upload your sketch to to a non-bootloader board, can also be used to write the fuses (burn bootloader). Default new-from-factory clock for all classic AVRs is 1 MHz internal (so sketches compiled for 8 MHz run at 1/8th the expected speed)

it's a separate option to prevent surprising and accidental bricking of boards from accidentally setting a fuse wrong when you don't intend to because that can brick the part (to "brick" a part means that it won't do anything more than a brick until a more complicated procedure is used to unbrick it)

Setting fuses for a a clock source that isn't present (external clock w/out external clock, or crystal without crystal or external clock) will brick the board (until you supply a suitable external clock signal), as will enabling brownout detection 4.3V on a 3.3v board or similar (unless it can be safely connected to 5v to reprogram, or disabling reset or ISP programming (ATTinyCore will never disable reset on non-bootloader board, and will never ever disable isp programming - I don't present that option and fixing either of those is a Big Deal). Since the wrong fuses can have such consequences, we don't ever want to set fuses if the user isn't expecting it. So ATTinyCore only sets fuses when doing "burn bootloader", so you will have to see the options selected (and hopefully will read them) before setting the fuses.

I don't think any classic AVRs like those supported by ATTinyCore have "safe fuses". Modern AVRs (megaTinyCore and DxCore) have several fuses that can't possibly brick the chip, and on those, I have it set the "safe" fuses on normal uploads to non-bootloader boards.