---
name: "libssh2_session_set_last_error"
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_session_set_last_error"
---

# libssh2\_session\_set\_last\_error(3)

sets the internal error state

## NAME

libssh2\_session\_set\_last\_error - sets the internal error state

## SYNOPSIS

```
#include <libssh2.h>
int
libssh2_session_set_last_error(LIBSSH2_SESSION *session,
                               int errcode, const char *errmsg)
```

## DESCRIPTION

*session* - Session instance as returned by **[libssh2\_session\_init\_ex(3)](/libssh2_session_init_ex/3.md)**

*errcode* - One of the error codes as defined in the public libssh2 header file.

*errmsg* - If not NULL, a copy of the given string is stored inside the session object as the error message.

This function is provided for high level language wrappers (i.e. Python or Perl) and other libraries that may extend libssh2 with additional features while still relying on its error reporting mechanism.

## RETURN VALUE

Numeric error code corresponding to the the Error Code constants.

## AVAILABILITY

Added in 1.6.1

## SEE ALSO

**[libssh2\_session\_last\_error(3)](/libssh2_session_last_error/3.md)** **[libssh2\_session\_last\_errno(3)](/libssh2_session_last_errno/3.md)**
