Is there a way to make eshell behave better? By default printenv TERM returns dumb. For example brew often complains about the terminal type and causes eshell to "jiggle" while the progress bar is showing.

This doesn't happen in term. I suspect this is because TERM=eterm-color.

I know I could just add brew to eshell-visual-commands, but are there any ways of making eterm-color work in eshell.

Here's the video of brew behaving weirdly. Unfortunately I couldn't reproduce the error mentioned: https://www.youtube.com/watch?v=XFhM_ToLuaQ

  • 6
    What specifically are you trying to accomplish? eshell sets TERM to be dumb for a reason--it can't handle a lot of fancier command line interaction (à la top and ssh). brew works fine for me through eshell, and even outputs colors and emoji.
    – shosti
    Sep 24, 2014 at 22:40
  • @shosti Updated the question with a video example Sep 24, 2014 at 22:59
  • 1
    The visual glitches are due to problems with eshell's rendering, not related to the TERM variable (if anything, setting TERM to be something different would make these kind of problems worse since programs will output more control sequences that eshell can't handle). Unfortunately, I think the answer is "live with it or try to fix eshell".
    – shosti
    Sep 24, 2014 at 23:18
  • 1
    From the video it seems to me, Emacs's (rather stupid) auto scroll feature is making the buffer dance. I guess you should try setting auto-window-scroll to nil and scroll-conversely to large number (>100)
    – kindahero
    Sep 25, 2014 at 14:12
  • 2
    @kindahero that would be scroll-conservatively
    – Sigma
    Sep 25, 2014 at 16:40

1 Answer 1


As @shosti pointed out, eshell simply doesn't support any fancy escape sequences.

However my problems with brew can be fixed by resetting fringe-mode and disabling truncate-lines in eshell buffer.

This ensures characters don't wrap to the next line and that long lines (such as the progress bar) don't get covered by the truncation glyph.

I've tried @kindahero suggestions about the scroll, but to no avail.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.