こういう現象。
❯ ruby -v ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin21] ❯ irb -v irb 1.4.1 (2021-12-25) ❯ echo n=1 | irb | cat Switch to inspect mode. n=1 /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb/input-method.rb:43:in `winsize': Inappropriate ioctl for device (Errno::ENOTTY) from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb/input-method.rb:43:in `winsize' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb.rb:819:in `output_value' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb.rb:582:in `block (2 levels) in eval_input' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb.rb:770:in `signal_status' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb.rb:558:in `block in eval_input' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb/ruby-lex.rb:268:in `block (2 levels) in each_top_level_statement' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb/ruby-lex.rb:250:in `loop' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb/ruby-lex.rb:250:in `block in each_top_level_statement' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb/ruby-lex.rb:249:in `catch' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb/ruby-lex.rb:249:in `each_top_level_statement' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb.rb:557:in `eval_input' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb.rb:491:in `block in run' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb.rb:490:in `catch' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb.rb:490:in `run' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/3.1.0/irb.rb:419:in `start' from /Users/kyanny/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/irb-1.4.1/exe/irb:11:in `<top (required)>' from /Users/kyanny/.rbenv/versions/3.1.2/bin/irb:25:in `load' from /Users/kyanny/.rbenv/versions/3.1.2/bin/irb:25:in `<main>' Maybe IRB bug!
こういうパッチがある。
Ruby 3.2.0 とかで治るのだと思うが、それまでは↓のようなワークアラウンドで回避できる。