How Do I Fix YAML Parsing, Indentation, or Unsupported-Field Errors?

Clash uses YAML, so indentation, colon, quote, or list errors can prevent loading. Follow the log's line and column, then confirm the field is supported by your core version.

  • Subscriptions and Configuration Import
  • Troubleshooting
Short answer

A Clash configuration is YAML text. Errors in indentation, colons, quotes, or list markers prevent it from loading. Use the line and column in the log to locate the syntax issue, then confirm that the field is supported by the current core version. Change only one item near the reported error at a time and reload after saving. Once parsing succeeds, verify that the field belongs to the current core.

Locate the failing field from line and column

Use line and column from the log to extract the three lines above and below the error. Check same-level indentation, spaces after colons, Tabs, and unquoted # characters.

  • Does the error log include line or column?
  • Does the field value contain an unescaped colon, hash sign, or special character?
  • Does indentation mix Tabs and spaces?
  • Is the field supported by the current Clash or Mihomo version?

Fix indentation, quoting, and fields unsupported by the core

  1. Use the log line number to isolate the smallest failing fragment first
  2. Indent with spaces, not Tabs
  3. Quote passwords, SNI values, and paths that contain special characters
  4. Confirm that the protocol fields match the current core documentation(See Configuration reference, Outbound proxy configuration)

Passing YAML parsing does not mean a node can connect

Mihomo extension fields may not be recognized by original Clash

Save the original configuration before editing so you can roll back