Thanks @pfaffman, yeah, it was coming from the angusmcleod/discourse-events plugin. I had it in the hooks.after_code.exec.cmd array twice, but seems there’s some other issue with it.
I’ll play with it some more when I get a chance, and file a bug on the GitHub repo for that plugin. Thankfully, we switched to the official Events plugin a while back, so this is just for our past events.