---
name: "libssh2_channel_close"
section: "3"
platform: "linux"
package: "libssh2"
version: "1.11.1-7"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libssh2_channel_close"
---

# libssh2\_channel\_close(3)

close a channel

## NAME

libssh2\_channel\_close - close a channel

## SYNOPSIS

```
#include <libssh2.h>
int
libssh2_channel_close(LIBSSH2_CHANNEL *channel);
```

## DESCRIPTION

*channel* - active channel stream to set closed status on.

Close an active data channel. In practice this means sending an SSH\_MSG\_CLOSE packet to the remote host which serves as instruction that no further data will be sent to it. The remote host may still send data back until it sends its own close message in response. To wait for the remote end to close its connection as well, follow this command with **[libssh2\_channel\_wait\_closed(3)](/libssh2_channel_wait_closed/3.md)**

## RETURN VALUE

Return 0 on success or negative on failure. It returns LIBSSH2\_ERROR\_EAGAIN when it would otherwise block. While LIBSSH2\_ERROR\_EAGAIN is a negative number, it is not really a failure per se.

## ERRORS

*LIBSSH2\_ERROR\_SOCKET\_SEND* - Unable to send data on socket.

## SEE ALSO

**[libssh2\_channel\_open\_ex(3)](/libssh2_channel_open_ex/3.md)**
