@tristanryerparke Some notes:
Do you need to be able to pause during your injected moves? Pausable macros are terminated when a job is actually paused and they don't resume at the same position. AFAIR the documentation also states that your macro should be able to recover from a pause on its own, so I don't think you gain much by changing to them If you don't need to be able to pause while your custom codes are being executed, consider executing them on the default SBC code channel once all pending codes are gone on File (see Flush command). Codes sent to this channel are not affected by pause/resume. When those codes have been executed, you may resolve your custom code and resume regular file execution DSF generally runs as dsf user. If you turn your script into a plugin, just make sure it has SD write permissions set (see here). If your plugin runs as dsf, it should not require any custom permissions in /opt/dsf/sd either.