Comparison with Pry

👋 IRB is on a mission to match feature parity with Pry. This document is here to help us track the similarities and differences between the two.

Feel free to chip in and update this table - we appreciate your help!

Feature Pry IRB Note
Supported Rubies ‘>= 2.0` ‘>= 2.7`
Source code browsing ‘show-source` ‘show_source` IRB’s ‘show_source` can’t display C source. See [#664](github.com/ruby/irb/issues/664)
Document browsing ‘ri` ‘show_doc`
Live help system ‘help` or `command_name –help` ‘help` IRB doesn’t support detailed descriptions for individual commands yet
Open methods in editors ‘edit` ‘edit`
Syntax highlighting Yes Yes
Command shell integration Yes No Currently, there’s no plan to support such features in IRB
Navigation - ‘cd object` to enter `object` <br/> - `cd ..` to leave the current object <br/> - `nesting` to list nesting levels - ‘pushws object` <br/> - `popws` <br/> - `workspaces` <br /> - `cd object`/`cd ..` (since [1.14.0](github.com/ruby/irb/releases/tag/v1.14.0)) We plan to refine IRB’s commands in the future
Runtime invocation ‘binding.pry` ‘binding.irb`
Command system Yes No Planned in #513 and #588
Input history [Comprehensive support](github.com/pry/pry/wiki/History) Supports retrieving previous input and the ‘history` command The history command doesn’t support as many flags yet, but contributions are welcome.
Pager support Command output and return value Command output and return value
Debugger integration With ‘byebug` through [pry-byebug](github.com/deivid-rodriguez/pry-byebug) gem Supports [‘irb:rdbg`](github.com/ruby/irb#debugging-with-irb) sessions
Rails console Through [‘pry-rails`](github.com/pry/pry-rails) gem Rails’ default Rails console with IRB doesn’t have commands like ‘show-routes` or `show-models`