skip_print_objects
Stop printing failed objects on a multi-object plate mid-print so the remaining parts finish. Pass the object IDs to abandon and save the rest of the run.
Instructions
Abandon one or more failed objects on a multi-object plate, mid-print.
When one part on a full plate fails — spaghetti, a knocked-loose object, a
detached corner — this tells the printer to stop printing just those
objects and finish the rest of the plate. One bad part no longer scraps
the whole run. A Kiln Pro feature.
The identifier is backend-specific — pass it as a string, Kiln routes it:
* **Bambu** — the ``label_id`` from ``list_plate_objects`` (e.g. ``"757"``).
* **Klipper / Moonraker / Creality** — the object NAME the slicer labelled
(e.g. ``"Part1"``); the file must have been sliced with object labelling.
* **OctoPrint** — the zero-based ``M486`` object index (needs firmware
M486 support).
Discover Bambu ids first::
list_plate_objects("my_plate.gcode.3mf") # -> objects[].label_id
Printer support (honest): Bambu and any Klipper/Moonraker printer can skip
(Voron, RatRig, Qidi, and Klipper-based Creality and Elegoo Neptune /
OrangeStorm); Marlin printers via OctoPrint or direct USB can if the
firmware speaks M486. Prusa via Prusa Link can't be skipped remotely — an
API limitation, not the printer (it can cancel objects from its own
screen). The Elegoo SDCP protocol (e.g. Centauri Carbon) has no skip
command. A Klipper printer on a non-Klipper connection just needs
reconnecting as Moonraker.
AGENT DISPLAY CONTRACT: skipping is IRREVERSIBLE for the objects named —
confirm the exact objects with the user before calling, and only while a
multi-object plate is actively printing. Skips are cumulative: an object
already skipped stays skipped.
Args:
object_ids: Object identifiers to abandon, as strings: on Bambu the
``label_id`` from ``list_plate_objects`` (e.g. ``"757"``); on
Klipper/Moonraker/Creality the object name the slicer labelled
(e.g. ``"Part1"``); on OctoPrint the zero-based M486 object index.
plate_number: Which plate the ids came from (1-based, default 1).
Recorded for context; the ids are what the printer acts on.
printer_name: Which printer is printing the plate. Omit for the
default printer.
Returns:
Dict with the skipped objects and a confirmation message, or an error
dict if no print is active or the printer can't skip objects.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"object_ids": "<object_ids>"
},
"name": "skip_print_objects"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| object_ids | Yes | Object identifiers to abandon, as strings: on Bambu the ``label_id`` from ``list_plate_objects`` (e.g. ``"757"``); on Klipper/Moonraker/Creality the object name the slicer labelled (e.g. ``"Part1"``); on OctoPrint the zero-based M486 object index. | |
| plate_number | No | Which plate the ids came from (1-based, default 1). Recorded for context; the ids are what the printer acts on. Default: 1. | |
| printer_name | No | Which printer is printing the plate. Omit for the default printer. |