While they do technically ride every request, they're cached in all good clients, so usually pretty cheap. Also Claude Code just loads names and defers the full definitions until it thinks it needs one.