ChiliPeppr + X-Carve : Will it work?

You may have an M30 or M2 ‘program end’ at the end of your g-code program. To fix, just click the ‘~’ resume button, rather than soft resetting.

Grbl pauses the job when it receives a ‘program end’ command to prevent any other commands from moving the machine. This is keep the machine from doing something after the job completes, when you are often not around the machine.

This behavior is part of the g-code standard, but the problem is that GUIs have to do half of the work. Grbl can’t control what the stream of g-code so it has to pause the job. Unfortunately, Chilipeppr doesn’t adhere to the g-code standard very well and needs to show the user what is going on or automatically send the resume command to grbl while managing the streaming state itself. UGS, I believe, does manage the ‘program end’ well, so it’s no surprise that it works on UGS and not Chilipeppr.