The GNU Readline Library

 [image of the Head of a GNU]

Table of Contents


The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. The Readline library includes additional functions to maintain a list of previously-entered command lines, to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.

The history facilites are also placed into a separate library, the History library, as part of the build process. The History library may be used without Readline in applications which desire its capabilities.

Readline is free software, distributed under the terms of the GNU General Public License, version 3. This means that if you want to use Readline in a program that you release or distribute to anyone, the program must be free software and have a GPL-compatible license. If you would like advice on making your license GPL-compatible, contact

Current Status

The current version of readline is readline-6.3. (GPG signature).

A downloadable tar file of the current version with all official patches applied is available from savannah.

See the README file for more information.

See the CHANGES file for a list of changes and new features.


The current version of readline may be retrieved from This distribution file includes formatted copies of the readline documentation.

These files are signed with my GPG key.

Readline is always available from the master GNU ftp site and its many mirrors.

Any patches for the current version are available here.

A downloadable tar file of the current version with all official patches applied is available from savannah.

Previous Readline versions are available at

Readline is shipped as a standard library on most GNU/Linux and FreeBSD systems. It's also part of the NetBSD packages collection.

The OpenPKG project makes source RPMs of readline-6.2 available for a variety of Unix and Linux systems as a base part of the current release.

MacOS X users may obtain MacOS X packages for readline-6.2 from Fink, MacPorts, or Homebrew.

Solaris users can get precompiled versions of readline-6.2 from the Sunfreeware site. Sun ships readline-4.2 as a supported part of the Solaris 9 and the Solaris 10 companion CDs. The version of Solaris 11 distributed as OpenSolaris includes readline-6.1 as of 20 October 2011. Readline-6.2 packages for Solaris are available from OpenCSW; still makes readline-6.1 available.

AIX users can get sources and precompiled versions of readline-6.2 (as well as older readline releases) for various versions of AIX from IBM makes readline-4.3 and readline-6.1 available for AIX 5L, AIX 6.1, and AIX 7.1 as part of the AIX toolbox for [GNU/]Linux applications. They use RPM format; you can get RPM for AIX from there, too.

SGI users can get an installable version of readline-4.3 from the SGI Freeware page. HP-UX users can get readline-6.2 packages and source code from the Software Porting and Archive Center for HP-UX. It's even available on Minix. If you are running Windows, I recommend that you use Cygwin, who currently ship readline-6.1 and readline-6.2, or MinGW, which currently has packages for readline-5.2.


The documentation for the Readline and History libraries appears in the `doc' subdirectory. There are three texinfo files and two Unix-style manual pages describing the facilities available in the Readline and History libraries. The texinfo files include both user and programmer's manuals. The current manuals are:

Reporting Bugs

Bug reports for Readline should be sent to, When reporting a bug, please include the following information:

If you would like to contact the Readline maintainer directly, send mail to the mailing list. You may subscribe to the mailing list at Archives of bug-readline dating from November, 2006 are available from

Since Readline is developed along with bash, the mailing list (mirrored to the Usenet newsgroup gnu.bash.bug) often contains Readline bug reports and fixes.

Archives of bug-bash dating from December, 1999 are available from Google Groups has an archive of gnu.bash.bug.

Other Resources

Some files from the current distribution may be helpful.

rl.c is an example program that uses Readline to read a line of input from a user and echo it to the standard output, suitable for use by shell scripts.


I am the current Readline maintainer. Please send additions and corrections to this page to


There are several user-contributed translations of (older versions of) this page. I welcome others.

Chet Ramey <>
Last updated: Sun Feb 28 17:17:03 EST 2016