OctoPrint tells me my firmware lacks support for "host action commands", what does this mean?

OctoPrint's bundled FirmwareCheck plugin has been updated to also give you a short heads-up if you are running a firmware build that in principle could support so called host action commands according to its capability report, but that feature is disabled.


This is nothing to be alarmed about, but you should be aware that this means that your firmware will not inform OctoPrint of any actions on its end that should make OctoPrint start, pause, resume or cancel a print via the supported action commands. Examples for this is that a filament sensor attached to your printer will not work as expected since your firmware won't be able to instruct OctoPrint to pause a print on a runout, or that pausing or cancelling a print from your printer's LCD menu will not work either.

Note that OctoPrint not showing you this warning doesn't mean your printer does support host action commands properly. If for example your filament sensor isn't working as expected, check that your firmware actually tells OctoPrint to pause a print when the sensor gets triggered.

To enable support, you need to do the following:

  • Marlin: Uncomment #define HOST_ACTION_COMMANDS in Configuration_adv.h and recompile. See also here.

This often gets overlooked and has thus led to a lot of support overhead, prompting the addition of a capability report for this functionality by the Marlin firmware and an adjustment of OctoPrint's FirmwareCheck plugin to evaluate that.

Currently, the plugin will detect a lack of host action support only if the printer reports Cap:HOST_ACTION_COMMANDS:0.


I'm seeing this with the Creality 4.2.7 board & an Ender 3. Any recommendations to fix for that setup?

If your printers firmware does not have it enabled. And you need/want it, the only real solve is to update the firmware and enable it in the config before compiling the updated firmware. But keep in mind this is not needed to run Octoprint. It does make the experience of using the printers interface to do things a little better since Octoprint can know you did what you did on the printers interface. Things like canceling a print for example.

This video demonstrates the process of enabling the options in Marlin.