Make one list where every dish has a number against it, share the link, and let each guest claim what they are bringing. The list updates for everyone at once, so nobody duplicates a dish and nobody has to ask you what is still needed.
Most sign-up sheets are just a list of names beside a list of food, which is why they end up lopsided. Putting a number against each dish — one turkey, three desserts, two bottles of wine — turns the list into a request rather than a suggestion, and it closes itself when the request is met.
Somebody will claim the pie on Monday and realise on Wednesday they have no time to bake. If undoing a claim is easy, they release it and someone else picks it up. If it is awkward, they say nothing and you have no pie.
Free · no account · guests claim with one tap
A single shared list with a number against each dish, so it closes once covered and everyone sees the same state.
Set how many of each dish you actually want. Once that many people have claimed it, it stops accepting more.
They should be able to. Making it easy to release a dish is what keeps the list honest — otherwise people quietly drop out and you find out on the day.