Catgirl: a new IRC client

I’ve been using IRC for the first time in over 20 years thanks to an article by OpenBSD developer Solène Rapenne. It’s called catgirl, and if you think that name is somehow problematic you should save your self-righteous indignation for the bitchX developers—not that they’re likely to give a damn.

catgirl is a simpler client than older, more popular clients like irsii, weechat, or hexchat. It runs in your terminal, and if you want to use multiple networks you need to run one instance of catgirl per network. You can create config files for your networks in ~/.config/catgirl/. As an example, here’s the one I use for

#! ~/.config/catgirl/freenode

host =
join = #openbsd,##writing,##metal,#freenode
nick = starbreaker
pass = ********************
timestamp = %R

When I want to log in, I just run catgirl freenode from a shell prompt, and after a couple of seconds of handshaking I’m lurking on four channels. If I also wanted to lurk on EFnet or Reddit’s snoonet, I’d create additional files and run them through catgirl separately. I might also use tmux to keep everything in a single terminal.

It’s not that hard to use, but I had a little trouble setting up auto connection for multiple channels until linetrace on Freenode pointed out that I only need commas, not commas and spaces. That’s what I get for not reading the manual with sufficient care.

catgirl is available for GNU/Linux, BSD, and macOS, but unless it’s packaged for your system you’ll have to build it yourself. The package won’t be available in OpenBSD until the 6.9 release unless you’re using the -current branch. However, it only takes a few commands to build as long as you already have LibreTLS installed (additional details on the about page):

make all
sudo make install

While I could use some of the other IRC clients I’ve mentioned, I’m glad catgirl exists. It’s good enough for my purposes because it doesn’t do too much and isn’t too complex. It’s just right as I slowly retreat into the dark forest.