Anecdotally, the reasoning is more effective than what I can get out of Claude with my "think()" tool/prompt. I did have trouble with R1 (and o1) with output formatting in some tool commands though (I have the models output a JSON array of commands with optional raw strings for some parameters) -- whereas Claude did not have this issue. In some cases it would not use the RAW format or would add extra backslashes when nesting JSON, which Claude managed okay and also listened when I asked for RAW output in that case.