v1.6.0 · MIT · macOS 14+ · Universal

Lay your terminals out as tiles.

Humi is a macOS app that arranges multiple terminal sessions as tiles in one window. Press +, pick a folder, and a session starts there, shown as a tile. Add as many sessions as you want.

Free and open source (MIT) · Built by Yuki Orita (Yuki_Orita)

How it works

Three steps from +

The window's + is always there — whether the window is empty or full of sessions.

  1. Press +

    The toolbar + (or ⌘N) brings up a sheet with two choices.

  2. Choose how to open

    Open as-is in your home folder, or pick a folder to open in. You can also pick a profile.

  3. Open as a tile

    A terminal started there appears as a tile. A tall, narrow pane splits top/bottom; a wide one splits side by side.

Features

One window, as many as you need

The terminal is an embedded emulator via SwiftTerm — real PTY, real shell.

v1.6: faster launch, reliable selection
Fonts load in the background and restored shells start staggered, so the window paints first. Rearrange drag is now title-bar only; the terminal body reliably supports drag-select, double-click (word), triple-click (line), and ⌘C, plus Select All / Copy Selection in the Edit and context menus.
v1.5: selection copy, six languages, stability
Select terminal output with the mouse, then copy with ⌘C or the context menu. Humi now supports Japanese / English / 中文 / Português / Español / Deutsch. Notes ZIP hangs and error reporting, large-output buffering, the shared clock, and resize work were audited and hardened. The download is universal for Apple Silicon and Intel.
v1.3: stability & polish
Fixes for an orphaned shell on close-then-quit, an output-trigger flood, and shortcuts swallowed while editing text. Hover / high-contrast keyboard-focus rings on the custom controls, plus Increase-Contrast support. ⌃⌘] / ⌃⌘[ resize a pane from the keyboard.
v1.2: split panes & arrangements
Split panes horizontally or vertically (⌘D / ⌘⇧D), move focus with ⌘⌃+arrows, drag a divider to resize. Save and restore the whole pane tree, sessions, and window frame. A global toggle hotkey; notifications for long commands, the bell, and output matches; regex triggers; fish OSC 7.
v1.1: languages, themes, profiles
Japanese / English / 中文 / Português / Español / Deutsch (auto from the OS). 6 themes + custom themes + Light/Dark/System, ⌘F search, URL & path actions, profiles (shell + env + startup command) with a launcher, rebindable shortcuts, and a status bar with git branch.
Tiled layout
Reflows into as many columns as fit. Each tile can be maximized and restored, and runs independently.
Unlimited sessions
+ shows in every state; tiles grow in the order you add them.
Open in a folder
Starts with the chosen folder as the working directory — or "open as-is" for home.
Clear the buffer
⌘K clears the focused session's screen and scrollback, keeping the prompt and any half-typed command.
Restart
A tile whose shell exited restarts in its original folder with one click.
Notes sidebar
A Markdown scratchpad on the right, split into tabs by purpose. Its contents survive an app restart. In preview, each code block has a one-click Copy button. Export all notes as a ZIP to share with Humi on another Mac.
Shell settings
Login shell / zsh / bash / fish / custom (path + args), with an optional -l.
Clean shutdown
On quit, every child shell is stopped synchronously (SIGTERM → SIGKILL → reap). Nothing is left orphaned.
Restore
The session list and notes are restored on launch; a session whose folder is gone reopens in home.

Requirements & build

macOS 14 or later

Requirements

  • ◆ macOS 14.0 or later (Apple Silicon / Intel)
  • ◆ Ad-hoc signed — on first launch, allow it from System Settings › Privacy & Security
  • ◆ v1.0 is embedded-emulator only

Build from source (no Xcode)

git clone https://github.com/oriyu90/humi
cd humi
bash Scripts/build-app.sh release
open dist/Humi.app