An infinite grid of terminals.

Stop juggling tabs and windows. Infinity Terminal arranges every shell you need on one scrollable canvas — open dozens of panes, name them, color-tag them by environment, and find them at a glance.

Native macOS Swift + SwiftTerm Apple Silicon Free & open-source

Signed and notarized by Apple — no Gatekeeper warnings. Requires macOS 14+.

Infinity Terminal is free; if it helps your workflow you can support development here.

Infinity Terminal screenshot — a grid of terminal panes with command prompts, system monitoring (top), and SSH connections (right) all visible side by side.

Why Infinity Terminal?

Tabs and tiling stop working once you have more than a handful of shells open. Infinity Terminal flips the model — instead of cramming everything into one viewport, it gives you an unlimited canvas you scroll through.

Tabs don't scale

By the time you have 10 terminals open, every tab title is truncated to three letters. You spend more time searching for the right tab than working in it.

Tiling is rigid

Split panes look great with two or four shells. Try fitting a ninth one and the layout collapses — you end up with windows on top of windows.

Infinity Terminal is a canvas

Open as many shells as you need, arranged in a 2-row grid that scrolls left/right (or top/bottom). Every pane stays full-size and reachable with a flick of the trackpad.

Built for…

Watching multiple servers at once

SSH into six production hosts, give each pane a name and a color, and keep all of them on screen. Scroll over to the staging cluster when you need it.

Comparing logs side by side

Tail logs from two services in adjacent panes without the noise of overlapping output. Add a third pane for the database, a fourth for the load balancer — the grid just grows.

Keeping environments separate

Tint your prod shells red, dev green, staging amber. Misfires drop dramatically when "which terminal am I in?" is answered by a glance, not a guess.

Long-running tasks in parallel

vim, npm run dev, claude, tail -f, an SSH session you want to leave open — keep them all running side by side without losing any to a closed tab.

Features

A short list of things that pull their weight every day.

Infinite Canvas

Add columns left or right (or top/bottom in vertical mode) — there is no limit. Each column holds one or two panes, full-size, all reachable with a scroll.

Horizontal or Vertical new

Pick the scroll direction that matches your monitor. Wide screen? Horizontal. Portrait or tall window? Vertical. Toggle from the View menu or the ↔/↕ toolbar control.

Session Restore

Layout, working directories, pane names, and colors all persist across quit, reboot, and app updates. Reopen the app and pick up exactly where you left off.

Color-Tag Your Panes

Pick a hue from the hover controls — the pane background tints subtly so you can spot prod, dev, or staging at a glance without reading hostnames.

SSH-Aware Colors

Detects successful SSH logins and assigns a consistent dark color per host or IP automatically — so the same server always looks the same, wherever it lands in the grid.

Pane Names

Rename any pane to something human ("db-staging", "deploy logs"). The label pins to the top-left of the pane and survives restarts.

Minimap

An optional bird's-eye strip that mirrors the whole grid. Drag the viewport indicator to jump anywhere — handy once your grid stretches past the visible area.

Rearrange Without Losing State

Swap panes left/right (⇄) or top/bottom (⇅) on demand. The PTY processes keep running through the move — your vim session, your dev server, your long-running build all stay alive.

Native & Fast

Built with Swift and SwiftTerm. Renders through Core Text and Metal. ~30 MB memory, sub-second startup, near-zero idle CPU — even with dozens of panes open.

Install

Download DMG

  1. Download InfinityTerminal.dmg from the button above or GitHub Releases.
  2. Open the DMG and drag Infinity Terminal to Applications.
  3. Launch from Applications.

Signed and notarized by Apple. No Gatekeeper warnings.

Build from Source

  1. git clone https://github.com/bujna94/infinityTerminal.git
  2. cd infinityTerminal
  3. swift build -c release
  4. .build/release/InfinityTerminal

Requires Xcode Command Line Tools and macOS 14+.

How to use it

Designed so a developer can pick it up in under a minute. The basics:

Keyboard shortcuts

  • ⌘⇧← / ⌘⇧→  —  add a column to the left or right
  • ⌥⌘← / ⌥⌘→  —  step one column over
  • ⌘⇧H  —  jump back to home (your first column)
  • ⌘⇧M  —  toggle the minimap
  • ⌘⇧R  —  reset the workspace
  • ⌘/  —  show the full shortcuts panel

Mouse & trackpad

  • Two-finger swipe along the scroll axis to move through columns.
  • Hover any pane for the rename (✎), color, swap (⇄ / ⇅), and close (✕) controls.
  • Click ↔ / ↕ in the toolbar (or use View menu) to switch scroll direction.
  • In vertical mode: hold Shift while scrolling to move the grid (plain scroll stays on the terminal's own scrollback).
H R /

Screenshots

Support Infinity Terminal

Infinity Terminal stays free; if it saves you time, you can fuel further development here:

Downloads

v1.0.14 — Now native. Signed and notarized by Apple.

GitHub Releases

Open Releases

Notarized DMG — no Gatekeeper warnings.

What’s New in v1.0.17

Experimental: this build adds a vertical scrolling mode. Flip the grid 90° from the new View menu or the ↔ / ↕ toolbar toggle — columns stack top-to-bottom with two side-by-side panes per row. In vertical mode, hold Shift while scrolling to navigate the grid; plain vertical scroll keeps feeding the terminal's scrollback. Feedback welcome.

  • Experimental: vertical scrolling mode. A toggle (View menu and toolbar) flips the grid 90° — columns stack top-to-bottom with side-by-side panes per row. Selection persists across launches.
  • Shift+scroll in vertical mode moves the grid; plain vertical scroll keeps going to the terminal's own scrollback.
  • Active-pane outline is now twice as thick (2pt) so the focused terminal is easier to spot.