Cura: add a pause and swap filament colors
In Cura, a post-processing script adds the stop. Filament Change (M600) goes on the layer where color two starts, Pause at height on the one under it.
Good for: Ender-3, Ender-5, Artillery Sidewinder, and other Marlin printers, or anything else you slice in Cura. Menus match Cura 5.13 (September 2026).
Setting the pause in Cura
- 1
Note the layer number
Slice, open Preview, and pull the layer slider up to the lowest layer that's only the new color. Write its number down. Cura's preview starts counting at 1.
- 2
Open the script list
Head to Extensions → Post Processing → Modify G-Code and click Add a script.
- 3
Printer takes M600? Use Filament Change
Pick Filament Change and type the number you wrote down into Layer. The swap happens as that layer starts.
- 4
No M600? Use Pause at height
Pick Pause at height. Change Pause at to Layer Number, then in Pause Layer type one less than your number, which is the final layer of color one. For most Marlin printers, set Method to Marlin (M0).
- 5
Close it and re-slice
Close the window and slice again. Scripts run as the G-code is saved, so you won't see the pause in the preview.
Which layer, though? The first one in the new color. Here's how to spot it.
Your printer's stop command
Pick the script by firmware:
| Marlin with filament change turned on (most newer printers with a screen) | Filament Change (M600) |
| Marlin without filament change | Pause at height, Method Marlin (M0) |
| Klipper | Neither one works as is; slice in OrcaSlicer with PAUSE instead |
When the printer stops
Load your first color and start the print. Once it reaches the pause:
- 6
The head parks
Filament Change then unloads and asks for the next filament. Pause at height simply waits.
- 7
Swap colors
Load color two and keep purging until the old one is gone. After Pause at height you do the unload and load yourself, through the printer's own menus.
- 8
Keep printing
Take the purged string off the nozzle (leave the print alone) and continue from the printer's screen.
Changed your mind? Taking the pause out
Go back to Extensions → Post Processing → Modify G-Code and click the × beside the script. Until you do, it applies to every slice you make.
Things that trip people up
- The two scripts count layers differently. Filament Change asks for the layer where color two begins, while Pause at height asks for the final layer of color one. Ignore the note saying 0 is the first layer, and go by the preview.
- Scripts stick around for every file you slice later. Take them off once this print's done.
- In Cura 5.14, some Pause at height fields get new names (Pause at End of layer(s), Pause Command). The steps don't change.
Quick answers
- The preview says my letters start on layer 21. What goes in Pause at height?
- 20. With Pause at set to Layer Number, the script wants the final layer printed in color one, numbered the way Cura's preview numbers it. It stops once that layer is done, just before color two begins.
- Which Cura script is easier for a first two-color print?
- Filament Change, if your printer supports M600, because it guides you step by step through the unload and reload. Pause at height sends a plain stop (M0 on Marlin) that more printers support; the unload and load are then up to you, through the printer's menus.