# Install openconnect with Homebrew

Open client for Cisco AnyConnect VPN. Version 9.21 via Homebrew; verified 2026-06-18.

## Install

```sh
sudo av install brew:openconnect
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install openconnect
```

  Evidence: provider-native install command

## Package facts

- **Package key:** brew:openconnect
- **Package manager:** Homebrew
- **Version:** 9.21
- **Source summary:** Open client for Cisco AnyConnect VPN
- **Homepage:** <https://www.infradead.org/openconnect/>
- **Last updated:** 2026-06-18T14:09:02Z
- **Generated:** 2026-08-03T00:40:33+00:00

## Executables

- openconnect (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 9.21
## Project history and usage

OpenConnect is a free, LGPL-licensed SSL VPN client that began as an open replacement for Cisco AnyConnect on Linux and grew into a multi-protocol VPN client. It supports Cisco AnyConnect, Juniper/Network Connect, Pulse/Ivanti, Palo Alto GlobalProtect, F5 BIG-IP, Fortinet FortiGate, and Array Networks SSL VPN protocols through one command-line tool and library.

### Project history

The official project page says OpenConnect development started after testing Cisco's AnyConnect Linux client exposed practical gaps: smartcard and certificate handling limitations, i386-only Linux support, poor NetworkManager integration, and weak Linux distribution packaging. The project therefore began as a compatibility client but with Unix packaging and desktop integration as first-class concerns.

OpenConnect's changelog shows the project expanding from a Cisco-focused client into a compatibility layer for several enterprise VPN products. Juniper support appeared experimentally in the 7.x era, the `--protocol` option was added in 7.07, and later 8.x releases added GlobalProtect, F5, Fortinet, and Array protocol work alongside Windows, Android, SSO, token, and TPM improvements.

### Adoption history

OpenConnect was adopted by package managers and front ends because it solved a common enterprise access problem without requiring Cisco's proprietary client on every platform. Its documentation links to Linux, BSD, macOS, Windows, and Android paths, and it is packaged by Homebrew, Debian/Ubuntu, Fedora, Arch, openSUSE, Alpine, MacPorts, Scoop, and other systems.

The companion `ocserv` server implements an improved version of the AnyConnect protocol, which made the OpenConnect ecosystem useful for both client compatibility and open deployments. NetworkManager integration and libopenconnect API work made it easier for desktop tools and distribution front ends to use the same underlying client.

### How it is used

Users run `openconnect` against a VPN gateway, optionally selecting a protocol with `--protocol`. Authentication is handled through forms, certificates, smartcards, token modes, external browser/SSO flows, or protocol-specific mechanisms; after authentication, the client configures a tunnel and routes traffic through TLS, DTLS, ESP, or protocol-specific transports where supported.

Administrators and package maintainers care about OpenConnect because VPN servers are often controlled by employers or institutions, while clients must be installable and automatable on developer laptops, servers, routers, and CI-like environments. The command-line client plus `libopenconnect` gives both scriptable and GUI front ends a shared implementation.

### Why package nerds care

OpenConnect is significant because it sits at the intersection of cryptography libraries, OS tunnel interfaces, corporate authentication flows, and distro packaging. Formula and package updates can affect TLS behavior, SSO compatibility, token handling, platform tunnel drivers, and interoperability with appliance firmware that changes outside the open-source project.

### Timeline

- 2009: Public histories identify the first OpenConnect release era and its original Cisco AnyConnect replacement role.
- 2015: Version 7.05 added preliminary Juniper SSL VPN support.
- 2016: Version 7.07 added the `--protocol` option, formalizing multi-protocol selection.
- 2022: Version 8.20 added F5, Fortinet, and Array protocol work and broadened Windows/tunnel-driver support.
- 2026: Version 9.20 and 9.21 changelog entries show continuing maintenance for Pulse, GlobalProtect, Cisco TLS 1.3 behavior, token handling, TPM auth, and safety fixes.

### Related projects

- OpenConnect is related to Cisco AnyConnect/Secure Client, NetworkManager-openconnect, vpnc-scripts, ocserv, GnuTLS, OpenSSL, Wintun, and the VPN appliances whose protocols it interoperates with.

### Sources

- <https://formulae.brew.sh/formula/openconnect>
- <https://ocserv.openconnect-vpn.net/ocserv.8.html>
- <https://www.infradead.org/openconnect/>
- <https://www.infradead.org/openconnect/changelog.html>
- <https://www.infradead.org/openconnect/manual.html>


## Security Notes

No matching local secret-handling manifest was found for openconnect. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Combined YAML source

View the package source record on GitHub. [combined/openconnect.yml](https://github.com/automic-vault/db/blob/main/combined/openconnect.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
