Boolean trouble: union and intersect work, difference doesn't
You have overlapping vertices that prevent the boolean, select your anvil, go in Edit mode, press Alt &gt; M &gt; Merge By Distance, and it will work.