<p>This is a tricky question as it tackles the difference between what the protocol supports and what implementations provider as an API. </p>

<p>On a protocol level channels are enabled / disabled via an <code>update message</code> on the gossip Protocol. Nodes SHOULD set the disabled flag and send such a message if they are shutting down or turning (shortly) off for maintenance. Similarly they SHOULD enable the channel if the node is going online again. Now gossip messages are rate limited to prevent spam. Thus it could mean that the node is online but the update message is not sent / propagated yet. Your node would refuse to even try to send out a package over a channel which is known to be disabled to the payer node. </p>

<p>You are correct: lightning nodes do not provide a command line api to change the activation state of a channel. </p>

CC BY-SA 4.0
2021-03-16T17:22:07.287Z
As of v0.13, lnd will provide a command line api to set the activation state of a channel: https://github.com/lightningnetwork/lnd/pull/5033
Elliott
CC BY-SA 4.0
2019-11-15T16:58:54.593Z
2019-11-15T16:58:54.593Z
Rene Pickhardt
<p>On the <code>testnet</code> and some <code>mainnet</code> there are channels which are disabled, so if you try to route a payment through them it failed with this as an error message. Reading through the RPC commands, it seems you cannot disable your channels. In some cases the node that has a <code>disabled</code> channel is still online, since you can still ping and connect to it. </p>

<p>So How does a node <code>disable</code> a channel, or part of a channel? </p>

<lightning-network><lightning-network-daemon><ln-closing-channels><ln-node-reliability>
How and When are lightning channels disabled?
Oonah
# How and When are lightning channels disabled?

(Asked by: username_0 on 2019-11-15)

On the `testnet` and some `mainnet` there are channels which are disabled, so if you try to route a payment through them it failed with this as an error message. Reading through the RPC commands, it seems you cannot disable your channels. In some cases the node that has a `disabled` channel is still online, since you can still ping and connect to it.

So How does a node `disable` a channel, or part of a channel?

**Tags:** lightning-network, lightning-network-daemon, ln-closing-channels, ln-node-reliability


---

## 1 answers

### Answer by username_1 on 2019-11-15. Score: 2 | Accepted answer

This is a tricky question as it tackles the difference between what the protocol supports and what implementations provider as an API.

On a protocol level channels are enabled / disabled via an `update message` on the gossip Protocol. Nodes SHOULD set the disabled flag and send such a message if they are shutting down or turning (shortly) off for maintenance. Similarly they SHOULD enable the channel if the node is going online again. Now gossip messages are rate limited to prevent spam. Thus it could mean that the node is online but the update message is not sent / propagated yet. Your node would refuse to even try to send out a package over a channel which is known to be disabled to the payer node.

You are correct: lightning nodes do not provide a command line api to change the activation state of a channel.

> **Comments:**
> **username_2**: As of v0.13, lnd will provide a command line api to set the activation state of a channel: https://github.com/lightningnetwork/lnd/pull/5033  

---

