Core Lightning (CLN) WIRE_TEMPORARY_CHANNEL_FAILURE Fix

After setting up a new Core Lightning instance on Umbrel, I ran into a strange issue. Despite opening several channels with well-connected nodes, I couldn’t send any payments. Every invoice I tried to pay failed, no matter how many nodes I was connected to, how much balance I had in the channels, or how small the invoice was.

Digging through the logs, I kept seeing the same error: WIRE_TEMPORARY_CHANNEL_FAILURE. That message popped up consistently, so I started looking around for answers and eventually stumbled across a GitHub issue where Christian Decker and other members of the Core Lightning team had already addressed the problem:

Turns out, starting with version 24.11.1 (which, at the time of writing, is the current version available on the Umbrel store), there’s a change that requires an extra config line to be set. You need to open the configuration file located at:

apps/core-lightning/data/lightningd/config

Open the file and add this line:

xpay-handle-pay=true

Save and restart CLN.

The core of the issue was that the existing pay command was broken. Apparently, @rustyrussell had already been working on a completely new version of the payment logic for a while, prioritizing it heavily. This new system is called xpay, and enabling it solves the problem.

Just wanted to share this here in case it helps someone else avoid the headache I went through. I spent hours trying to figure it out, and this little fix could save others a lot of time. Hopefully, future Umbrel releases will include the xpay-handle-pay=true line in the config by default. That would make things a lot smoother. Cheers!