In eshell, if I echo $TERM, the result is dumb. What does this mean? Is this an emacs specific thing, or a tty thing?

1 Answer 1


First, it's an Emacs thing. It tells the used shell, that the buffer for input/output has only limited capabilities. See the following comment and code in lisp/startup.el:

;; Subprocesses of Emacs do not have direct access to the terminal, so
;; unless told otherwise they should only assume a dumb terminal.
;; We are careful to do it late (after term-setup-hook), although the
;; new multi-tty code does not use $TERM any more there anyway.
(setenv "TERM" "dumb")

It is also an OS specific setting, see http://en.wikipedia.org/wiki/Computer_terminal#Dumb_terminals

  • 2
    That comment suggests to me that it's a convention outside of just emacs.
    – asmeurer
    Mar 19, 2015 at 20:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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