pause_print
Pause an active 3D print, lifting the nozzle and parking the head. Optionally keep hotend and bed temperatures stable during the pause to prevent cooling issues.
Instructions
Pause the currently running print job.
Pausing lifts the nozzle and parks the head.
Heater behaviour during pause varies by firmware:
- Bambu A1 / A1 mini: the firmware sets a ~90°C hotend standby
target IMMEDIATELY on pause, regardless of slicer settings (the
bed target survives). Measured 2026-08-14 on a real A1: the
target moved 220°C -> 90°C in the same telemetry sample as the
pause, and the nozzle fell to 139°C within 114 seconds — about
0.7°C per second. This docstring previously said the drop came
"3-5 minutes into a pause", and the keep-alive was built to wait
two minutes before its first assert on the strength of that; the
measurement says the damage starts at once. A resume onto a
cooled nozzle can't extrude until it re-heats — and bed adhesion
can fail in the meantime.
- Bambu X1/P1 series: typically holds both targets, but a long
idle can still trigger cooldown.
- OctoPrint / Moonraker / Klipper: depends on firmware config;
most hold targets across pause.
To fight this, ``pause_print`` spawns a best-effort daemon thread
that re-asserts the pre-pause hotend + bed targets immediately, and
then every 2 minutes until the printer leaves the PAUSED state
(resume, cancel, error, or manual button press). This is enabled by
default. The immediate assert is the part that matters on an A1:
without it, a pause shorter than the interval got no protection at
all, which is most pauses a person actually takes.
Args:
keep_temps: When ``True`` (default), capture the pre-pause tool
and bed targets and re-assert them every ~2 minutes via a
background daemon thread. Set ``False`` to skip the
keep-alive (legacy behaviour — printer may cool during long
pauses). The keep-alive thread is idempotent: repeat
pause/resume cycles do not compound threads.
printer_name: Which printer to pause. Omit for the default
printer. Each paused machine gets its own keep-alive thread,
re-asserting its own targets on its own adapter.
Use ``resume_print()`` to continue from where the print left off — pass
the same ``printer_name`` you paused with. The keep-alive thread is
automatically stopped on that printer's resume or cancel.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| keep_temps | No | ||
| printer_name | No |