Mouse scroll stopped working with Less in Terminal

mousescrollingterminal

For a few years now, Terminal.app in MacOS has supported mouse-scrolling with the less program, but today I noticed that it is no longer accepting mouse scrolls, and only works with the Up and Down keys now.


What's not working:

less and all other programs that use it are not accepting mouse scrolls. Instead, it scrolls the terminal window. These 'other' programs are:

  • man
  • git log
  • diff

Previously, less would also clear the screen when closing it (q), but now the text remains on the screen.


What I've tried:

  • Tested other programs: vim for example, still accepts mouse scrolls
  • Used other Terminal emulators: less is not accepting mouse scrolls on Hyper either
  • Tested on another machine over SSH: Connected to one of my VPSes, and used less there within the Terminal app. Mouse-scrolls are working with it.
  • Used a newer version of less: Installed the latest version (530) of less using Homebrew, but it's not working with mouse scrolls either.

So I'm not sure what's wrong. Would greatly appreciate any help to make less accept mouse scrolls again.

Best Answer

After going through a few other answers, I've realized there is a $LESS environment variable that contains default flags.

It's empty on my other Mac and Ubuntu system, but for some reason it's equal to -FRX on this machine, and that's causing these issues:

  • -X caused it to NOT accept mouse scrolls
  • -F caused it to automatically exit for small files

Which is weird, since I never changed it, so it must've been modified by some other program. Anyways, manually setting it in my .rc files fixed the issue:

export LESS="-R"

Sources: