{"slug": "opentui", "name": "OpenTUI", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 3, "commenters": 10, "warners": 1, "score": 2.457, "rising": -0.98, "first": "2025-12-02", "latest": "2026-10-25", "why": "Their backend, OpenTUI [^2], is a large part of this", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 7, "compare": 1, "warn": 1}, "spark": [0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "Their backend, OpenTUI [^2], is a large part of this", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/anomalyco/opentui", "official_url": "https://github.com/anomalyco/opentui", "pricing": "", "aliases": ["OpenTUI", "opentui"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 769269617, "item_id": 48079351, "url": "https://news.ycombinator.com/item?id=48079351", "by": "jauntywundrkind", "date": "2026-05-09", "version": null, "stance": "recommend", "quote": "There is some really cool work to port opencode's underlying opentui to Node.js", "excerpt": "There is some really cool work to port opencode's underlying opentui to Node.js, including some new FFI work in node itself that got merged (called... drum roll please... node:Ffi! Really cool stuff. https://github.com/anomalyco/opentui/pull/939 https://github.com/nodejs/node/pull/62762 Also worth noting that opentui is... Zig! Very unclear what it's going to take to get this reviewed and shipped, but some very high ", "context": "", "use_case": "", "switched_from": "", "story": "Bun's experimental Rust rewrite hits 99.8% test compatibility on Linux x64 glibc"}, {"id": 760200417, "item_id": 47512526, "url": "https://news.ycombinator.com/item?id=47512526", "by": "rothific", "date": "2026-03-24", "version": null, "stance": "recommend", "quote": "OpenTUI's architect is more modern", "excerpt": "Yep, mainly performance - specifically page load time (near instant for Gridland vs ~2-3s for Ink Web). The other issue was flickering. Tbh rendering directly into a canvas is just a better approach and OpenTUI's architect is more modern. I love that xkcd, I never know what to do, so I'll just \uff1a\uff09)", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Gridland: make terminal apps that also run in the browser"}, {"id": 744800066, "item_id": 46550004, "url": "https://news.ycombinator.com/item?id=46550004", "by": "dboon", "date": "2026-01-08", "version": null, "stance": "recommend", "quote": "built an entire custom TUI backend that supports a good subset of HTML/CSS", "excerpt": "This is an unusual L for Anthropic. The unfortunate truth is that the engineering in opencode is so far ahead of Claude Code. Obviously, CC is a great tool, but that's more about the magic of the model than the engineering of the CLI. The opencode team[^1][^2] built an entire custom TUI backend that supports a good subset of HTML/CSS and the TypeScript ecosystem (i.e. not tied to Opencode, a generic TUI renderer). Th", "context": "", "use_case": "", "switched_from": "", "story": "Anthropic bans use of API in OpenCode CLI tool"}, {"id": 737997922, "item_id": 46124870, "url": "https://news.ycombinator.com/item?id=46124870", "by": "dboon", "date": "2025-12-02", "version": null, "stance": "recommend", "quote": "Their backend, OpenTUI [^2], is a large part of this", "excerpt": "Incredible news on so, so many levels! (1) Bun is what technical startups should be. Consistently excellent decisions, hyper focused on user experience, and a truly excellent technical product. (2) We live in a world where TUIs are causing billion dollar acquisitions. Think about that. Obviously, Bun itself is largely orthogonal to the TUIs. Just another use case. But also obviously, they wouldn't have been acquired ", "context": "", "use_case": "", "switched_from": "", "story": "Anthropic acquires Bun"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 803768017, "item_id": 50235501, "url": "https://news.ycombinator.com/item?id=50235501", "by": "oDot", "date": "2026-10-25", "version": null, "stance": "warn", "quote": "Migrating my screenwriting software[0] from OpenTUI to Roc", "excerpt": "I do not get the appeal of web-based GUIs now that we have LLMs. Migrating my screenwriting software[0] from OpenTUI to Roc thought me what were once rough edges that take a lot of time are now just a prompt away from a solution. It now uses 10x less RAM, bundle is half the size, and my initial implementation is 700-800 fps for scrolling and 200 fps for writing. Granted, a TUI is less complex than a full-blown GUI, b", "context": "", "use_case": "Terminal UI framework", "switched_from": "", "story": "JetBrains Thinkrail"}]}], "who": [], "tags": [], "use_cases": ["terminal ui framework", "terminal ui", "tui framework"], "compared": [{"slug": "opencode", "name": "OpenCode", "co": 7, "switched_from": 0, "switched_to": 0}, {"slug": "bubble-tea", "name": "Bubble Tea", "co": 1, "switched_from": 1, "switched_to": 0}, {"slug": "ink", "name": "Ink", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "claude-code", "name": "Claude Code", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "gridland", "name": "Gridland", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=47505731", "title": "Show HN: Gridland: make terminal apps that also run in the browser", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50233294", "title": "JetBrains Thinkrail", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49876760", "title": "Show HN: Hntui \u2013 A TUI for Hacker News", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49083700", "title": "Show HN: Base-GPUI: A GPUI port of Base UI headless components", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48073680", "title": "Bun's experimental Rust rewrite hits 99.8% test compatibility on Linux x64 glibc", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47268662", "title": "The next generations of Bubble Tea, Lip Gloss, and Bubbles are available now", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {"recommend": 1, "neutral": 1}, "2026-01": {"recommend": 1, "neutral": 1}, "2026-02": {"neutral": 1}, "2026-03": {"compare": 1, "neutral": 2, "recommend": 1}, "2026-04": {}, "2026-05": {"recommend": 1}, "2026-06": {}, "2026-07": {"neutral": 1}, "2026-08": {}, "2026-09": {"neutral": 1}, "2026-10": {"warn": 1}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 803768017, "item_id": 50235501, "url": "https://news.ycombinator.com/item?id=50235501", "by": "oDot", "date": "2026-10-25", "version": null, "stance": "warn", "quote": "Migrating my screenwriting software[0] from OpenTUI to Roc", "excerpt": "I do not get the appeal of web-based GUIs now that we have LLMs. Migrating my screenwriting software[0] from OpenTUI to Roc thought me what were once rough edges that take a lot of time are now just a prompt away from a solution. It now uses 10x less RAM, bundle is half the size, and my initial implementation is 700-800 fps for scrolling and 200 fps for writing. Granted, a TUI is less complex than a full-blown GUI, b", "context": "", "use_case": "Terminal UI framework", "switched_from": "", "story": "JetBrains Thinkrail"}, {"id": 798042528, "item_id": 49877658, "url": "https://news.ycombinator.com/item?id=49877658", "by": "tom1337", "date": "2026-09-28", "version": null, "stance": "neutral", "quote": "It uses OpenTUI which is build in Zig", "excerpt": "It uses OpenTUI which is build in Zig: https://github.com/anomalyco/opentui", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Hntui \u2013 A TUI for Hacker News"}, {"id": 785450867, "item_id": 49090679, "url": "https://news.ycombinator.com/item?id=49090679", "by": "jauntywundrkind", "date": "2026-07-28", "version": null, "stance": "neutral", "quote": "opencode 's opentui library", "excerpt": "Oh definitely! It's remarkable to me that this web toolkit is atop GPUI, which is a native app rust toolkit! We don't have a ton of cross native/web libraries, afaik! https://gpui.rs/ Flutter does both, but Flutter does it by being a giant canvas with its own drawing engine. It's awesome-sauce to see such a more harmonious path. Different topic but I'd done a little playing around with trying to write a HTML front en", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Base-GPUI: A GPUI port of Base UI headless components"}, {"id": 769269617, "item_id": 48079351, "url": "https://news.ycombinator.com/item?id=48079351", "by": "jauntywundrkind", "date": "2026-05-09", "version": null, "stance": "recommend", "quote": "There is some really cool work to port opencode's underlying opentui to Node.js", "excerpt": "There is some really cool work to port opencode's underlying opentui to Node.js, including some new FFI work in node itself that got merged (called... drum roll please... node:Ffi! Really cool stuff. https://github.com/anomalyco/opentui/pull/939 https://github.com/nodejs/node/pull/62762 Also worth noting that opentui is... Zig! Very unclear what it's going to take to get this reviewed and shipped, but some very high ", "context": "", "use_case": "", "switched_from": "", "story": "Bun's experimental Rust rewrite hits 99.8% test compatibility on Linux x64 glibc"}, {"id": 760200417, "item_id": 47512526, "url": "https://news.ycombinator.com/item?id=47512526", "by": "rothific", "date": "2026-03-24", "version": null, "stance": "recommend", "quote": "OpenTUI's architect is more modern", "excerpt": "Yep, mainly performance - specifically page load time (near instant for Gridland vs ~2-3s for Ink Web). The other issue was flickering. Tbh rendering directly into a canvas is just a better approach and OpenTUI's architect is more modern. I love that xkcd, I never know what to do, so I'll just \uff1a\uff09)", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Gridland: make terminal apps that also run in the browser"}, {"id": 760175313, "item_id": 47510957, "url": "https://news.ycombinator.com/item?id=47510957", "by": "oDot", "date": "2026-03-24", "version": null, "stance": "neutral", "quote": "Could I use OpenTUI Core with this?", "excerpt": "Very nice Could I use OpenTUI Core with this? I'd like to replace the hero at https://blisswriter.app with the actual app", "context": "", "use_case": "terminal UI", "switched_from": "", "story": "Show HN: Gridland: make terminal apps that also run in the browser"}, {"id": 756325970, "item_id": 47270373, "url": "https://news.ycombinator.com/item?id=47270373", "by": "thoughtfulchris", "date": "2026-03-05", "version": null, "stance": "neutral", "quote": "Anomaly, which builds OpenCode + OpenTUI", "excerpt": "Theory: terminal apps are closing the agent self-improvement loop because agents can use TUIs more easily than web/desktop/mobile. Anomaly, which builds OpenCode + OpenTUI), is also doing some really interesting stuff in this space with their custom renderer. And then there's Ink (https://github.com/vadimdemedes/ink) which is what Claude Code uses. I also built Ink Web (https://github.com/cjroth/ink-web) to make Ink ", "context": "", "use_case": "", "switched_from": "", "story": "The next generations of Bubble Tea, Lip Gloss, and Bubbles are available now"}, {"id": 755637777, "item_id": 47227361, "url": "https://news.ycombinator.com/item?id=47227361", "by": "jitl", "date": "2026-03-02", "version": null, "stance": "compare", "quote": "especially compared to https://github.com/anomalyco/opentui", "excerpt": "A good toolkit for Ink is much needed, although Ink itself leaves something to be desired, especially compared to https://github.com/anomalyco/opentui (bun only, used by opencode) I tried to build a Viewport component in Ink, but after scrolling to the bottom of a list of 150 rows, Ink started to render things strangely - the top line overflowed the box bounds, and a few blank lines appeared inside the viewport. I co", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Giggles \u2013 A batteries-included React framework for TUIs"}, {"id": 750449953, "item_id": 46903122, "url": "https://news.ycombinator.com/item?id=46903122", "by": "shoeb00m", "date": "2026-02-05", "version": null, "stance": "neutral", "quote": "Opencode wrote their own tui library in zig", "excerpt": "Opencode wrote their own tui library in zig, and then build a solidjs library on top of that. https://github.com/anomalyco/opentui", "context": "", "use_case": "", "switched_from": "", "story": "Claude Opus 4.6"}, {"id": 747227841, "item_id": 46701740, "url": "https://news.ycombinator.com/item?id=46701740", "by": "esafak", "date": "2026-01-20", "version": null, "stance": "neutral", "quote": "an in-house framework (OpenTUI) written in zig+solidjs", "excerpt": "Opencode uses SolidJS: We moved from the go+bubbletea based TUI which had performance and capability issues to an in-house framework (OpenTUI) written in zig+solidjs https://opencode.ai/docs/1-0/", "context": "", "use_case": "TUI framework", "switched_from": "Bubble Tea", "story": "Claude Chill: Fix Claude Code's Flickering in Terminal"}, {"id": 744800066, "item_id": 46550004, "url": "https://news.ycombinator.com/item?id=46550004", "by": "dboon", "date": "2026-01-08", "version": null, "stance": "recommend", "quote": "built an entire custom TUI backend that supports a good subset of HTML/CSS", "excerpt": "This is an unusual L for Anthropic. The unfortunate truth is that the engineering in opencode is so far ahead of Claude Code. Obviously, CC is a great tool, but that's more about the magic of the model than the engineering of the CLI. The opencode team[^1][^2] built an entire custom TUI backend that supports a good subset of HTML/CSS and the TypeScript ecosystem (i.e. not tied to Opencode, a generic TUI renderer). Th", "context": "", "use_case": "", "switched_from": "", "story": "Anthropic bans use of API in OpenCode CLI tool"}, {"id": 740430770, "item_id": 46276923, "url": "https://news.ycombinator.com/item?id=46276923", "by": "xmorse", "date": "2025-12-15", "version": null, "stance": "neutral", "quote": "Powered by opentui", "excerpt": "https://termcast.app A Raycast porting to the terminal. It will let you run Raycast extensions as TUI apps. Powered by opentui", "context": "", "use_case": "", "switched_from": "", "story": "Ask HN: What Are You Working On? (December 2025)"}, {"id": 737997922, "item_id": 46124870, "url": "https://news.ycombinator.com/item?id=46124870", "by": "dboon", "date": "2025-12-02", "version": null, "stance": "recommend", "quote": "Their backend, OpenTUI [^2], is a large part of this", "excerpt": "Incredible news on so, so many levels! (1) Bun is what technical startups should be. Consistently excellent decisions, hyper focused on user experience, and a truly excellent technical product. (2) We live in a world where TUIs are causing billion dollar acquisitions. Think about that. Obviously, Bun itself is largely orthogonal to the TUIs. Just another use case. But also obviously, they wouldn't have been acquired ", "context": "", "use_case": "", "switched_from": "", "story": "Anthropic acquires Bun"}]}