Configuration Class Errors
This page consolidates configuration section conflicts, parameter spelling, include files, and SAVE_CONFIG related issues. After modifying the configuration, please first check the first configuration error in klippy.log, then address each item consecutively.
homing override method always homes X and Y before homing Z
Error Message: Safe Z homing conflicts with homing override configuration.
Cause: Both [safe_z_home] and [homing_override] are configured, causing Klipper to be unable to determine which homing logic to use.
Solution:
- Search for
[safe_z_home]and[homing_override]in the configuration file. - Keep only one of them based on the machine's actual homing logic.
- Save and restart Klipper.
Related configuration reference: Homing and Direction Calibration Guide, Homing Override Reference Configuration.
Option 'xxx' is not valid in section 'yyy'
Error Message: Option 'xxx' is not valid in section 'yyy', indicating an unrecognized option name in the specified configuration section.
Common Causes:
- Misspelled option name, e.g.,
sensor_pinwritten assensor_ping. - Options from another section incorrectly pasted into the current section, e.g., writing
[probe]options under[stepper_z]. - After a Klipper version upgrade, options supported in the old version have been removed or renamed.
- Using content that is not an actual parameter as a comment, e.g.,
default_parameter_z.
Solution:
- Carefully check the configuration section and option name indicated in the error to confirm the spelling.
- Refer to the Klipper Configuration Reference to confirm which section the option belongs to.
- If you recently upgraded Klipper, check the Configuration Changes to see if the option has changed.
- Delete or move the invalid option to the correct configuration section.
Related configuration reference: Configuration Modification Instructions.
Section 'xxx' is not a valid config section
Error Message: Section 'xxx' is not a valid config section, Unknown config object, or a configuration section cannot be recognized by Klipper.
Common Causes:
- Misspelled section name, e.g.,
[bed_mesh]written as[bedmesh]. - The current Klipper version does not support this section, or the configuration format is incompatible after an update/downgrade.
- Copied a third-party plugin configuration, but the corresponding plugin, extension module, or Klipper branch is not installed.
- Include files retain configuration sections from other machines or motherboards.
Solution:
- Based on the section name in the error, locate the corresponding paragraph in
printer.cfgand all include files. - Confirm the spelling matches the Klipper configuration reference; do not use Chinese brackets or full-width symbols for section names.
- If the configuration comes from a third-party plugin or custom macro package, confirm the corresponding plugin is installed and compatible with the current Klipper version.
- If unsure about the purpose of the paragraph, comment it out and restart for testing, then restore items one by one.
Related configuration reference: Configuration Modification Instructions.
Unable to open config file / Include file does not exist
Error Message: Unable to open config file /home/xxx/printer_data/config/printer.cfg or Include file 'xxx.cfg' does not exist.
Common Causes:
- The
printer.cfgfile path is incorrect or the file has been accidentally deleted. - The sub-configuration file referenced by
[include]does not exist or the filename does not match. - Installation tools like KIAUH automatically generate
[include]references, but the corresponding cfg file is not installed. - Permission issues prevent Klipper from reading the configuration file.
Solution:
- Confirm that
printer.cfgexists in the Klipper configuration directory, usually~/printer_data/config/printer.cfg. - Check all
[include xxx.cfg]lines to confirm the referenced files actually exist. - If
fluidd.cfgormainsail.cfgis missing, refer to the corresponding web interface installation documentation to add the configuration. - Ensure configuration file permissions are correct:
ls -la ~/printer_data/config/.
Unable to parse option / option must be specified
Error Message: Unable to parse option 'xxx' in section 'yyy', Option 'xxx' in section 'yyy' must be specified, or must have minimum/maximum, must be above/below.
Common Causes:
- Required parameters are missing, e.g.,
[extruder]missingstep_pin,dir_pin,heater_pin, orsensor_type. - Parameter format is incorrect, e.g., text entered when a number is required, missing commas for coordinate lists.
- Parameter value is outside the allowed range for Klipper, e.g., unreasonable
run_current,max_temp, orposition_maxsettings. - Copying configuration retained Chinese punctuation, full-width symbols, or invisible characters.
Solution:
- Based on the configuration section and parameter name in the error, go back to the corresponding
.cfgfile and check each item. - For numbers, coordinates, and list parameters, confirm the format matches the examples, e.g.,
mesh_min: 20, 20. - For
must be above/beloworminimum/maximumerrors, first restore the official example or motherboard tutorial recommended values. - Save and execute
RESTART. If it still fails, check the first configuration error inklippy.log.
Related configuration reference: Configuration Modification Instructions.
Unknown pin chip name / pin used multiple times
Error Message: Unknown pin chip name 'xxx', Invalid pin description 'xxx', pin xxx used multiple times in config.
Common Causes:
- In multi-MCU configurations, the pin prefix is misspelled, e.g., writing
EBBCan:PB0as a non-existent MCU name. - Pin name is misspelled, or pins were directly copied from a motherboard tutorial to another board.
- The same physical pin is occupied by multiple functions, e.g., fan, heater, and endstop all using the same pin.
- Pin inversion
!, pullup^, or pulldown~is written in the wrong position.
Solution:
- Check that the name of
[mcu xxx]exactly matches the pin prefix, including case sensitivity. - Refer to the motherboard pinout diagram to confirm each
pin:,step_pin:,dir_pin:, andheater_pin:belongs to the current motherboard. - Search for the error pin in all include files and remove or change the duplicate entry.
- Pin modifiers should be written before the pin name, e.g.,
^PB7,!PC13,mcu2:^PB7.
Related configuration reference: Configuration Modification Instructions, Fan Reference Configuration.
gcode command XXX already registered
Error Message: Error: gcode command XXX already registered.
Cause: Two different macros or system modules have registered the same G-code command name, e.g., both macros define [gcode_macro NEXT].
Common Scenarios:
- User-defined macros conflict with Klipper system modules or third-party configurations.
- Multiple
[gcode_macro M600]definitions exist.
Solution:
- Search for duplicate definitions in
printer.cfgand all[include]files. - Delete or rename the conflicting
[gcode_macro]. - Check common macros like
[homing_override],[gcode_macro PAUSE],[gcode_macro RESUME],[gcode_macro CANCEL_PRINT].
Related configuration reference: Macros Introduction.
SAVE_CONFIG fails or configuration conflicts
Error Message: After executing SAVE_CONFIG, prompts such as Unable to write config, Option conflict, Cannot save config, or the printer fails to start after saving.
Common Causes:
- Insufficient permissions for the
printer.cfgfile, preventing the Klipper process from writing, often after editing the configuration file withsudo. - Configuration items in the auto-save area (
#*#marked block) conflict with the same options in a manually included[include]file. - The MCU is in a shutdown state, so
SAVE_CONFIGcannot properly submit new configurations. - There are syntax errors or truncation at the end of the
printer.cfgfile, causing the auto-save area to fail writing. - Multiple include files repeatedly define parameters that should not be auto-saved by
SAVE_CONFIG, such as PID, Z offset.
Solution:
-
Confirm configuration file permissions:
ls -la ~/printer_data/config/printer.cfgIf the owner is not the current user, execute:
sudo chown $USER:$USER ~/printer_data/config/printer.cfg -
If the printer fails to start after
SAVE_CONFIG, openprinter.cfgand check the#*#auto-save area at the bottom. -
If the same option also exists in an include file, delete the duplicate item in the auto-save area, or manage it uniformly in the include file.
-
If the MCU is in a shutdown state, execute
FIRMWARE_RESTARTfirst, then re-executeSAVE_CONFIG. -
If permissions are normal but writing still fails, check disk space:
df -h ~/printer_data/.
Related configuration reference: Configuration Modification Instructions.