rlwrap
brew install rlwrap
v0.48
GPL-2.0-or-later
Readline wrapper that adds line editing and history support to CLI tools that lack it.
Why you might care
Wraps any command-line tool to enable GNU Readline features like arrow-key editing, history search (Ctrl-R), and custom word completion—essential for making older or minimal REPLs and shells usable. Persists history per-command and supports filter scripts for custom input/output effects.
2.7k
30-day installs · #844
8.0k
90-day · #901
28.1k
365-day · #914
3.1k
★ GitHub stars · updated 27d ago
Runtime dependencies
Build dependencies
Links
- https://github.com/hanslub42/rlwrap
- GitHub: hanslub42/rlwrap
- Brew formula source: Formula/r/rlwrap.rb
Blurb generated by claude-haiku-4-5 on today.
Raw metadata
{
"aliases": [],
"alternatives": [
"rlfe",
"socat",
"GNU Readline"
],
"build_dependencies": [
"autoconf",
"automake"
],
"categories": [
"shell",
"terminal-utility"
],
"caveats": null,
"conflicts_with": [],
"dependencies": [
"libptytty",
"readline"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Readline wrapper: adds readline support to tools that lack it",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:41:08+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "rlwrap",
"github_default_branch": "master",
"github_last_commit_at": "2026-05-24T12:25:07Z",
"github_readme_excerpt": "rlwrap v 0.48 Nov 2025\n\n## WHAT IT IS:\n\n`rlwrap` is a wrapper that uses the [GNU\nReadline](https://tiswww.case.edu/php/chet/readline/rltop.html)\nlibrary to allow the comfortable editing and recalling of keyboard\ninput for other commands.\n\nThere are many other such readline wrappers around, like rlfe and\nsocat, but `rlwrap` can be especially useful for those who need\nuser-defined completion (by way of completion word lists) or a\npersistent history, and people who want to program \u0027special effects\u0027\nusing the filter mechanism.\n\nAs it is often used with older software on obsolete systems, `rlwrap`\nstrives to compile and run on a fairly wide range of not necessarily\nrecent Unix-like systems (FreeBSD, OSX, HP-UX, AIX, Solaris, QNX,\ncygwin, linux and probably quite a few more). This would not have\nbeen possible without [Polarhome](http://polarhome.com)\u0027s now retired\n\u0027dinosaur zoo\u0027 of ageing Unix systems.\n\n\n## WHEN AND HOW TO USE IT:\n\nIf \n\n $ \u003ccommand\u003e \u003cargs\u003e\n\ndisplays the infamous `^[[D` when you press a left arrow key, or if\nyou just want decent input history and completion, try:\n\n $ rlwrap [rlwrap-options] \u003ccommand\u003e [command-args]\n\nYou should not notice any difference compared to directly calling `\u003ccommand\u003e\n\u003cargs\u003e`, except that you now can edit `\u003ccommand\u003e`\u0027s input and recall\nits entire input history using the arrow keys.\n\n\nInput history is remembered accross invocations, separately for\ndifferent `\u003ccommand\u003e`s. `CTRL-R` will search the input history, like\nin `bash`. With the `-r` and `-f` options you can specify the list of\nwords which `rlwrap` will use as possible completions, taking them\nfrom a file (`-f` option) or from `\u003ccommand\u003e`\u0027s past in/output (-r\noption).\n\n`rlwrap` continually monitors `\u003ccommand\u003e`\u0027s terminal settings, so that\nit can do the right thing when it asks for single keypresses or\nfor a password.\n\nCommands that already use Readline, or a similar library, will always\nask for (and get) single keypresses, so that `rlwrap`ping them doesn\u0027t\nhave any noti",
"github_repo": "hanslub42/rlwrap",
"github_stars": 3093,
"github_topics": [],
"homepage": "https://github.com/hanslub42/rlwrap",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 2662,
"installs_365d": 28142,
"installs_90d": 8044,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "GPL-2.0-or-later",
"llm_generated_at": "2026-06-20T23:47:26+00:00",
"llm_model": "claude-haiku-4-5",
"name": "rlwrap",
"oldnames": [],
"one_liner": "Readline wrapper that adds line editing and history support to CLI tools that lack it.",
"optional_dependencies": [],
"rank_30d": 844,
"rank_365d": 914,
"rank_90d": 901,
"raw_hash": "3303fa136511b3b2",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/r/rlwrap.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "0.48",
"versioned_formulae": [],
"why_use_this": "Wraps any command-line tool to enable GNU Readline features like arrow-key editing, history search (Ctrl-R), and custom word completion\u2014essential for making older or minimal REPLs and shells usable. Persists history per-command and supports filter scripts for custom input/output effects."
}