A console AIM, ICQ, IRC, and Lily CMC client.

  OS Packages  
Release versions are recommended for general use, as they have gone through a rigorous beautification process. Release versions are numbered with no timestamp. naim is distributed in source code from this site. However, naim executables may already be available for your platform. Check the OS Packages page for a list.
Development versions typically include unproven/unstable features and may have bug traps, debugging statements, and other behavior not suitable for general use. Development versions are labelled with a timestamp rather than a unique version number; they are available from
2009-03-01  •  naim released
Displays when users are mobile. A debugging assertion that caused random crashes has been removed.
2007-07-09  •  naim released
/ctcp was broken just prior to the release by a bad memory leak fix (which is now correctly fixed). Away messages can appear in UTF16 encoding as well as profiles, so both are decoded now.
2007-07-07  •  naim released
Simple heuristics for disabling encryption, availability messages, profile and away message retrieval, and a workaround for empty hyperlinks the official AIM client sends.
2006-10-17  •  naim released
Minor adjustment to automatic away message discovery. Quells erroneous Server response was formatted incorrectly, can't find username in info HTML messages.
2006-05-10  •  naim released
Stand by for release details.
2005-12-15  •  naim released
The IRC driver now accepts incoming lines that end in a naked "\n". /delbuddy did not always correctly remove the user from your server-side buddy list. If you had a user with the same friendly name as another user's account name, naim would become unstable when the second user signed on. The status bar now displays typing notifications. Warning levels are now displayed. There is a new /setpriv command to modify your privacy settings. IPv6 support has been modernized and enabled. Friendly names are now stored to and retrieved from your server-side buddy list.
2005-10-02  •  naim 0.11.8 released
AOL discontinued the TOC 1 service that naim versions 0.10.0 through used. Joshua Wise has modernized naim's TOC protocol driver to operate with the newer TOC 2 service, and this release incorporates his changes.
2005-01-25  •  naim released
On some systems, naim's build system was unable to generate a list of special characters to read, which caused naim to interpret the Home key as Ŋ, etc. naim's build system has been changed to work around the issue. No other changes have been made since
2005-01-24  •  naim released
A serious bug in naim's HTML rendering engine has been identified and corrected. Additionally, changes to the packaging have reduced the source tarball size from 529 kB in to 452 kB for naim now completely passes "make distcheck", and distcheck is used to create source tarballs. FireTalk now allows you to send messages to the :RAW target before signing on, to allow passwords to be sent to the server during signon. The IRC driver now handles /names replies from servers that use non-standard status identifiers (such as those who implement "halfop" and other statuses). The UI includes code to suppress duplicate messages and redundant message targets. The embedded Libtool was upgraded to match the stock 1.5.10 release. A new "proto_user_onlineval" chain was added to allow module authors to track buddy online status.
2004-07-22  •  naim released
naim now sets the xterm title whenever you have a message waiting. naim now differentiates between window changes due to chatter and changes due to your being addressed. Tab completion has been modified to support name completion in auditorium windows.
2004-07-09  •  naim released
This release introduces several efficiency changes and a few bug fixes. Most notable bug fix: File transfers on IRC no longer cause a reliable crash. If compiled with GCC, extensions are now used to hide internal symbols from the dynamic linker, allowing GCC to produce more efficient code. The window-content-caching and logfile-playback code has been modified to improve responsiveness and dramatically reduce naim's memory usage.
2004-06-16  •  naim 0.11.7 released
This is a major release, with an accompanying bump in the version number (from 0.11.6 to 0.11.7). Much of the ECS and FireTalk backends have been rewritten to clean up, optimize, and fix bugs in the code. There is also much more internal consistency-assurance code throughout naim, making it easier for future bugs to be discovered and fixed. I would encourage all naim users to upgrade in order to make use of these new routines.
2004-03-24  •  naim released
This is a mix of new features and bug fixes. All users are encouraged to upgrade as soon as possible.
2004-02-11  •  naim released
This is a mix of new features and bug fixes. All users are encouraged to upgrade as soon as possible.
2004-02-01  •  naim released
All individual protocol drivers have been rewritten as permanent modules. Transient (/modloaded) modules can add new protocol drivers dynamically. /sync now preserves group names, and saved group names are restored when naim retrieves your permanent buddy list from the TOC server. New /jumpback command, also available as M-b and F7. Allows the user to do a reverse /jump (to the previous window).
2003-12-04  •  naim released
In certain situations, $-variable expansion could result in an improperly terminated string, causing out-of-bounds memory access. This is thought to only produce screen corruption, but all users are encouraged to upgrade regardless. New $showraw. If non-zero, messages that are not understood by the protocol drivers will be displayed in the :RAW window.
2003-10-29  •  naim released
Several memory leaks have been corrected. A potential buffer underflow in the signon code was fixed. New key-handling code dramatically improves responsiveness for laggy connections and when pasting large blocks of text. Potential use of an uninitialized buffer in the statusbar code was identified, and a work-around was implemented. If two windows have identical presentations, Tab will now work as expected.
2003-10-22  •  naim released
When supplied with an extra-long nickname on sign-on, some IRC servers silently truncate the nickname to fit into their limits. This confused FireTalk. Fixed. Potential buffer underflow in logfile playback identified. Fixed. Potential buffer overflow in spelling correction code identified. This is thought to be responsible for several reports of the recvfrom chain "losing" its hooks, stopping incoming messages from being displayed to the user. Fixed. Small improvements to the HTML renderer.
2003-09-23  •  naim released
This is primarily a maintenance release, with proven features from the 0.12.0 experimental tree backported to the stable tree. However, a number of new features and behavior changes managed to creep in (such as /status and the HTML renderer changes). /names now displays the entire, correct list in all situations, including initial join. Messages that have been rejected by a protocol driver (for example because they are too long) are returned to the sender.
2003-07-24  •  naim 0.11.6 released
Dynamic modules now work in all environments naim supports, including Cygwin/Windows and Mac OS 10. Modules can now be /modunloaded after they are /modloaded. Queued messages are now preserved when you /save. Small improvements have been made to the HTML parser. naim header files are now installed globally to allow building modules separately from naim. Small bugs have been fixed in /away (after reconnect), .naimprofile reading (for multiple connections), and action detection in AIM chat rooms.
2003-06-07  •  naim released
AOL is either in the process of modifying its service, or is experiencing severe, intermittent service outages. The default TOC server is now, which points to those AOL TOC servers that appear to be functional. Once AOL has fixed its servers and/or its DNS, this host will be CNAMEd to
2003-06-07  •  naim released
If only one window was open, the buddy for that window signed off, the window was marked keep-after-signoff, and was cleaned up after $autoclose minutes, the event handler would enter an infinite loop or possibly cause untrackable stack corruption. This has been fixed.
2003-06-04  •  naim released
The "You are sending messages too fast" error received during reconnect is fixed. Buddies in the "User" group are subject to $autoclose. Buddies in any other group will be considered "permanent." Window-logfile mapping has been improved, removing the need for a costly tree search and greatly reducing playback time. Logfile playback has been delayed to reduce startup time. Basic stack support was added to the HTML renderer to allow embedded FONT tags, etc. BGCOLOR support was added to the HTML renderer. A new $winlistchars variable to set the width of the window list window was also added.
2003-04-23  •  naim released
New /filter command to manipulate internal filter tables. New /namebuddy command. If you use /namebuddy, or attempt to /addbuddy someone already in your list, naim will allow you to modify their "real name". Auto-messages (for /away) are only sent if you are actually idle. New distinction between "permanent" buddies, those manually added with /addbuddy or stored in your server profile, and "auto-added" buddies, those added because they contacted you while $autobuddy was set. New $autoclose. If set, naim will /close and /delbuddy non-permanent buddies $autoclose minutes after they sign off. New /resize command to change the length of the scrollback buffers.
2003-03-10  •  naim released
AOL's primary TOC server ( went down at approximately 2003-03-10T1420; this has temporarily been replaced with Discussion destructions were not properly being handled in Lily. IM handling routines were not properly handling buddies with alternate names set (the third argument to /addbuddy), causing away messages to be misdirected. New $autoreconnect. If set, whenever naim is disconnected from a service, it will attempt to reconnect automatically. For services that require a password, you may wish to /set servicename:password "your password" in order to allow naim to reconnect while unattended (for example, /set AIM:password "my pass").
2003-02-22  •  naim released
The AIM/TOC protocol name has been renamed to TOC, since it works for both AIM and ICQ. When a buddy has a realname (the third argument to /addbuddy), that will be used in query windows instead of their screen name. ^R and ^Y scroll back and forward now, for OS X users who have no PgUp/PgDown. "make install" now installs symlinks for nirc, nicq, and nlily that all have different startup behaviours. There is a new $winlistheight to set the percentage of the screen height to use for the window list window. SIGHUP, SIGUSR1, and SIGUSR2 are now caught as pseudo-keys, handled by /bind.
2003-02-07  •  naim released
History scrollback now leaves the cursor at the end of the line, without affecting partial matching. If naim believes you have accidentally pasted something without first entering paste mode, it will automatically adjust itself. A new /tagbuddy command has been added to leave reminder notes to yourself. Persistent scrollback files (~/.naimlog/*) are now flushed periodically, in case naim is abruptly terminated. Various Lily-related UI cleanups have been made to make naim much more familiar to "old school" Lily users.
2003-01-15  •  naim released
AUTOCRYPT key negotiation failed under some circumstances due to improperly terminated strings. Command completion caused unpleasantness when arguments were given to argless commands (such as /quit).
2003-01-14  •  naim released
Time zone information is exchanged during autopeer negotiation. The window list window now uses ASCII line drawing symbols. New $awaylog. If set, all messages received while /away will be mirrored in an :AWAYLOG window. New $autosave. If set (default currently off), naim will /save when the user /quit's. People who are /ignore'd will be ignored in group chats as well. /help system drastically revamped.
2002-12-21  •  naim released
Links now appear somewhat cleaner, and redundant links, such as: <a href="http://something/">http://something/</a> do not appear as links (to de-WinAIM messages). Many autoconf-related cleanups. Minor Lily enhancements to address grossly cross-posted messages.
2002-12-10  •  naim 0.11.5 released
Automatic encryption between naim clients, various UI enhancements (including autohelping Tab completion, clear marking of active versus inactive chats, the ability to control what types of events mark a window as "active," and so forth), and a new framework for automatic client capability negotiation which will be compatible with extensions provided by future releases.
2002-10-27  •  naim released
This version includes significant bugfixes and workarounds in FireTalk, and minor bugfixes related to file I/O, signal handling, and user tracking in naim. Anyone running a version older than is strongly encouraged to upgrade.
2002-10-01  •  naim 0.11.4 released
Earlier today AOL's TOC servers began periodically sending packets with a previously unused frame type. naim does not know how to decipher these packets, but version 0.11.4 was released with code changes to simply ignore unknown frame types.
2002-07-21  •  naim 0.11.3 released
Many usability enhancements have been made based on user feedback: command and buddy tab completion, history searching, full message queueing, and extended IRC support. Users upgrading are encouraged to remove any references to their password from .naimrc.
2002-02-06  •  naim 0.11.2 released
Added /accept command and supporting code to allow file transfer (receive only). Changed some stuff around to work better with the non-blocking FireTalk. Also added $autounaway and documented $autoawaymsg. Buddy pounce added: Whenever you send an IM to a buddy who is offline (or if you are offline), it will be queued and delivered once the buddy becomes available again.
2002-01-25  •  naim released
Added KEY_CODE_YES definitions for systems lacking it. Removed src/conio_keys.h's dependency on /usr/include/ncurses.h. Renamed wprintf() to naim_wprintf().
2002-01-24  •  naim 0.11.1 released
When in paste mode (^P), no HTML entities will be quoted. Status window now slides down and up instead of just appearing. Allowed variable expansion in /away (to allow for /away $ambrb, /away $amfood, etc.). Added /bind command (and rewrote much of conio to support it). You can now [/bind F1 /aim:jump bestfriend] to have F1 always take you to bestfriend's buddy window, instead of the default /help. Added /modload command to load dynamic module extensions to naim.
2001-11-14  •  naim 0.11.0 released
Added many new callbacks and commands to make naim usable as a primary IRC client. Added new commands and restructured the internals of naim to support multiple simultaneous connections. Remapped many keys to maximize ease of navigation through naim. All of these entries are very broad and are meant to entice rather than enlighten. Added /setcol command (and rewrote much of the client to support it). Fixed /jump and re-enabled it. Added proper screen resizing support. Fixed bnewwin() to properly sort the list when new windows are opened.
2001-11-04  •  naim 0.10.4 released
IM window scrollback support, autohiding buddylist to allow IM windows to use the whole screen, input window inserts rather than overwrites, IRC support (use the naim.server directive in .faimrc), unrecognized /-commands are no longer passed to users, and CTCP support for IRC and AIM (using ECT).
2001-10-14  •  naim 0.10.3 released
Changes since 0.10.2 include a new configurable status bar to replace the old buddylist info block, improved input handling (including a bugfix allowing naim to work correctly in screen), a bugfix in FireTalk involving large server messages, and new default colors designed for optimal display in non-standard terminals.
2001-04-04  •  naim 0.10.2 released
This release includes a few minor tweaks and user suggested improvements, some new commands and .faimrc directives, and a few rewrites to compile in more diverse environments.
2000-12-15  •  naim 0.10.1 released
Update to FireTalk Library Version 0.0.2, with massive client rewrites.
2000-12-03  •  naim 0.10.0 released
This is the first release in quite a while, with fixes for all of the things you hated about naim (the ratelimit errors, the "server missed messages from buddy" notices, etc.) by using a new protocol library, and improvements to all of the user interface features for better usability.
1999-10-24  •  naim 0.9.5 released
Updated to a new libfaim and rewrote large portions of the client to take advantage of new features. Once you have been idle for 5 minutes, naim will tell the AIM server you are idle. As soon as you send an IM (not an away IM) you will no longer be marked as idle. Added a status bar type dealy to the bottom of the window list window (just take a look at it, it's hard to describe).
1999-04-08  •  naim 0.9.4 released
src/conio.c has been drastically reorganized/rewritten to allow for ircII-style /command parsing (and preliminary commands have been added). New /set command to manipulate naim's faimconf structure at runtime. Preliminary scripting support.
1999-01-25  •  naim 0.9.3 released
If you neither send nor receive an IM from a buddy, and that buddy logs off, his window will be silently closed. configure will now simply enable logic to disable scrollback if GNU readline can't be found.
1999-01-15  •  naim 0.9.2 released
Now detects presence of libncurses/libcurses and libhistory/libreadline, and auto-configures itself. Upgraded to libfaim 0.0c.
1999-01-15  •  naim 0.9.1 released
Reorganized file layout. Uses GNU automake/autoconf for system-specific configuration. First public beta release.
1998-10-05  •  naim 1998-10-05-2305 released
First public alpha release.