Your text mode chatting application since 1999
IRC built-in. Multi-protocol friendly for module authors.
Shipped-by-default Perl scripting with a wide range of available extensions.
Getting Irssi
Debian
windows
ubuntu
gentoo
fedora
macos
nixos
freebsd
apt install irssi
Release Sources   Latest release version: 1.2.0 – NEWS
ALT
See the included INSTALL file for building instructions. To verify the signatures:
gpg --keyserver pgp.mit.edu --recv-keys '7EE6 5E30 82A5 FB06 AC7C 368D 00CC B587 DDBE F0E1'
You shouldn’t really trust this key without verifying its fingerprint. See it with gpg --fingerprint staff@irssi.org and ask someone if it matches (eg. on #irssi).
gpg --verify irssi-1.2.0.tar.xz.asc
(This key is different from the one used to sign binaries of versions before 0.8.10. More gpg help can be found from GPG manual)
What's new
Irssi 1.2.0 OTR Migration Path
Irssi 1.2.0 Released
Introducing PyIRCFuzz
Security Irssi 1.1.2 Released
Modules
Irssi makes it easy to write protocol modules in C. You can enjoy the chatting power of Irssi in combination with IRC, ICB or SILC. Find more modules on the Modules page.
Themes
Irssi is completely themeable. Every single message can be themed. True colours can be used in your themes. Check the theme gallery for some impressions.
Scripting
Irssi features a sane and minimal scripting API together with a coherent signal handling mechanism.
There are many existing scripts for Irssi, see Finding scripts for some good resources.
sub update_keymap {
                %nummap = %wnmap = %specialmap = %custom_key_map = ();
                Irssi::signal_remove('command bind' => 'watch_keymap');
                Irssi::signal_add_first( 'print text' => 'get_keymap');
                Irssi::command('bind');
                Irssi::signal_remove( 'print text' => 'get_keymap');
                for (keys %custom_key_map) {
                if (exists $custom_key_map{$_} &&
                    $custom_key_map{$_} =~ s/ \01(\w+)\01/exists $custom_key_map{$1} ? $custom_key_map{$1} : "\02"/ge) {
                    if ($custom_key_map{$_} =~ / \02/) {
                           delete $custom_key_map{$_};
                    }
                    else {
                           redo;
                    }
                  }
            }
Support
If your irssi crashes, it’s always a bug.
Please read “How to submit a good bug report?” how-to and send one. For other types of bugs,
it would still be nice to hear of them, but chances are that it’s already known. Send all bug reports
to Irssi’s bug reporting system, but check if it has already been reported first.
You can also contact the Irssi developers on Freenode.