#4598·OctoPrint

[Request] include who / what cancelled a print in the `PrintCancelled` event (name of plugin)

Author: AlbertMNCreated Jul 31, 2022Updated Jan 21, 2026
Labelsrequest

Is your feature request related to a problem? Please describe.

No response

Describe the solution you'd like

When a print job has been cancelled by a plugin or the API rather than by a user via the OP UI, it'd be useful if the PrintCancelled and PrintCancelling events included the name of the plugin, or whether it was through the API.

I noticed that before the state was changed to Cancelling, the log outputs; Cancelling job on behalf of plugin {name of plugin} https://github.com/OctoPrint/OctoPrint/blob/260a1aef11432c421246019e25b6b744abbaed60/src/octoprint/util/comm.py#L1698, so it seems there is already some logic in place, determining who or what cancelled the job.

Adding a cancelledBy item in the dict, that could maybe be user, plugin or api, and a separate item being plugin: name_of_plugin if the print was cancelled by a plugin.

This would make troubleshooting a bit easier, for plugins utilizing OctoPrint, in cases of a cancel that the user didn't want to happen - this way the "sinner" could be displayed.

It would also be rather useful within the OctoPrint UI, to have just a little line of text saying Print was cancelled by {x} in the "State" card or in the file info of a file, below or as a part of "Last printed".

Describe alternatives you've considered

No response

Additional context

No response