arcboxlabs/expo-libghostty — explained in plain English
Analysis updated 2026-05-18
Build a mobile SSH or remote shell client app
Add an embedded terminal screen to a React Native developer tool
Show live command output inside a mobile app by piping bytes into the terminal view
Build a remote development or server management app with a real terminal UI
| arcboxlabs/expo-libghostty | dw2lam/openlauncher | haz3-jolt/tappy | |
|---|---|---|---|
| Stars | 18 | 18 | 18 |
| Language | Kotlin | Kotlin | Kotlin |
| Setup difficulty | moderate | moderate | hard |
| Complexity | — | 2/5 | 4/5 |
| Audience | developer | general | general |
Figures from each repo's GitHub metadata at analysis time.
Downloads native binaries during install, some package managers must be configured to allow the postinstall script.
expo-libghostty is a component that lets an Expo or React Native app show a real terminal screen on iOS and Android. It is built on top of libghostty, the same terminal engine used by the Ghostty terminal app, so the text rendering, colors, and cursor behavior come from real terminal parsing rather than a simplified imitation. The component itself does not connect to a shell or server. You are expected to bring your own connection, such as an SSH session or a remote process, and the terminal view just displays the bytes you feed it and reports back things like key presses and window resizes. This makes it flexible for building tools like a mobile SSH client, a remote development app, or any product that needs a working terminal screen inside a phone app. On iOS the terminal is rendered using Metal for GPU accelerated drawing, while Android renders through Canvas with a renderer called libghostty-vt. Both platforms support things a real terminal user would expect: keyboard input including on screen keyboards with modifier keys, touch based text selection with copy and paste, scrollback you can flick through, a blinking cursor, pinch to zoom for font size, and custom color themes. Some smaller behaviors differ slightly between iOS and Android, and the README lists those differences directly rather than hiding them. Installation is a single command through Expo, though the underlying native pieces, an iOS framework and Android static libraries, are downloaded automatically during setup and checked against saved checksums for safety. The project explains that some package managers block these download scripts by default and need to be told to allow them. Usage in code is straightforward: you import a TerminalView component, feed it the incoming bytes from your PTY or connection, and listen for events like input, resizing, or the terminal's title changing.
A real terminal screen component for Expo and React Native apps on iOS and Android, built on the Ghostty terminal engine.
Mainly Kotlin. The stack also includes Kotlin, Swift, TypeScript.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.