{"slug": "ghostel", "name": "Ghostel", "category": "terminal", "category_name": "Terminal and shell", "description": "Terminal emulator package for Emacs built on libghostty.", "recommenders": 10, "commenters": 11, "warners": 0, "score": 9.717, "rising": 2.04, "first": "2026-06-22", "latest": "2026-10-28", "why": "Emacs users praise Ghostel as a faster, more responsive replacement for vterm, including for TUI apps and CLI coding agents like Claude Code.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 11, "neutral": 0, "compare": 1, "warn": 0}, "spark": [0, 0, 0, 0, 0, 0, 0, 1, 5, 2, 0, 3], "listed": true, "loved": ["Better than vterm", "Speed"], "caveat": "Display glitches", "short_quote": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday.", "icon": true, "domain": null, "github_repo": "github.com/dakra/ghostel", "official_url": "https://github.com/dakra/ghostel", "pricing": "unknown", "aliases": ["Ghostel", "ghostel", "ghostel.el", "Ghostel.el"], "verdict": [{"text": "Emacs users praise Ghostel as a faster, more responsive replacement for vterm", "cites": [{"id": 782107680, "item_id": 48881730, "url": "https://news.ycombinator.com/item?id=48881730", "by": "pingisland", "date": "2026-07-12", "stance": "recommend", "quote": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday.", "excerpt": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday. I do see a similar issue, where when I switch to the ghostel buffer and it wasn\u2019t visible before, the text is scrambled. I\u2019ll check if I can find a way to reliably reproduce it.", "context": "", "use_case": "terminal in Emacs", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782094672, "item_id": 48880917, "url": "https://news.ycombinator.com/item?id=48880917", "by": "jdormit", "date": "2026-07-12", "stance": "recommend", "quote": "I recently switched from vterm to ghostel, and it is generally much, much better", "excerpt": "I recently switched from vterm to ghostel, and it is generally much, much better - noticeably faster (e.g. fancy TUI apps that try to refresh the whole terminal every frame actually work), more reliable input handling, and a nicer ELisp API. That being said, there are still some rough edges. Sometimes it fails to properly clear the terminal, leaving junk at the top of the buffer before the currrent prompt line. And o", "context": "", "use_case": "Emacs terminal emulator", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 790176208, "item_id": 49386013, "url": "https://news.ycombinator.com/item?id=49386013", "by": "ixsploit", "date": "2026-08-21", "stance": "recommend", "quote": "ghostel is a tremendous improvement over vterm.", "excerpt": "Thanks so much for your work. I moved to emacs to have a better integration between cli and the editor I am using and ghostel is a tremendous improvement over vterm.", "context": "", "use_case": "terminal inside Emacs", "switched_from": "vterm", "story": "Emacs 31.1 will release on 8/24"}, {"id": 804224000, "item_id": 50264000, "url": "https://news.ycombinator.com/item?id=50264000", "by": "riskassessment", "date": "2026-10-27", "stance": "recommend", "quote": "I switched from vterm to ghostel recently and it's solved some refresh issues", "excerpt": "Agreed on the value of libghostty. I switched from vterm to ghostel recently and it's solved some refresh issues I previously had with vterm when using CLI coding agents in emacs.", "context": "Emacs user", "use_case": "terminal in Emacs for coding agents", "switched_from": "vterm", "story": "Ghostty 1.4"}]}, {"text": ", including for TUI apps and CLI coding agents like Claude Code.", "cites": [{"id": 782094672, "item_id": 48880917, "url": "https://news.ycombinator.com/item?id=48880917", "by": "jdormit", "date": "2026-07-12", "stance": "recommend", "quote": "I recently switched from vterm to ghostel, and it is generally much, much better", "excerpt": "I recently switched from vterm to ghostel, and it is generally much, much better - noticeably faster (e.g. fancy TUI apps that try to refresh the whole terminal every frame actually work), more reliable input handling, and a nicer ELisp API. That being said, there are still some rough edges. Sometimes it fails to properly clear the terminal, leaving junk at the top of the buffer before the currrent prompt line. And o", "context": "", "use_case": "Emacs terminal emulator", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782121152, "item_id": 48882572, "url": "https://news.ycombinator.com/item?id=48882572", "by": "arikrahman", "date": "2026-07-12", "stance": "recommend", "quote": "Awesome project. Been using with doom for a while.", "excerpt": "Howdy, Awesome project. Been using with doom for a while. How do you manage to get scrolling programs to work (eg Lazygit or Reasonix) where other emulators fail? Is it something special in your implentation or library that makes this work?", "context": "Doom Emacs user", "use_case": "terminal in Emacs", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 804224000, "item_id": 50264000, "url": "https://news.ycombinator.com/item?id=50264000", "by": "riskassessment", "date": "2026-10-27", "stance": "recommend", "quote": "I switched from vterm to ghostel recently and it's solved some refresh issues", "excerpt": "Agreed on the value of libghostty. I switched from vterm to ghostel recently and it's solved some refresh issues I previously had with vterm when using CLI coding agents in emacs.", "context": "Emacs user", "use_case": "terminal in Emacs for coding agents", "switched_from": "vterm", "story": "Ghostty 1.4"}, {"id": 791476769, "item_id": 49467298, "url": "https://news.ycombinator.com/item?id=49467298", "by": "jwr", "date": "2026-08-27", "stance": "recommend", "quote": "through ghostel, which is unbelievably great!", "excerpt": "I use cLaude cOde in my eMacs (through ghostel, which is unbelievably great!) to generate code :-) I then use mAgit to review it.", "context": "", "use_case": "terminal inside Emacs", "switched_from": "", "story": "Emacs 31: An unofficial guide to Markdown-ts-mode"}, {"id": 782096224, "item_id": 48881014, "url": "https://news.ycombinator.com/item?id=48881014", "by": "aftergibson", "date": "2026-07-12", "stance": "recommend", "quote": "This is working great, it plus the Claude code integration has really adjusted how much I use Emacs.", "excerpt": "This is working great, it plus the Claude code integration has really adjusted how much I use Emacs. It's become a bit of a hub for me now.", "context": "Emacs user", "use_case": "Emacs terminal hub", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}]}, {"text": " The most common complaint is display glitches such as scrambled or uncleared text", "cites": [{"id": 782107680, "item_id": 48881730, "url": "https://news.ycombinator.com/item?id=48881730", "by": "pingisland", "date": "2026-07-12", "stance": "recommend", "quote": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday.", "excerpt": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday. I do see a similar issue, where when I switch to the ghostel buffer and it wasn\u2019t visible before, the text is scrambled. I\u2019ll check if I can find a way to reliably reproduce it.", "context": "", "use_case": "terminal in Emacs", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782094672, "item_id": 48880917, "url": "https://news.ycombinator.com/item?id=48880917", "by": "jdormit", "date": "2026-07-12", "stance": "recommend", "quote": "I recently switched from vterm to ghostel, and it is generally much, much better", "excerpt": "I recently switched from vterm to ghostel, and it is generally much, much better - noticeably faster (e.g. fancy TUI apps that try to refresh the whole terminal every frame actually work), more reliable input handling, and a nicer ELisp API. That being said, there are still some rough edges. Sometimes it fails to properly clear the terminal, leaving junk at the top of the buffer before the currrent prompt line. And o", "context": "", "use_case": "Emacs terminal emulator", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}]}, {"text": ", and it lacks eshell-style text editing in the terminal buffer.", "cites": [{"id": 782110913, "item_id": 48881932, "url": "https://news.ycombinator.com/item?id=48881932", "by": "b3n", "date": "2026-07-12", "stance": "compare", "quote": "Unfortunately with Ghostel none of this works. It's not integrated in the same way.", "excerpt": "Hi dakra! > is there something Ghostel is missing eshell allows me to manipulate text as I would in any other Emacs buffer. If I have a function which wraps a word in quotes, and bind it to a key, I can be confident it will work in eshell like it does anywhere else. It's a real killer feature. If I use evil-mode, or xah-fly-keys, or simply want to use ispell to correct the spelling of a word, it all works. Unfortunat", "context": "Emacs user", "use_case": "terminal in Emacs", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}]}], "praise": [{"label": "Better than vterm", "summary": "Several commenters who switched from vterm call it a large improvement.", "quotes": [{"id": 790176208, "item_id": 49386013, "url": "https://news.ycombinator.com/item?id=49386013", "by": "ixsploit", "date": "2026-08-21", "stance": "recommend", "quote": "ghostel is a tremendous improvement over vterm.", "excerpt": "Thanks so much for your work. I moved to emacs to have a better integration between cli and the editor I am using and ghostel is a tremendous improvement over vterm.", "context": "", "use_case": "terminal inside Emacs", "switched_from": "vterm", "story": "Emacs 31.1 will release on 8/24"}, {"id": 782094672, "item_id": 48880917, "url": "https://news.ycombinator.com/item?id=48880917", "by": "jdormit", "date": "2026-07-12", "stance": "recommend", "quote": "I recently switched from vterm to ghostel, and it is generally much, much better", "excerpt": "I recently switched from vterm to ghostel, and it is generally much, much better - noticeably faster (e.g. fancy TUI apps that try to refresh the whole terminal every frame actually work), more reliable input handling, and a nicer ELisp API. That being said, there are still some rough edges. Sometimes it fails to properly clear the terminal, leaving junk at the top of the buffer before the currrent prompt line. And o", "context": "", "use_case": "Emacs terminal emulator", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782161760, "item_id": 48885110, "url": "https://news.ycombinator.com/item?id=48885110", "by": "guskel", "date": "2026-07-12", "stance": "recommend", "quote": "I've been wanting something just like this and I'm trying it now and it's amazing.", "excerpt": "Thank you so much for building this. I've been wanting something just like this and I'm trying it now and it's amazing. I was struggling with vterm and now this might become my daily driver.", "context": "", "use_case": "Emacs terminal emulator", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}]}, {"label": "Speed", "summary": "Commenters report it is more responsive and handles full-screen TUI refreshes and scrolling programs.", "quotes": [{"id": 782107680, "item_id": 48881730, "url": "https://news.ycombinator.com/item?id=48881730", "by": "pingisland", "date": "2026-07-12", "stance": "recommend", "quote": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday.", "excerpt": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday. I do see a similar issue, where when I switch to the ghostel buffer and it wasn\u2019t visible before, the text is scrambled. I\u2019ll check if I can find a way to reliably reproduce it.", "context": "", "use_case": "terminal in Emacs", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782094672, "item_id": 48880917, "url": "https://news.ycombinator.com/item?id=48880917", "by": "jdormit", "date": "2026-07-12", "stance": "recommend", "quote": "I recently switched from vterm to ghostel, and it is generally much, much better", "excerpt": "I recently switched from vterm to ghostel, and it is generally much, much better - noticeably faster (e.g. fancy TUI apps that try to refresh the whole terminal every frame actually work), more reliable input handling, and a nicer ELisp API. That being said, there are still some rough edges. Sometimes it fails to properly clear the terminal, leaving junk at the top of the buffer before the currrent prompt line. And o", "context": "", "use_case": "Emacs terminal emulator", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782121152, "item_id": 48882572, "url": "https://news.ycombinator.com/item?id=48882572", "by": "arikrahman", "date": "2026-07-12", "stance": "recommend", "quote": "Awesome project. Been using with doom for a while.", "excerpt": "Howdy, Awesome project. Been using with doom for a while. How do you manage to get scrolling programs to work (eg Lazygit or Reasonix) where other emulators fail? Is it something special in your implentation or library that makes this work?", "context": "Doom Emacs user", "use_case": "terminal in Emacs", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}]}, {"label": "Daily use", "summary": "Commenters say they use it every day as a core part of their Emacs work.", "quotes": [{"id": 804380114, "item_id": 50273757, "url": "https://news.ycombinator.com/item?id=50273757", "by": "jwr", "date": "2026-10-28", "stance": "recommend", "quote": "Magit and ghostel are good examples of packages that I use on a daily basis", "excerpt": "I have been using Emacs for more than 30 years now. Other editors have come and gone, Emacs stayed. Parts of my configuration are more than 30 years old. There were better and worse times in Emacs history. Recent times, however, are really good. Emacs is maintained and developed actively and there are many external packages which are impressive. Magit and ghostel are good examples of packages that I use on a daily ba", "context": "", "use_case": "terminal in Emacs", "switched_from": "", "story": "Emacs Turns 50"}, {"id": 782107680, "item_id": 48881730, "url": "https://news.ycombinator.com/item?id=48881730", "by": "pingisland", "date": "2026-07-12", "stance": "recommend", "quote": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday.", "excerpt": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday. I do see a similar issue, where when I switch to the ghostel buffer and it wasn\u2019t visible before, the text is scrambled. I\u2019ll check if I can find a way to reliably reproduce it.", "context": "", "use_case": "terminal in Emacs", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 778110432, "item_id": 48631902, "url": "https://news.ycombinator.com/item?id=48631902", "by": "reinitctxoffset", "date": "2026-06-22", "stance": "recommend", "quote": "I switched to `ghostel` in emacs this weekend and it's give or take life changing.", "excerpt": "Low value comment but obligatory to a superfan: mitchellh is based AF and it just keeps giving back. I switched to `ghostel` in emacs this weekend and it's give or take life changing. Keep being the fuckin man.", "context": "Emacs user", "use_case": "terminal in Emacs", "switched_from": "", "story": "Pledging Another $400k to the Zig Software Foundation"}]}, {"label": "AI agent workflows", "summary": "Commenters say it works well for running CLI coding agents like Claude Code inside Emacs.", "quotes": [{"id": 804224000, "item_id": 50264000, "url": "https://news.ycombinator.com/item?id=50264000", "by": "riskassessment", "date": "2026-10-27", "stance": "recommend", "quote": "I switched from vterm to ghostel recently and it's solved some refresh issues", "excerpt": "Agreed on the value of libghostty. I switched from vterm to ghostel recently and it's solved some refresh issues I previously had with vterm when using CLI coding agents in emacs.", "context": "Emacs user", "use_case": "terminal in Emacs for coding agents", "switched_from": "vterm", "story": "Ghostty 1.4"}, {"id": 791476769, "item_id": 49467298, "url": "https://news.ycombinator.com/item?id=49467298", "by": "jwr", "date": "2026-08-27", "stance": "recommend", "quote": "through ghostel, which is unbelievably great!", "excerpt": "I use cLaude cOde in my eMacs (through ghostel, which is unbelievably great!) to generate code :-) I then use mAgit to review it.", "context": "", "use_case": "terminal inside Emacs", "switched_from": "", "story": "Emacs 31: An unofficial guide to Markdown-ts-mode"}, {"id": 782096224, "item_id": 48881014, "url": "https://news.ycombinator.com/item?id=48881014", "by": "aftergibson", "date": "2026-07-12", "stance": "recommend", "quote": "This is working great, it plus the Claude code integration has really adjusted how much I use Emacs.", "excerpt": "This is working great, it plus the Claude code integration has really adjusted how much I use Emacs. It's become a bit of a hub for me now.", "context": "Emacs user", "use_case": "Emacs terminal hub", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}]}, {"label": "Overall quality", "summary": "Emacs users describe it as the nicest terminal available for Emacs.", "quotes": [{"id": 804271922, "item_id": 50266995, "url": "https://news.ycombinator.com/item?id=50266995", "by": "grinkelhoof", "date": "2026-10-27", "stance": "recommend", "quote": "ghostel.el is the nicest terminal for emacs going", "excerpt": "I love ghostty and libghostty. thanks to libghostty, ghostel.el is the nicest terminal for emacs going. Thanks to you & the others behind it.", "context": "Emacs user", "use_case": "terminal in Emacs", "switched_from": "", "story": "Ghostty 1.4"}, {"id": 778110432, "item_id": 48631902, "url": "https://news.ycombinator.com/item?id=48631902", "by": "reinitctxoffset", "date": "2026-06-22", "stance": "recommend", "quote": "I switched to `ghostel` in emacs this weekend and it's give or take life changing.", "excerpt": "Low value comment but obligatory to a superfan: mitchellh is based AF and it just keeps giving back. I switched to `ghostel` in emacs this weekend and it's give or take life changing. Keep being the fuckin man.", "context": "Emacs user", "use_case": "terminal in Emacs", "switched_from": "", "story": "Pledging Another $400k to the Zig Software Foundation"}]}, {"label": "Hyperlink navigation", "summary": "Commands for jumping between and opening displayed links are appreciated.", "quotes": [{"id": 782147008, "item_id": 48884188, "url": "https://news.ycombinator.com/item?id=48884188", "by": "dakra", "date": "2026-07-12", "stance": "recommend", "quote": "I use that feature all the time.", "excerpt": "And not only mouse click of course, but you can use `ghostel-previous-hyperlink` (or ghostel-next-hyperlink) to quickly jump to the last hyperlink displayed. It also installs a repeat-mode map, so if you see 3 url or file links as output you can just `C-c C-p p p RET` and it will open the first link. I use that feature all the time.", "context": "Emacs user", "use_case": "terminal in Emacs, jumping hyperlinks", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}]}], "caveats": [{"label": "Display glitches", "summary": "Users report scrambled text when switching buffers and junk left after clearing the terminal.", "quotes": [{"id": 782107680, "item_id": 48881730, "url": "https://news.ycombinator.com/item?id=48881730", "by": "pingisland", "date": "2026-07-12", "stance": "recommend", "quote": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday.", "excerpt": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday. I do see a similar issue, where when I switch to the ghostel buffer and it wasn\u2019t visible before, the text is scrambled. I\u2019ll check if I can find a way to reliably reproduce it.", "context": "", "use_case": "terminal in Emacs", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782094672, "item_id": 48880917, "url": "https://news.ycombinator.com/item?id=48880917", "by": "jdormit", "date": "2026-07-12", "stance": "recommend", "quote": "I recently switched from vterm to ghostel, and it is generally much, much better", "excerpt": "I recently switched from vterm to ghostel, and it is generally much, much better - noticeably faster (e.g. fancy TUI apps that try to refresh the whole terminal every frame actually work), more reliable input handling, and a nicer ELisp API. That being said, there are still some rough edges. Sometimes it fails to properly clear the terminal, leaving junk at the top of the buffer before the currrent prompt line. And o", "context": "", "use_case": "Emacs terminal emulator", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}]}, {"label": "Occasional freezes", "summary": "One user says it has frozen completely and required killing the buffer.", "quotes": [{"id": 782094672, "item_id": 48880917, "url": "https://news.ycombinator.com/item?id=48880917", "by": "jdormit", "date": "2026-07-12", "stance": "recommend", "quote": "I recently switched from vterm to ghostel, and it is generally much, much better", "excerpt": "I recently switched from vterm to ghostel, and it is generally much, much better - noticeably faster (e.g. fancy TUI apps that try to refresh the whole terminal every frame actually work), more reliable input handling, and a nicer ELisp API. That being said, there are still some rough edges. Sometimes it fails to properly clear the terminal, leaving junk at the top of the buffer before the currrent prompt line. And o", "context": "", "use_case": "Emacs terminal emulator", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}]}, {"label": "Emacs integration", "summary": "Unlike eshell, normal Emacs text editing commands and evil-mode do not work in its buffer.", "quotes": [{"id": 782110913, "item_id": 48881932, "url": "https://news.ycombinator.com/item?id=48881932", "by": "b3n", "date": "2026-07-12", "stance": "compare", "quote": "Unfortunately with Ghostel none of this works. It's not integrated in the same way.", "excerpt": "Hi dakra! > is there something Ghostel is missing eshell allows me to manipulate text as I would in any other Emacs buffer. If I have a function which wraps a word in quotes, and bind it to a key, I can be confident it will work in eshell like it does anywhere else. It's a real killer feature. If I use evil-mode, or xah-fly-keys, or simply want to use ispell to correct the spelling of a word, it all works. Unfortunat", "context": "Emacs user", "use_case": "terminal in Emacs", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}]}], "who": [{"by": "grinkelhoof", "context": "Emacs user", "url": "https://news.ycombinator.com/item?id=50266995", "date": "2026-10-27"}, {"by": "riskassessment", "context": "Emacs user", "url": "https://news.ycombinator.com/item?id=50264000", "date": "2026-10-27"}, {"by": "dakra", "context": "Emacs user", "url": "https://news.ycombinator.com/item?id=48884188", "date": "2026-07-12"}, {"by": "arikrahman", "context": "Doom Emacs user", "url": "https://news.ycombinator.com/item?id=48882572", "date": "2026-07-12"}, {"by": "aftergibson", "context": "Emacs user", "url": "https://news.ycombinator.com/item?id=48881014", "date": "2026-07-12"}, {"by": "reinitctxoffset", "context": "Emacs user", "url": "https://news.ycombinator.com/item?id=48631902", "date": "2026-06-22"}], "tags": ["for Emacs users", "vterm alternative", "for CLI coding agents", "for Doom Emacs users"], "use_cases": ["terminal in emacs", "terminal inside emacs", "emacs terminal emulator", "terminal in emacs for coding agents", "terminal in emacs, jumping hyperlinks", "emacs terminal hub"], "compared": [{"slug": "emacs", "name": "Emacs", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "magit", "name": "Magit", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "libghostty", "name": "libghostty", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "ghostty", "name": "Ghostty", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "claude-code", "name": "Claude Code", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 782235296, "item_id": 48889706, "url": "https://news.ycombinator.com/item?id=48889706", "by": "dakra", "date": "2026-07-13", "stance": "recommend", "quote": "we automatically switch to copy-mode when it makes sense.", "excerpt": "> defined f1 to toggle between semi-char vs copy modes this is useful anyway but just in case you didn't know, we automatically switch to copy-mode when it makes sense. E.g. when you activate mark, click somewhere with the mouse or when point leaves the current prompt position. That means that with isearch or consult-line etc you're automatically in copy-mode (because why else would you search something and then jump", "context": "", "use_case": "terminal emulator in Emacs", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782217792, "item_id": 48888612, "url": "https://news.ycombinator.com/item?id=48888612", "by": "dakra", "date": "2026-07-12", "stance": "recommend", "quote": "I'll have to update the documentation with some examples", "excerpt": "True. I'll have to update the documentation with some examples (and/or make a video?). I know you know them but I list the 5 modes quick here for readers: - semi-char: The default, where most keys go to the terminal but some common Emacs prefixes (M-x, C-c) go to Emacs - char-mode: ALL keys go to the terminal. This way you can run e.g. Emacs inside Emacs. - copy-/emacs-mode: This makes the whole buffer a pure read-on", "context": "Emacs user", "use_case": "terminal in Emacs", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782215120, "item_id": 48888445, "url": "https://news.ycombinator.com/item?id=48888445", "by": "dakra", "date": "2026-07-12", "stance": "recommend", "quote": "This is just optional.", "excerpt": "This is just optional. I explained why it's not in the package in https://news.ycombinator.com/item?id=48881722 For all Emacs package updates, it's best of course to check the source what's changed and then you can compile yourself. PS, I also think Emacs is one of the few ecosystems where people actually check what changed. It's not like npm where you have a million of deps unreviewed pulled in. Personally I use bor", "context": "", "use_case": "terminal in Emacs", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782099312, "item_id": 48881207, "url": "https://news.ycombinator.com/item?id=48881207", "by": "dakra", "date": "2026-07-12", "stance": "recommend", "quote": "for me personally, it has not only replaced vterm/eat but also any\nother external terminal like kitty/Ghostty.", "excerpt": "Hi! Maintainer of Ghostel here. baokaola and I actually wanted to do a \"Show HN\" next week, but looks like someone was faster submitting the link. Have a look at the GitHub repo which is a bit nicer for a quick overview: https://github.com/dakra/ghostel To add some context, Ghostel is a terminal emulator for Emacs powered by libghostty-vt. There's a feature comparison vs vterm and eat: https://dakra.github.io/ghostel", "context": "Ghostel maintainer, Emacs user", "use_case": "terminal in Emacs", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}], "threads": [{"url": "https://news.ycombinator.com/item?id=48879504", "title": "Ghostel.el: Terminal emulator powered by libghostty", "mentions": 11}, {"url": "https://news.ycombinator.com/item?id=50261998", "title": "Ghostty 1.4", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50273171", "title": "Emacs Turns 50", "mentions": 1}, {"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=49385296", "title": "Emacs 31.1 will release on 8/24", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48630020", "title": "Pledging Another $400k to the Zig Software Foundation", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {"recommend": 1}, "2026-07": {"recommend": 5, "compare": 1}, "2026-08": {"recommend": 2}, "2026-09": {}, "2026-10": {"recommend": 3}}, "quotes": [{"id": 804380114, "item_id": 50273757, "url": "https://news.ycombinator.com/item?id=50273757", "by": "jwr", "date": "2026-10-28", "stance": "recommend", "quote": "Magit and ghostel are good examples of packages that I use on a daily basis", "excerpt": "I have been using Emacs for more than 30 years now. Other editors have come and gone, Emacs stayed. Parts of my configuration are more than 30 years old. There were better and worse times in Emacs history. Recent times, however, are really good. Emacs is maintained and developed actively and there are many external packages which are impressive. Magit and ghostel are good examples of packages that I use on a daily ba", "context": "", "use_case": "terminal in Emacs", "switched_from": "", "story": "Emacs Turns 50"}, {"id": 804271922, "item_id": 50266995, "url": "https://news.ycombinator.com/item?id=50266995", "by": "grinkelhoof", "date": "2026-10-27", "stance": "recommend", "quote": "ghostel.el is the nicest terminal for emacs going", "excerpt": "I love ghostty and libghostty. thanks to libghostty, ghostel.el is the nicest terminal for emacs going. Thanks to you & the others behind it.", "context": "Emacs user", "use_case": "terminal in Emacs", "switched_from": "", "story": "Ghostty 1.4"}, {"id": 804224000, "item_id": 50264000, "url": "https://news.ycombinator.com/item?id=50264000", "by": "riskassessment", "date": "2026-10-27", "stance": "recommend", "quote": "I switched from vterm to ghostel recently and it's solved some refresh issues", "excerpt": "Agreed on the value of libghostty. I switched from vterm to ghostel recently and it's solved some refresh issues I previously had with vterm when using CLI coding agents in emacs.", "context": "Emacs user", "use_case": "terminal in Emacs for coding agents", "switched_from": "vterm", "story": "Ghostty 1.4"}, {"id": 791476769, "item_id": 49467298, "url": "https://news.ycombinator.com/item?id=49467298", "by": "jwr", "date": "2026-08-27", "stance": "recommend", "quote": "through ghostel, which is unbelievably great!", "excerpt": "I use cLaude cOde in my eMacs (through ghostel, which is unbelievably great!) to generate code :-) I then use mAgit to review it.", "context": "", "use_case": "terminal inside Emacs", "switched_from": "", "story": "Emacs 31: An unofficial guide to Markdown-ts-mode"}, {"id": 790176208, "item_id": 49386013, "url": "https://news.ycombinator.com/item?id=49386013", "by": "ixsploit", "date": "2026-08-21", "stance": "recommend", "quote": "ghostel is a tremendous improvement over vterm.", "excerpt": "Thanks so much for your work. I moved to emacs to have a better integration between cli and the editor I am using and ghostel is a tremendous improvement over vterm.", "context": "", "use_case": "terminal inside Emacs", "switched_from": "vterm", "story": "Emacs 31.1 will release on 8/24"}, {"id": 782161760, "item_id": 48885110, "url": "https://news.ycombinator.com/item?id=48885110", "by": "guskel", "date": "2026-07-12", "stance": "recommend", "quote": "I've been wanting something just like this and I'm trying it now and it's amazing.", "excerpt": "Thank you so much for building this. I've been wanting something just like this and I'm trying it now and it's amazing. I was struggling with vterm and now this might become my daily driver.", "context": "", "use_case": "Emacs terminal emulator", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782147008, "item_id": 48884188, "url": "https://news.ycombinator.com/item?id=48884188", "by": "dakra", "date": "2026-07-12", "stance": "recommend", "quote": "I use that feature all the time.", "excerpt": "And not only mouse click of course, but you can use `ghostel-previous-hyperlink` (or ghostel-next-hyperlink) to quickly jump to the last hyperlink displayed. It also installs a repeat-mode map, so if you see 3 url or file links as output you can just `C-c C-p p p RET` and it will open the first link. I use that feature all the time.", "context": "Emacs user", "use_case": "terminal in Emacs, jumping hyperlinks", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782121152, "item_id": 48882572, "url": "https://news.ycombinator.com/item?id=48882572", "by": "arikrahman", "date": "2026-07-12", "stance": "recommend", "quote": "Awesome project. Been using with doom for a while.", "excerpt": "Howdy, Awesome project. Been using with doom for a while. How do you manage to get scrolling programs to work (eg Lazygit or Reasonix) where other emulators fail? Is it something special in your implentation or library that makes this work?", "context": "Doom Emacs user", "use_case": "terminal in Emacs", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782110913, "item_id": 48881932, "url": "https://news.ycombinator.com/item?id=48881932", "by": "b3n", "date": "2026-07-12", "stance": "compare", "quote": "Unfortunately with Ghostel none of this works. It's not integrated in the same way.", "excerpt": "Hi dakra! > is there something Ghostel is missing eshell allows me to manipulate text as I would in any other Emacs buffer. If I have a function which wraps a word in quotes, and bind it to a key, I can be confident it will work in eshell like it does anywhere else. It's a real killer feature. If I use evil-mode, or xah-fly-keys, or simply want to use ispell to correct the spelling of a word, it all works. Unfortunat", "context": "Emacs user", "use_case": "terminal in Emacs", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782107680, "item_id": 48881730, "url": "https://news.ycombinator.com/item?id=48881730", "by": "pingisland", "date": "2026-07-12", "stance": "recommend", "quote": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday.", "excerpt": "I also switched from vterm and ghostel is much more responsive for me. Thanks for maintaining it! I use it everyday. I do see a similar issue, where when I switch to the ghostel buffer and it wasn\u2019t visible before, the text is scrambled. I\u2019ll check if I can find a way to reliably reproduce it.", "context": "", "use_case": "terminal in Emacs", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782096224, "item_id": 48881014, "url": "https://news.ycombinator.com/item?id=48881014", "by": "aftergibson", "date": "2026-07-12", "stance": "recommend", "quote": "This is working great, it plus the Claude code integration has really adjusted how much I use Emacs.", "excerpt": "This is working great, it plus the Claude code integration has really adjusted how much I use Emacs. It's become a bit of a hub for me now.", "context": "Emacs user", "use_case": "Emacs terminal hub", "switched_from": "", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 782094672, "item_id": 48880917, "url": "https://news.ycombinator.com/item?id=48880917", "by": "jdormit", "date": "2026-07-12", "stance": "recommend", "quote": "I recently switched from vterm to ghostel, and it is generally much, much better", "excerpt": "I recently switched from vterm to ghostel, and it is generally much, much better - noticeably faster (e.g. fancy TUI apps that try to refresh the whole terminal every frame actually work), more reliable input handling, and a nicer ELisp API. That being said, there are still some rough edges. Sometimes it fails to properly clear the terminal, leaving junk at the top of the buffer before the currrent prompt line. And o", "context": "", "use_case": "Emacs terminal emulator", "switched_from": "vterm", "story": "Ghostel.el: Terminal emulator powered by libghostty"}, {"id": 778110432, "item_id": 48631902, "url": "https://news.ycombinator.com/item?id=48631902", "by": "reinitctxoffset", "date": "2026-06-22", "stance": "recommend", "quote": "I switched to `ghostel` in emacs this weekend and it's give or take life changing.", "excerpt": "Low value comment but obligatory to a superfan: mitchellh is based AF and it just keeps giving back. I switched to `ghostel` in emacs this weekend and it's give or take life changing. Keep being the fuckin man.", "context": "Emacs user", "use_case": "terminal in Emacs", "switched_from": "", "story": "Pledging Another $400k to the Zig Software Foundation"}]}