Nicheloom visits: 58,069 all-time · 7,637 in the last 7 days

The opportunity tracker for new startups.

Today: 1,953 launches · Niche of the day: specialized calculation tools · See what launched today →

cmux

Ghostty-based terminal with vertical tabs and notifications

Get picks like this daily. Today's launch numbers, the top launches, AI and tech news, and a daily opportunity pick, straight to your inbox.

Want to reach these readers? Sponsor an issue.

I run a lot of Claude Code and Codex sessions in parallel. I was using Ghostty with a bunch of split panes, and relying on native macOS notifications to know when an agent needed me. But Claude Code's notification body is always just "Claude is waiting for your input" with no context, and with enough tabs open, I couldn't even read the titles anymore.I tried a few coding orchestrators but most of them were Electron/Tauri apps and the performance bugged me. I also just prefer the terminal since GUI orchestrators lock you into their workflow. So I built cmux as a native macOS app in Swift/AppKit. It uses libghostty for terminal rendering and reads your existing Ghostty config for themes, fonts, colors, and more.The main additions are the sidebar and notification system. The sidebar has vertical tabs that show git branch, working directory, listening ports, and the latest notification text for each workspace. The notification system picks up terminal sequences (OSC 9/99/777) and has a CLI (cmux notify) you can wire into agent hooks for Claude Code, OpenCode, etc. When an agent is waiting, its pane gets a blue ring and the tab lights up in the sidebar, so I can tell which one needs me across splits and tabs. Cmd+Shift+U jumps to the most recent unread.The in-app browser has a scriptable API ported from agent-browser [1]. Agents can snapshot the accessibility tree, get element refs, click, fill forms, evaluate JS, and read console logs. You can split a browser pane next to your terminal and have Claude Code interact with your dev server directly.Everything is scriptable through the CLI and socket API – create workspaces/tabs, split panes, send keystrokes, open URLs in the browser.Demo video: https://www.youtube.com/watch?v=i-WxO5YUTOsRepo (AGPL): https://github.com/manaflow-ai/cmux[1] https://github.com/vercel-labs/agent-browser

HN · launched Feb 19, 2026 · 198 upvotes (top 5%) · 0 views

Niche: terminal emulators and utilities · 106 launches, 1 in the last 7 days ▼ -88% · Explore this niche →

Category and tags

  • Horizontal
  • Dev tools
  • Developer
  • Not AI
  • Hobby / open-source project

Visit website ↗ Source listing ↗

Could you build this?

Partial Building a terminal UI wrapper or multiplexer with tabs is doable, but embedding and customizing low-level terminal emulators (Ghostty/libghostty in Zig/Metal/Cocoa) and parsing real-time PTY state requires systems UI expertise.

What it would actually take: The stack likely uses macOS native APIs (Swift/AppKit) or Zig/Rust binding directly into Ghostty's core rendering engine (Metal-accelerated terminal emulation). The difficult technical pieces include cross-process pseudo-terminal (PTY) management, escape sequence parsing, terminal buffer inspection to infer CLI tool status, and macOS native notification hooks. Requires systems-level Cocoa/Metal and terminal protocol domain experience.

Discussion

20 comments analyzed.

Competitors mentioned: WaveTerm, tmux-based solutions (Tabby), WezTerm, iTerm2, Ghostty

Concerns raised: Risk of reinventing an IDE instead of solving specific problems, WaveTerm has performance issues (laggy, Electron-based), Unclear what pre-launch status means

Feature requests: Horizontal scrolling for infinite terminal appending instead of squishing panels, Disable automatic reordering of tab groups by recency, Start in dashboard mode by default to show boxes on startup, Zoom behavior should keep tab bar visible and not zoom out when making splits, SSH session context preservation when opening new workspaces with proxy support

Competitors

Other products that read as similar to this one : 617 launches clear the similarity bar, closest 8 shown.

Attention rank: #86 of 618 (itself plus its competitors, highest first, normalized so YC and Product Hunt are compared fairly).

Launched 98 days after the earliest competitor.

The niche, labels, vibe code rating and competitor comparison on this page are analysis by Nicheloom. If you use them, please credit nicheloom.com. How you may use our data.