I recently encountered an error where when I do a less in cygwin it goes WARNING: terminal is not fully functional Quite some people seem to have encountered this problem before and there are some discussion threads on the Web, but I couldn’t find a page that pointed out the direct solution after some googling. Here’s what I did to fix the problem: It turns out that the environment variable TERM is somehow set to dumb instead of the normal cygwin. Apparently the dumb terminal is not as fully functional as cygwin. Here’s what I did to confirm the problem:
1 2 | $ echo $TERM dumb |
I got less working properly again by doing:
1 2 | $ export TERM=cygwin $ less |
It turned out that somehow the $TERM environment variable got set to dumb. To fix that, simply run sysdm.cpl from a Windows command prompt, and delete the environment variable TERM. cygwin will then default TERM to cygwin

