As of 1.0.3, when two clients start the same one-shot service, the one that loses the race never sees the value that was produced by the ‘start’ method. herd start one-shot & herd start one-shot Here one of the ‘herd start’ processes will wrongfully fail with “failed to start service one-shot”. Instead, it calls ‘service-running-value’ but that always returns #f because the one-shot service was stopped in the meantime. I’m referring to this bit of ‘start-service’: (match (get-message reply) (#f ;; We lost the race: SERVICE is already running. (service-running-value service)) ;<- here …) Attached is a reproducer. Ludo’.