hgm wrote:I think it would be useful to add that option. (Which is why I did it in WinBoard. )
For UCI engines you could apply the rule that giving a bestmove 0000 together with a 0 cp score will be taken as a draw claim. (I mean: what else could you possibly want the interface to do if it receives that input? You might as well use it for this purpose.)
One could also use the info string command to send a specific string for this purpose ("info string force draw" ??).
I used "info string DrawOffer" in polyglot so that uci engines could offer draws just like wb engines.
Well, for draw offers this would indeed be the best solution.
But for hard claims and resigns I think using null move is preferable, because GUIs not supporting the extension cannot ignore it, as they would when you encode it in an info string.