A cross-platform desktop IRC client for the modern era complete with scripting and plugins
See the code
A modern desktop IRC client with deep IRCv3 support, persistent history, and an open plugin system.
Download Cascade · Documentation · Join #cascade-irc

Cascade keeps the parts of IRC that still work: open networks, durable communities, and control over your client. It adds the desktop features you expect today, including searchable history, replies, typing indicators, link previews, pinned messages, native notifications, and themes.
Cascade runs on macOS, Windows, and Linux. The interface is built with React and Tailwind CSS inside a lightweight Wails desktop shell; the IRC, storage, scripting, and plugin layers are written in Go.
Prebuilt packages are available from the Releases page:
amd64 and arm64.deb, and .rpm packages for amd64 and arm64The current builds are not code-signed, so your operating system may ask you to confirm the first launch. See Install & first run for the exact steps on each platform.
You will need Go 1.25+, Node.js 20, Task, and the Wails v3 CLI.
git clone https://github.com/matt0x6F/irc-client.git
cd irc-client
task setup
task dev
Run task build for a production build on your current platform. Run task check to
format, lint, test, and type-check the project.
| Command | Purpose |
|---|---|
task dev | Start Cascade with hot reload |
task build | Build for the current platform |
task package | Create a distributable app or installer |
task check | Run formatting, linting, tests, and type checks |
task go-test | Run the Go test suite |
task frontend-type-check | Type-check the React frontend |
task dmg-universal | Build a universal macOS DMG |
task --list | Show every available task |
Cascade offers two ways to add behavior:
The repository includes example plugins in plugins/ for nickname coloring
and completion.
React + TypeScript UI
│ Wails bindings
▼
Go application ── IRC core ── IRC networks
├──────── SQLite history and search
├──────── Go scripting runtime
└──────── JSON-RPC plugin processes
Start with the technical documentation for the codebase structure and development conventions. The IRCv3 support matrix documents each supported capability and where it appears in the client.
Questions, bug reports, and contributions are welcome. Open an
issue, or join
#cascade-irc on Libera.Chat
(ircs://irc.libera.chat:6697/#cascade-irc).
Cascade Chat is available under the BSD 3-Clause License.
Latest release
Releases this year
A cross-platform desktop IRC client for the modern era complete with scripting and plugins
See the code
A modern desktop IRC client with deep IRCv3 support, persistent history, and an open plugin system.
Download Cascade · Documentation · Join #cascade-irc

Cascade keeps the parts of IRC that still work: open networks, durable communities, and control over your client. It adds the desktop features you expect today, including searchable history, replies, typing indicators, link previews, pinned messages, native notifications, and themes.
Cascade runs on macOS, Windows, and Linux. The interface is built with React and Tailwind CSS inside a lightweight Wails desktop shell; the IRC, storage, scripting, and plugin layers are written in Go.
Prebuilt packages are available from the Releases page:
amd64 and arm64.deb, and .rpm packages for amd64 and arm64The current builds are not code-signed, so your operating system may ask you to confirm the first launch. See Install & first run for the exact steps on each platform.
You will need Go 1.25+, Node.js 20, Task, and the Wails v3 CLI.
git clone https://github.com/matt0x6F/irc-client.git
cd irc-client
task setup
task dev
Run task build for a production build on your current platform. Run task check to
format, lint, test, and type-check the project.
| Command | Purpose |
|---|---|
task dev | Start Cascade with hot reload |
task build | Build for the current platform |
task package | Create a distributable app or installer |
task check | Run formatting, linting, tests, and type checks |
task go-test | Run the Go test suite |
task frontend-type-check | Type-check the React frontend |
task dmg-universal | Build a universal macOS DMG |
task --list | Show every available task |
Cascade offers two ways to add behavior:
The repository includes example plugins in plugins/ for nickname coloring
and completion.
React + TypeScript UI
│ Wails bindings
▼
Go application ── IRC core ── IRC networks
├──────── SQLite history and search
├──────── Go scripting runtime
└──────── JSON-RPC plugin processes
Start with the technical documentation for the codebase structure and development conventions. The IRCv3 support matrix documents each supported capability and where it appears in the client.
Questions, bug reports, and contributions are welcome. Open an
issue, or join
#cascade-irc on Libera.Chat
(ircs://irc.libera.chat:6697/#cascade-irc).
Cascade Chat is available under the BSD 3-Clause License.
Latest release
Releases this year