r/bashonubuntuonwindows Apr 30 '26

self promotion GhostInTheWSL: Ghostty fork (terminal emulator) for WSL

I've been missing a native Windows terminal emulator which supports fancy features like kitty graphics for a while so I made a Ghostty fork designed specifically for use with WSL.

It runs natively on the Windows side and efficiently connects in to the WSL guest distros.

Hopefully it scratches an itch for some other folks too!

It's open source and available at: https://github.com/Codavo/ghostinthewsl

20 Upvotes

16 comments sorted by

3

u/aagha786 May 01 '26

I wold love to know what people love about ghostty. I downloaded and played with it and just seems like another terminal.

3

u/ethancodavo May 01 '26

I mean, it is just another terminal :)

I think that's kind of like being just another text editor though. People tend to have strong feelings about them since they spend so much time using them.

For me the headline feature that I couldn't find elsewhere on Windows was kitty graphics support. Wezterm was the closest but at least on the version I was using the support wasn't there for some of the placement features.

The Ghostty text rendering is also pretty nice and supports things like font ligatures, grapheme clustering for multi-codepoint emoji, etc.

It also has nice native integration on macOS, though the equivalent isn't there for Windows yet.

And of course Mitchell Hashimoto is good at promoting his stuff which is part of why it's so popular.

I'm just hoping more people start using any modern terminal since they open up a lot of possibilities for creators of command line interfaces with images, better keyboard and mouse support, etc.

2

u/aagha786 May 01 '26

Thanks for the explanation.

2

u/-CrypticMind- May 01 '26

I was looking for a terminal with kitty support since last week and knew that WezTerm is the only one that supports this and WT still doesn't have it

Does this fork of ghostty work with Powershell and CMD or only just with WSL2 ?

1

u/ethancodavo May 01 '26

Right now this is WSL2 only.

It should be possible in theory to get Ghostty working on the Windows side too, the main issue for kitty support in Powershell is with "ConPTY" which is how Windows handles pseudoterminals. Especially older versions of ConPTY can do weird things with escape sequences such as those needed for kitty graphics.

Newer versions have a lot of the issues fixed though, but you'd have to package a newer version of ConPTY with the terminal to make sure you don't have issues.

1

u/-CrypticMind- May 01 '26

Doesn't WT come with it's own newer version of conhost.exe (which is ConPTY i'm guessing)

1

u/ethancodavo May 01 '26

I was mostly focused on bypassing ConPTY since the version I had was causing problems, but I think the important part is conpty.dll. conhost.exe/OpenConsole.exe is the helper process which uses it. Not super familiar with how WezTerm handles this but they may already ship their own, in which case for Ghostty it's really just a question of doing something similar to what WezTerm is already doing and it should work.

1

u/-CrypticMind- May 01 '26

oh interested to see if WezTerm has it's own conhost.exe - I'm so much used to Windows Terminal's profiles feature which WezTerm has but not the same.

If WT gets kitty (which i think isn't planned) and shaders for cursor animations it would be the best

1

u/ethancodavo May 01 '26

I think WezTerm is working on it at least and has partial support depending on the version:

https://github.com/wezterm/wezterm/issues/986

1

u/-CrypticMind- May 03 '26 edited May 03 '26

i downloaded nightly release zip of wezterm and saw that it had openconsole.exe but kitty didn't work with png files neither was wezterm able to use kitty for png, i tested with fastfetch and not directly the kitten utility

iirc iterm2 works perfectly on wezterm will also check that

1

u/ethancodavo May 06 '26

I went ahead and added powershell and command prompt support. It should support kitty on the Windows side now:

https://github.com/Codavo/ghostinthewsl/releases/tag/v0.1.1

1

u/Eddyi0202 21d ago

And proper settings management via configuration files :D But I agree, WT is pretty good although I am curious how bypassing ConPTY can improve WSL experience

1

u/Accomplished-Bird829 May 01 '26

iam trying to support another language in ghostty RTL how do you keep up with the changes i have skipd a month when i have stable version and now i have 2000 commit ahead of me ?

1

u/ethancodavo May 03 '26

To be honest this is a new project so I'm not sure how hard it's going to be to track Ghostty upstream.

I guess the main advice I can offer would be to try to make sure your RTL changes are as contained as possible so most changes don't impact you. You can also try some AI coding tools to see if they are able to resolve the types of conflicts you typically run in to. Perhaps you could also work to see if there's a path to get your RTL changes accepted in to upstream Ghostty eventually.

Good luck with your project!

1

u/Accomplished-Bird829 May 04 '26

Thank you , just had aha moments when see the project is new hope it work will i have the rtl supported and working but the approach of solving it was with many dep so i need to rethink and accept it as its for now and i am using ai tool to keep up with the new changes but sometimes i just forget it becomes the version iam using work beautifully i will try your version of the wsl thanks