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!