Core Lightning v25.12.1 Fixes Multiple Crashes, Recommended for New Nodes

bitcoinindex.net · · 4 min read
Core Lightning v25.12.1 Fixes Multiple Crashes, Recommended for New Nodes

Core Lightning v25.12.1 shipped on January 16, 2026, fixing a critical bug that made on-chain Bitcoin unspendable for nodes created with v25.12. If you’re running v25.12 or planning to spin up a new Lightning node, this is the version you need.

The release notes are blunt: “This is a recommended point release, particularly for those creating new nodes.” Translation: don’t use v25.12. Here’s why.

The signing bug: funds visible but frozen

Nodes created with Core Lightning v25.12 could see their on-chain funds in listfunds but couldn’t spend them. Channel opens failed. On-chain withdrawals failed. Every attempt returned the same cryptic error:

mempool-script-verify-flag-failed (Script failed an OP_EQUALVERIFY operation)

One user on GitHub described the experience: generated an address via Zeus wallet, funded it, then hit a wall trying to use the Bitcoin. The funds were there but completely frozen.

This wasn’t a rare edge case. It affected every node created with v25.12’s new BIP-39 mnemonic feature when trying to spend from non-Taproot addresses.

What went wrong

Core Lightning v25.12 introduced BIP-39 12-word mnemonic support, replacing the old 32-byte hex seed format. Great for usability: recovery phrases are easier to write down and manage than hex strings.

The implementation used BIP-86 derivation for all addresses, but the signing code was only updated for Taproot addresses. Result: a mismatch between how addresses were generated and how signatures were created. The wallet would generate a P2WPKH address using BIP-86 derivation, then try to sign for it using BIP-32 derivation. Signature verification failed every time.

Rusty Russell’s fix corrected the signing code to match the address generation, along with related issues in penalty transactions, wallet recovery, and shutdown scripts.

Credit to GitHub users @rauaap for diagnosing the root cause and @postanissue for reporting it.

Three crash bugs in payment plugins

Beyond the signing issue, v25.12.1 patches three separate crash scenarios in the pay and askrene plugins.

Pay plugin crash: When processing errors from multi-hop route hints, the pay plugin would hit an assertion failure and crash. Since pay is marked as an “important” plugin in Core Lightning, the crash took down the entire node. Reported January 11 by michael1011.

Askrene crashes (two bugs): The experimental routing plugin had two independent crash triggers. One involved a corner case in the increase_flows() function during route refinement. The other hit when a channel’s fee calculation exceeded uint32 range during single-path payments. Both would crash the plugin mid-payment.

These aren’t theoretical. Real node operators hit these bugs in production.

Why v25.12’s BIP-39 feature matters

The signing bug is frustrating, but the feature itself is solid. Before v25.12, Core Lightning nodes used a 32-byte hex seed for wallet generation. Secure, yes. Easy to back up? Not so much.

BIP-39 mnemonics changed that. New nodes now start with a standard 12-word recovery phrase. You can write it down, store it in a password manager, or use a hardware wallet backup. If your node dies, you can recover the on-chain funds with any BIP-39/BIP-86 compatible Bitcoin wallet like Sparrow or BlueWallet.

(Lightning channel state still requires separate backups. That’s a protocol limitation, not a Core Lightning quirk.)

From Blockstream’s December 4 announcement:

“Core lightning nodes have historically generated a 32-byte hex seed: cryptographically cool, not so easy to store. Now, newly created core lightning nodes will open with a BIP39-compatible mnemonic secret.”

The implementation just needed hardening. v25.12.1 delivers that.

What you should do

If you’re running v25.12: Upgrade to v25.12.1 now. The signing bug is severe. Your on-chain funds are frozen until you upgrade.

If you’re deploying a new node: Use v25.12.1. Skip v25.12 entirely. The team explicitly recommends this release for new deployments because the signing bug specifically affects fresh nodes using the BIP-39 feature.

If you’re on an older version (v25.09 or earlier): The signing bug doesn’t affect you, but the crash fixes are relevant if you run high-volume payment routing. Check the release notes and decide based on your setup.

Fast turnaround on critical fixes

Core Lightning v25.12 shipped December 4, 2025. The first bug report (issue #8804) came December 22. More reports followed in early January. v25.12.1 shipped January 16, 2026, a six-week turnaround from major release to patched point release.

That’s a solid response time for a critical bug, especially one buried in a complex feature like BIP-39 derivation. The Core Lightning team (Rusty Russell, Shahana Farooqui, Christian Decker, and others) diagnosed, fixed, and tested the patches quickly.

Nine bugs total got fixed in this release, including smaller issues like JSON-RPC filter crashes, gossipd missing node announcements, and bitcoind startup race conditions. The full list is in the changelog.

The bottom line

BIP-39 mnemonic support is a real usability win for Core Lightning. It brings the node software closer to the UX standard set by custodial wallets, without sacrificing sovereignty. The v25.12 implementation had bugs, but v25.12.1 fixes them.

If you’re running a Lightning node on Core Lightning, v25.12.1 is your baseline now. Don’t deploy v25.12. Don’t stay on v25.12 if you’re already there. Upgrade, and get back to routing payments.


Sources

Last updated: March 4, 2026