When StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
is set, the backpack is disabled, which means that basically, the user loses control of the backpack and hotbar, that also means that the user can no longer (manually) equip tools.
However, even if the backpack is disabled, the user still has the ability to drop their tools (By pressing backspace).
As an example, in my game, once a player gets to a certain level, they get equipped with a sword automatically, and once the level ends, the sword is removed, however, if a player unequips the sword, they get softlocked, until they reset (which is disabled in my game).
I know that i could just equip the player with the tool again if they unequip it, but that couldn’t work in certain tools, and would look ugly or i could just create my own tool interpreter, but that would be time-consuming and most devs won’t know how to do that (including me).
Looking at the corescript, the comment in the line 1042 even acknowledges that the disabled backpack can still hear to the backspace key, which in turn, creates this counter-intuitive behaviour.
(Another solution can be to have a bool in all tools called CanBeManuallyUnequipped
which controls if the tool can be even unequipped or not)