unsubbed.co

Weechat

Weechat lets you run fast, light and extensible chat client entirely on your own server.

A terminal-based chat client built for people who live in the command line, honestly reviewed. If you expect a GUI, stop here.

TL;DR

  • What it is: A free, GPL-3.0-licensed terminal IRC client that has been continuously developed since 2003 — fast, scriptable in 8 languages, and accessible remotely from a browser or phone via its relay protocol [README][website].
  • Who it’s for: Power users and sysadmins who work in the terminal, IRC regulars who want their client running 24/7 on a VPS, and developers who want an extensible chat environment they can script to do almost anything [1][4].
  • Cost savings: IRCCloud’s personal plan runs $5/month; team plans are $17.50/user/month. WeeChat runs on a $3–6/month VPS with zero licensing cost [README].
  • Key strength: Probably the most extensible terminal IRC client alive. Eight scripting languages, a relay API, remote interfaces, and an active script repository — all from a project that has shipped regular releases for over two decades [4][README].
  • Key weakness: This is a terminal application with a steep learning curve. There is no GUI. If you don’t know what IRC is, this is almost certainly not the tool you’re looking for [2][5].

What is WeeChat

WeeChat — “Wee Enhanced Environment for Chat” — is a terminal-based IRC client. That sentence contains everything you need to know to decide if it’s for you. It runs in your terminal, it speaks IRC by default, and it looks like a text editor from 1995 if you don’t spend time configuring it. It is also, once configured, one of the most capable chat environments that exists for a certain kind of user [README][4].

The project was started in 2003 by Sébastien Helleu and has been under continuous active development ever since. As of this review, version 4.8.2 shipped on March 6, 2026, and the release calendar through 2027 is already published on the website [website]. That kind of cadence from an open-source project two decades old is genuinely rare.

The architecture is modular: a lightweight core written in C with optional plugins that can be loaded and unloaded at runtime. Almost everything is a plugin — the IRC protocol itself, the relay interface, the script manager, the logger. The core is designed to stay as light as possible [README]. The IRC plugin is compliant with RFCs 1459, 2810, 2811, 2812, 2813, and 7194 — full standards compliance, not a shortcuts implementation [README][4].

What lifts WeeChat above a basic IRC client is the relay feature: a built-in protocol that lets you connect to your running WeeChat instance from a web browser, Android app, Emacs, or another WeeChat installation. You keep WeeChat running on a VPS, connect from wherever you are. This is what IRCCloud sells as a service — WeeChat gives you the infrastructure to do it yourself [1][website].

The project sits at 3,280 GitHub stars under a GPL-3.0 license. It is entirely free software with no commercial tier, no SaaS version, and no company selling support contracts [README].


Why people choose it

The comparison field for terminal IRC clients is narrow: irssi is the other major option, mIRC remains popular on Windows, and HexChat handles the GUI market for IRC purists. WeeChat wins its niche on three things.

Extensibility without limits. Eight scripting languages — Python, Perl, Ruby, Lua, Tcl, Scheme, JavaScript, and PHP — and a C plugin API. The website hosts a curated script repository, and the feature list from LinuxLinks [4] runs to several paragraphs: custom buffers, nicklists, bars and bar items, hooks for commands, timers, files and sockets, modifiers, and completions. When reviewers compare WeeChat to irssi — the other major terminal IRC client — WeeChat’s scripting breadth is frequently cited as the differentiator [3].

The relay feature. This is WeeChat’s practical killer feature for anyone running IRC seriously. You deploy WeeChat on a VPS, enable the relay plugin, and your IRC client is always connected. Step away from the terminal, pull out your phone, connect through a web interface or the weechat-android app. IRCCloud charges monthly to give you this convenience; WeeChat gives you the infrastructure to build it yourself [1][website].

Active maintenance. Twenty-three years of continuous development with a scheduled release calendar through 2027. The project isn’t in maintenance mode — version 4.8.0 shipped November 30, 2025, and 4.9.0 is already scheduled for March 29, 2026 [website]. For a terminal chat client used by people who care deeply about reliability, this matters.

Versus irssi. This is the fight that actually matters in the terminal IRC space. Both are terminal-based, both are extensible, both are free. WeeChat’s mouse support, 256 colors, horizontal and vertical window splitting, and script manager give it a richer default experience. Irssi is older and has a larger existing Perl script library; WeeChat supports eight languages. For new installs in 2026, WeeChat is the more actively maintained choice [3][4].

Versus HexChat. HexChat has a GUI (GTK-based), which makes it genuinely approachable for users not comfortable in the terminal. If you want IRC with a GUI, HexChat is the better answer. If you’re already in the terminal all day, WeeChat’s keyboard-only workflow is faster [3].

Versus IRCCloud. IRCCloud is the managed version of “always-connected IRC.” You pay monthly, they handle the infrastructure. WeeChat’s relay feature is the self-hosted answer to this. The trade-off is setup complexity versus recurring cost — a pattern familiar to anyone self-hosting anything [1].


Features

Based on the README and official documentation:

Core client:

  • Terminal-based with full keyboard navigation, mouse support, and cursor mode for free movement on screen [README][4]
  • 256 colors with per-nick color customization, including color for away nicks [4][README]
  • Horizontal and vertical buffer splitting [README][4]
  • Smart filtering: hide join/part/quit noise when a nick hasn’t been active recently [README][4]
  • Incremental text search in buffers [4][README]
  • Hotlist in status bar showing channel activity [4]
  • Aspell/Enchant spell checking [4]
  • FIFO pipe for remote control from scripts [4][README]
  • Upgrade without quitting — reload core without disconnecting from IRC [README]

IRC plugin:

  • Multi-server connections with no limit [4]
  • IPv6, SSL/TLS, proxy support [4][README]
  • SASL authentication [README]
  • Nicklist with customizable colors [4]
  • DCC file transfer and DCC chat [4]
  • Anti-flood controls, lag indicator [4]
  • Custom CTCP replies, command redirection [4]
  • IRC proxy mode [4]

Extensibility:

  • Scripts in Python, Perl, Ruby, Lua, Tcl, Scheme, JavaScript, and PHP [README]
  • C plugin API with full access to buffers, nicklists, bars, hooks [4]
  • Built-in script manager (weeget) [4]
  • Hot-reload scripts without restarting [README]
  • Custom commands, aliases, timers, file/socket hooks [4]

Remote interfaces:

  • Relay plugin: WeeChat’s own relay protocol for connecting remote clients [website][1]
  • Browser-based interface [website]
  • weechat-android for mobile [1][website]
  • QWeeChat (Qt desktop client) [website]
  • Emacs integration [website]

Platform support:

  • GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS [README]
  • Windows via WSL (Ubuntu) or Cygwin [README][1]
  • Docker container available (official image on Docker Hub) [1]

Pricing: SaaS vs self-hosted math

WeeChat has no paid tier. It is free software, full stop [README].

The pricing comparison worth making is against the services WeeChat replaces:

IRCCloud:

  • Personal: ~$5/month for persistent connection and history
  • Teams: ~$17.50/user/month
  • What you’re paying for: always-on connection, message history, mobile apps, web interface

Slack (if IRC is your team communication method and you’ve landed on it as an alternative):

  • Pro: $7.25/user/month billed annually
  • Business+: $12.50/user/month

WeeChat self-hosted:

  • Software license: $0 (GPL-3.0) [README]
  • VPS to run it: $3–6/month on Hetzner, Contabo, or DigitalOcean (1 vCPU, 1–2GB RAM handles a WeeChat install with room to spare)
  • Storage for logs: whatever disk comes with your VPS
  • Your time to configure it

Running the math for a solo IRC user: IRCCloud Personal at $5/month = $60/year. WeeChat on a $4/month Hetzner VPS = $48/year — and that VPS likely runs other services. If WeeChat is one of several things on the server, the IRC portion costs almost nothing. For a team of five on IRCCloud Teams: 5 × $17.50 × 12 = $1,050/year. Self-hosted WeeChat on a shared VPS: $48–72/year plus setup time.

The math is obvious. The blocker is not cost — it’s the terminal.


Deployment reality check

The personal blog post from jessemcdowell.ca [1] provides the most honest deployment account available: running WeeChat in a Podman container on Windows 11, with the relay port exposed to connect weechat-android remotely. The author chose Podman over direct WSL installation for specific reasons: cleaner port exposure, automatic updates via --pull newer, and guaranteed clean state on each run [1].

That’s the practical story. WeeChat is a terminal application. Deploying it for always-on use means:

What you need:

  • A Linux VPS (1GB RAM is fine; WeeChat’s core is genuinely light [4])
  • SSH access and comfort with a terminal
  • Basic knowledge of tmux or screen to keep WeeChat running after you disconnect
  • Or Docker/Podman if you prefer containers [1]
  • Domain or IP + relay port configuration if you want mobile access

What can go sideways:

  • The relay configuration is not zero-effort. You configure the relay plugin, set a password, expose the port, then connect your Android app or browser interface to it. It works — but “connect from your phone” involves a non-trivial setup sequence [1][website].
  • WeeChat’s configuration is file-based and extensive. The settings surface is large: ~/.config/weechat/weechat.conf can get unwieldy. There’s an interactive settings plugin (iset.pl), but new users should expect to spend time reading documentation [4][2].
  • The learning curve is real. The appmus.com comparison [2][5] lists it explicitly among WeeChat’s limitations: “Steep learning curve for users new to command-line interfaces. Initial setup and configuration can be complex. Lacks a graphical user interface (GUI) by default.” These are accurate [2][5].
  • Windows support via WSL or Cygwin works, but is not first-class. The most reliable Windows path in 2024 appears to be a Docker/Podman container, as documented in [1].

Realistic time estimates:

  • Installing on a Linux VPS and connecting to an IRC server: 15–30 minutes for a Linux-comfortable user
  • Configuring the relay for remote access: 1–2 additional hours including mobile client setup
  • Getting the configuration to a comfortable daily-driver state: several evenings of reading the user guide

For non-technical users, the honest answer is: this is not the tool for you without a technical person helping you set it up.


Pros and cons

Pros

  • Completely free. GPL-3.0, no commercial tier, no “open core” bait-and-switch. Run as many connections as you want on hardware you control [README].
  • 23 years of active development. Scheduled releases through 2027, regular minor versions throughout the year [website]. Not many open-source terminal clients can say this.
  • Eight scripting languages. The extensibility ceiling is effectively unlimited. If a language has bindings, you can write WeeChat scripts in it [README][4]. The community script repository covers everything from buffer management to games [4].
  • Relay feature replaces IRCCloud. The built-in relay protocol lets you access your always-on WeeChat from browsers, Android, Emacs, or Qt clients — the core value proposition of paid IRC persistence services [1][website].
  • Genuinely light. The core is written in C and designed to be fast. A VPS that would struggle to run Slack’s Electron client hosts WeeChat without breaking a sweat [4][README].
  • Full IRC standards compliance. RFCs 1459, 2810, 2811, 2812, 2813, 7194 — complete, not cherry-picked [README][4].
  • Mouse support and 256 colors. Terminal applications don’t have to mean 1980s aesthetics. Horizontal and vertical splits, nick colors, smart filtering — the UI is rich by terminal standards [README][4].

Cons

  • Terminal only. There is no GUI. This is not a limitation of the software — it is the software’s design intent. If you want a GUI IRC client, use HexChat [2][5][3].
  • Steep learning curve. Multiple comparison sources [2][5] flag this explicitly. WeeChat has an enormous configuration surface. Getting it to a comfortable state takes time and tolerance for reading documentation.
  • IRC-centric. Despite “multi-protocol” mentions, IRC is the primary protocol. Other protocol support (XMPP, Matrix) comes via third-party plugins of varying quality and maintenance status. If you want a unified multi-protocol client, Pidgin or Bitlbee are better fits [3].
  • Configuration management is manual. Changes happen in config files or via in-client commands. There’s no settings UI (other than the iset.pl plugin). Backing up configuration is a manual cp or rsync operation [4].
  • Relay setup friction. The feature that makes WeeChat a serious always-on IRC client requires non-trivial configuration. New users should expect to consult the documentation several times before the relay is working reliably [1].
  • Not a Slack replacement. WeeChat connects to IRC networks. It is not a team chat platform with file sharing, threaded conversations, video calls, or workflow integrations. Framing it that way would be dishonest.
  • Small GitHub star count relative to mindshare. 3,280 stars on GitHub doesn’t reflect WeeChat’s actual adoption — it predates GitHub significantly — but it does mean the GitHub signals (issues, contributor count) are a weaker proxy for community health than usual [README].

Who should use this / who shouldn’t

Use WeeChat if:

  • You’re already on IRC and your current client (irssi, HexChat, mIRC) isn’t keeping up with what you need. WeeChat’s scripting breadth and relay feature make it the most capable terminal IRC client available.
  • You’re paying IRCCloud $5/month for persistent IRC and want to own your own infrastructure. A $4 VPS and an afternoon of setup replaces that bill permanently [1].
  • You live in the terminal and want a chat client that doesn’t pull you out of that environment.
  • You want to automate IRC interactions via scripts — bots, notifiers, integrations — and need a scriptable runtime that stays online.
  • You’re comfortable with Linux administration at a basic level.

Skip it (use HexChat instead) if:

  • You want IRC with a GUI. HexChat is the right answer and it’s also free [3].

Skip it (use irssi instead) if:

  • You’re already deep in the Perl irssi script ecosystem and there’s no specific WeeChat feature pulling you across. Switching costs are real.

Skip it (use IRCCloud instead) if:

  • You don’t have a VPS and don’t want one. IRCCloud’s $5/month personal plan buys managed persistence without setup overhead.

Skip it entirely (use Slack, Mattermost, or Matrix) if:

  • You need team communication with threads, file sharing, and integrations. IRC is not that, and WeeChat is not a way to make IRC into that.
  • You have non-technical teammates. Asking them to IRC is a problem; WeeChat specifically is a non-starter.

Alternatives worth considering

  • irssi — The other major terminal IRC client. Older Perl script ecosystem, similar target user. Less actively developed in recent years, but extremely stable [3].
  • HexChat — GUI IRC client based on XChat. Cross-platform, free, has a plugin system. The right choice if you want IRC without the terminal [3].
  • mIRC — Windows classic. Powerful scripting, but shareware (not free), and the UI shows its age [3].
  • Pidgin — Multi-protocol GUI client supporting IRC, XMPP, and others. Better if you need to aggregate multiple chat networks [3].
  • IRCCloud — Managed persistent IRC. Pay monthly, skip the VPS administration. Fair trade for non-technical users [1].
  • The Lounge / Shout — Self-hosted web-based IRC client. If you want the relay convenience (browser access, persistent connection) without WeeChat’s terminal interface, The Lounge is a cleaner self-hosted answer [2].
  • Matrix/Element — If you’re evaluating IRC alternatives rather than IRC clients: Matrix is the modern decentralized chat protocol with bridges to IRC networks. Steeper self-hosting infrastructure, but a genuinely different product aimed at the same “own your chat” goal.
  • Bitlbee — IRC-to-other-protocols gateway. Run WeeChat + Bitlbee and use your IRC client to talk to XMPP, Slack, Twitter, and other networks through a single interface.

Bottom line

WeeChat is exactly what it says it is: a fast, light, extensible chat client for people who live in the terminal and use IRC. It is not trying to replace Slack, it is not trying to onboard non-technical users, and it is not attempting to be more than a very good terminal application. For the specific user it’s built for — IRC regulars who want scriptability, always-on persistence via the relay feature, and a client that will outlast most software they’ll ever use — it is genuinely excellent. For anyone else, it is the wrong tool, and the review sources are honest about that. The only decision is: VPS with WeeChat relay, or pay IRCCloud monthly for the same persistent-IRC experience. If you’re already self-hosting other services, adding WeeChat to the stack costs almost nothing. If you’re not, factor in the setup time honestly.


Sources

  1. Jesse McDowell“Using WeeChat and weechat-android on Windows 11” (Sep 2024). https://jessemcdowell.ca/2024/09/Using-WeeChat-on-Windows-11/
  2. AppMus“Shout vs WeeChat Comparison (2026)”. https://appmus.com/vs/shout-vs-weechat
  3. AppMus“15 Best Alternatives to WeeChat (2026)”. https://appmus.com/alternatives-to/weechat
  4. LinuxLinks“WeeChat - extensible chat client”. https://www.linuxlinks.com/WeeChat/
  5. AppMus“WeeChat vs Colloquy Comparison (2026)”. https://appmus.com/vs/weechat-vs-colloquy

Primary sources:

Features

Integrations & APIs

  • Plugin / Extension System
  • REST API