ircbits.com

Docs / WeeChat setup guide: the terminal IRC client done right

WeeChat setup guide: the terminal IRC client done right

Updated June 4, 2026

WeeChat is the terminal client people graduate to: fast, endlessly configurable, scriptable in several languages, and modern enough in protocol support that — run on a server inside tmux — it can be your bouncer too.

1. Install and add a network

Every distribution packages it (apt install weechat); macOS via Homebrew. Then, inside WeeChat, everything is /commands:

/server add libera irc.libera.chat/6697 -tls
/set irc.server.libera.autoconnect on
/set irc.server.libera.nicks "yournick,yournick_"

Recent WeeChat versions ship with TLS verification on by default — leave it that way.

2. SASL

With a registered account:

/set irc.server.libera.sasl_username "youraccount"
/set irc.server.libera.sasl_password "yourpassword"
/save
/connect libera

(For the security-minded: /secure set encrypts credentials, then reference them as ${sec.data.libera_password} — the manual's recommended pattern.)

3. Channels and layout

/join #channel
/set irc.server.libera.autojoin "#chan1,#chan2"

Essential navigation: Alt+↑/↓ or Alt+number switches buffers, PgUp scrolls history, Tab completes nicks, /buffer close closes. The default interface already includes the buffer list (buflist) and nick list; almost everything visual is a /set away — /fset buflist style commands open the interactive config browser, which is the sane way to explore WeeChat's thousands of options.

4. Scripts

The script manager is built in:

/script search notify
/script install go.py

go.py (fuzzy buffer switching) is the universally recommended first install. Scripts exist in Python, Perl, Lua and more — spell checking, highlight notifications to your desktop, URL handling, all a /script install away.

5. The relay trick

WeeChat's relay protocol lets remote interfaces attach to your running instance — the lightweight web/mobile frontends in the WeeChat ecosystem connect this way. Run WeeChat in tmux on a VPS, enable a relay with TLS and a strong password, and you have persistent IRC with remote access and no separate bouncer:

/relay add tls.weechat 9001
/set relay.network.password "${sec.data.relay}"

(If you prefer real IRCv3 chathistory semantics for other clients, soju remains the dedicated tool — but for a one-person setup, WeeChat-in-tmux is hard to beat.)

Learning curve, honestly

Day one feels alien; day seven feels efficient; day thirty you resent every other chat interface. Keep the commands cheat sheet nearby and let /help and /fset teach you the rest.