{"slug": "eat", "name": "EAT", "category": "terminal", "category_name": "Terminal and shell", "description": "", "recommenders": 6, "commenters": 7, "warners": 0, "score": 5.422, "rising": -0.64, "first": "2025-11-06", "latest": "2026-08-27", "why": "I haven't had any terminal emulation problems since switching to it.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 7, "neutral": 0, "compare": 1, "warn": 0}, "spark": [1, 1, 0, 1, 0, 2, 0, 0, 1, 1, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I haven't had any terminal emulation problems since switching to it.", "kind": "", "icon": false, "domain": null, "github_repo": "codeberg.org/akib/emacs-eat", "official_url": "https://codeberg.org/akib/emacs-eat", "pricing": "", "aliases": ["EAT", "eat", "Eat"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 791492275, "item_id": 49468267, "url": "https://news.ycombinator.com/item?id=49468267", "by": "internet_points", "date": "2026-08-27", "version": null, "stance": "recommend", "quote": "(or vterm, or eat)", "excerpt": "Never heard of that one. The most popular ways for agent stuff seems to be https://github.com/xenodium/agent-shell , or just opening a terminal in emacs and using claude code. If you want to run it through an emacs terminal, consider using https://github.com/dakra/ghostel#ghostel (or vterm, or eat)", "context": "", "use_case": "", "switched_from": "", "story": "Emacs 31: An unofficial guide to Markdown-ts-mode"}, {"id": 782134353, "item_id": 48883397, "url": "https://news.ycombinator.com/item?id=48883397", "by": "MarsIronPI", "date": "2026-07-12", "version": null, "stance": "recommend", "quote": "that's got me staying on EAT right now", "excerpt": "I think issue #426[0] would be sufficient, since it would allow for editing after the command is finished. I understand that it probably won't happen any time soon, but embedding a full terminal emulator in Eshell is the thing that's got me staying on EAT right now. Ghostel looks really nice though! [0]: https://github.com/dakra/ghostel/issues/426", "context": "", "use_case": "Emacs terminal emulator", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 761849936, "item_id": 47615621, "url": "https://news.ycombinator.com/item?id=47615621", "by": "mbrumlow", "date": "2026-04-02", "version": null, "stance": "recommend", "quote": "been the best one", "excerpt": "I use eat. So far it\u2019s been the best one. But I did have to fix a few bugs, and add kkp support to it. It\u2019s not the fastest but it gets the job done.", "context": "", "use_case": "terminal emulator in Emacs", "switched_from": "", "story": "Emacs-libgterm: Terminal emulator for Emacs using libghostty-vt"}, {"id": 761842512, "item_id": 47615157, "url": "https://news.ycombinator.com/item?id=47615157", "by": "compyman", "date": "2026-04-02", "version": null, "stance": "recommend", "quote": "which provides a very fast terminal emulator entirely in emacs lisp", "excerpt": "You might be sort of interested in the Emulate-A-Terminal (EAT) package: https://codeberg.org/akib/emacs-eat which provides a very fast terminal emulator entirely in emacs lisp.", "context": "", "use_case": "Terminal emulator in Emacs", "switched_from": "", "story": "Emacs-libgterm: Terminal emulator for Emacs using libghostty-vt"}, {"id": 755061152, "item_id": 47191322, "url": "https://news.ycombinator.com/item?id=47191322", "by": "MarsIronPI", "date": "2026-02-27", "version": null, "stance": "recommend", "quote": "I haven't had any terminal emulation problems since switching to it.", "excerpt": "Have you tried Eat[0]? It's a reasonably fast terminal emulator that integrates with Eshell so that all commands run in Eshell have full terminal emulation (but they're still run in the original Eshell buffer, which makes it better than `eshell-visual-commands'). I haven't had any terminal emulation problems since switching to it. [0]: https://codeberg.org/akib/emacs-eat With regards to completion, I use corfu, which", "context": "", "use_case": "terminal emulation in Eshell", "switched_from": "", "story": "Eschewing Zshell for Emacs Shell (2014)"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["terminal emulator in emacs", "emacs terminal emulator", "terminal emulation in eshell", "terminal in emacs"], "compared": [{"slug": "vterm", "name": "vterm", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "ghostel", "name": "Ghostel", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "eshell", "name": "Eshell", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "gnu-emacs", "name": "GNU Emacs", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=47563486", "title": "Emacs-libgterm: Terminal emulator for Emacs using libghostty-vt", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=47136612", "title": "Eschewing Zshell for Emacs Shell (2014)", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49464543", "title": "Emacs 31: An unofficial guide to Markdown-ts-mode", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48879504", "title": "Ghostel.el: Terminal emulator powered by libghostty", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46161328", "title": "Emacs is my new window manager (2015)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45832341", "title": "How I am deeply integrating Emacs", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {"recommend": 1}, "2026-01": {}, "2026-02": {"recommend": 1, "compare": 1}, "2026-03": {}, "2026-04": {"recommend": 2}, "2026-05": {}, "2026-06": {}, "2026-07": {"recommend": 1}, "2026-08": {"recommend": 1}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 791492275, "item_id": 49468267, "url": "https://news.ycombinator.com/item?id=49468267", "by": "internet_points", "date": "2026-08-27", "version": null, "stance": "recommend", "quote": "(or vterm, or eat)", "excerpt": "Never heard of that one. The most popular ways for agent stuff seems to be https://github.com/xenodium/agent-shell , or just opening a terminal in emacs and using claude code. If you want to run it through an emacs terminal, consider using https://github.com/dakra/ghostel#ghostel (or vterm, or eat)", "context": "", "use_case": "", "switched_from": "", "story": "Emacs 31: An unofficial guide to Markdown-ts-mode"}, {"id": 782134353, "item_id": 48883397, "url": "https://news.ycombinator.com/item?id=48883397", "by": "MarsIronPI", "date": "2026-07-12", "version": null, "stance": "recommend", "quote": "that's got me staying on EAT right now", "excerpt": "I think issue #426[0] would be sufficient, since it would allow for editing after the command is finished. I understand that it probably won't happen any time soon, but embedding a full terminal emulator in Eshell is the thing that's got me staying on EAT right now. Ghostel looks really nice though! [0]: https://github.com/dakra/ghostel/issues/426", "context": "", "use_case": "Emacs terminal emulator", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 761849936, "item_id": 47615621, "url": "https://news.ycombinator.com/item?id=47615621", "by": "mbrumlow", "date": "2026-04-02", "version": null, "stance": "recommend", "quote": "been the best one", "excerpt": "I use eat. So far it\u2019s been the best one. But I did have to fix a few bugs, and add kkp support to it. It\u2019s not the fastest but it gets the job done.", "context": "", "use_case": "terminal emulator in Emacs", "switched_from": "", "story": "Emacs-libgterm: Terminal emulator for Emacs using libghostty-vt"}, {"id": 761842512, "item_id": 47615157, "url": "https://news.ycombinator.com/item?id=47615157", "by": "compyman", "date": "2026-04-02", "version": null, "stance": "recommend", "quote": "which provides a very fast terminal emulator entirely in emacs lisp", "excerpt": "You might be sort of interested in the Emulate-A-Terminal (EAT) package: https://codeberg.org/akib/emacs-eat which provides a very fast terminal emulator entirely in emacs lisp.", "context": "", "use_case": "Terminal emulator in Emacs", "switched_from": "", "story": "Emacs-libgterm: Terminal emulator for Emacs using libghostty-vt"}, {"id": 755072224, "item_id": 47192014, "url": "https://news.ycombinator.com/item?id=47192014", "by": "goku12", "date": "2026-02-28", "version": null, "stance": "compare", "quote": "It sounds from your description like vterm is faster than eat.", "excerpt": "How does eat detect a visual command in eshell? I use vterm in Emacs for visual commands like nvim and htop. But it's triggered manually with a simple custom prefix command (just 'v') added to the actual command. I wonder if that trigger could be automated. It sounds from your description like vterm is faster than eat. If so, a similar automatic trigger for vterm could be very beneficial.", "context": "", "use_case": "", "switched_from": "", "story": "Eschewing Zshell for Emacs Shell (2014)"}, {"id": 755061152, "item_id": 47191322, "url": "https://news.ycombinator.com/item?id=47191322", "by": "MarsIronPI", "date": "2026-02-27", "version": null, "stance": "recommend", "quote": "I haven't had any terminal emulation problems since switching to it.", "excerpt": "Have you tried Eat[0]? It's a reasonably fast terminal emulator that integrates with Eshell so that all commands run in Eshell have full terminal emulation (but they're still run in the original Eshell buffer, which makes it better than `eshell-visual-commands'). I haven't had any terminal emulation problems since switching to it. [0]: https://codeberg.org/akib/emacs-eat With regards to completion, I use corfu, which", "context": "", "use_case": "terminal emulation in Eshell", "switched_from": "", "story": "Eschewing Zshell for Emacs Shell (2014)"}, {"id": 739046544, "item_id": 46190409, "url": "https://news.ycombinator.com/item?id=46190409", "by": "finaard", "date": "2025-12-08", "version": null, "stance": "recommend", "quote": "in my case I've been using eat as single terminal instance for a while now", "excerpt": "Also check out the pull requests on that repo if there's something useful - in my case I've been using eat as single terminal instance for a while now - but for replacing stand alone terminals just opening multiple instances via multi-sh or similar isn't really helping for finding the terminals again. My solution was patching eat to allow buffer renames to the terminal title, and for ssh sessions, initially set the t", "context": "", "use_case": "Terminal in Emacs", "switched_from": "", "story": "Emacs is my new window manager (2015)"}, {"id": 733415554, "item_id": 45838472, "url": "https://news.ycombinator.com/item?id=45838472", "by": "stebalien", "date": "2025-11-06", "version": null, "stance": "recommend", "quote": "If you want to try eshell, try combining it with EAT (eat-eshell-mode).", "excerpt": "If you want to try eshell, try combining it with EAT (eat-eshell-mode). > Maybe in my retirement I will end my career by helping to make emacs + EXWM multi threaded. I am guessing that is a daunting project, but it sure would be fulfilling. This isn't fixable with threads, unfortunately. The issue is that: 1. Emacs e.g., launches a process with call-process. This blocks EVERYTHING (including other threads). 2. That p", "context": "", "use_case": "", "switched_from": "", "story": "How I am deeply integrating Emacs"}]}