Pick up where you left off
Default panes use persistent tmux sessions. Hide, restart, or quit the grid and reconnect to your running work when you return.
Konatus Research Group / Desktop software
Bring your shells, coding agents, and running tasks into one organized window. Keep sessions running. See what needs your attention.
Linux · macOS · Windows with WSLg
Free for personal and commercial use
Built for parallel work
Default panes use persistent tmux sessions. Hide, restart, or quit the grid and reconnect to your running work when you return.
Bell alerts, activity indicators, and detected input prompts bring important changes into view. Jump between panes from the keyboard.
Save the current workspace, create a named copy, or rename it from the workspace menu. Choose a layout, stack panes, or zoom into one task. The command palette puts actions, themes, and workspaces within reach.
From the command line
Focus a pane, send text, capture output, or wait for a pattern. Use the event stream to follow activity across your workspace.
Start with a few commands# Bring pane three into focus
cligrid focus 3
# Wait for output from pane one
cligrid wait 1 --until "ready" --timeout 60
# Follow terminal events
cligrid eventsMeasured on a real desktop
We opened twenty Cli Griderator panes and compared their memory use with twenty Kitty windows running the same idle shell workload. Griderator used less process RAM in both comparisons, including Kitty’s mode that shares one application process across separate windows.
92.7 MiB total proportional RAM.
One grid window with twenty running terminal sessions.
1,255.6 MiB total proportional RAM.
Griderator used 92.6% less RAM in this comparison, saving about 1.14 GiB.
219.2 MiB total proportional RAM.
Griderator used 57.7% less RAM in this comparison, saving about 126.5 MiB.
Tested on Pop!_OS 24.04 with COSMIC / Wayland, using a local Cli Griderator 4.1.0 build and Kitty 0.48.2. Results apply to these tested builds and this machine; they are not measurements of every downloadable release or operating system. MiB means 1,048,576 bytes.
The scrolling grid shows only several panes at once. The remaining panes sit below the visible area, but their terminal sessions continue running. Before taking measurements, we checked that Griderator reported twenty panes, inspected pane twenty in zoom view, returned to the full grid, and verified every pane position from one through twenty.
Each of the five memory samples also verified twenty Bash shell processes and twenty attached tmux clients. The result includes the offscreen panes. This comparison uses twenty terminals in every setup; it is not a six-pane result multiplied into an estimate.
Each terminal ran an idle Bash shell with startup files disabled, backed by its own tmux session. Kitty also used tmux so both applications provided session persistence. All setups used isolated settings, fresh private tmux servers, a 10,000-line scrollback limit with mostly empty history, and a 7-point font. No coding agents, builds, or model workloads were started.
We opened real desktop windows and waited for every terminal client to attach. After settling, we took five process-memory samples roughly one second apart. The figures above are the medians from the fresh twenty-terminal rerun: one completed trial per setup. Earlier three-trial measurements were consistent, with Griderator around 91–92 MiB, independent Kitty around 1,259–1,275 MiB, and shared-process Kitty around 220 MiB.
The totals include the application, its helper processes, the tmux server and clients, and all twenty shells. We used proportional set size (PSS), which divides shared memory between the processes using it. Adding ordinary resident-memory figures (RSS) would count shared libraries repeatedly and exaggerate the cost of multiple processes. The Linux kernel documentation explains PSS and RSS.
For Kitty’s shared-process comparison, we used --single-instance with a separate test instance group. This creates individual desktop windows within one Kitty process, as described in Kitty’s command-line documentation. All test windows and sessions were closed after measurement.
The measured benefit is lower terminal overhead. If you run twenty coding agents, servers, or other programs, those programs still need their own memory. Griderator does not combine their processes or share their model contexts. The percentage saving for a busy workspace will therefore be smaller than the idle-shell percentages above.
These figures measure process RAM, not the complete system cost: compositor allocations and GPU memory are not fully included. Window geometry also differs. Kitty used 70-by-16-cell windows; Griderator used its normal scrolling layout with wider panes, and only some panes were visible at a time. Both setups had twenty live sessions, but they did not display identical arrangements.
This is a local benchmark, not a promise of the same savings on every machine. Shell customizations, terminal contents, long scrollback histories, drivers, and the programs you run can change the result.
Version 4.1.1 / Free download
Install locally. No account or subscription required.
Native desktop application
Extract the archive and run ./install, or use the Debian package on Debian and Ubuntu. Requires Python 3.10+, GTK3, VTE 0.76+, PyGObject, and tmux.
Developed and tested on Pop!_OS with COSMIC / Wayland.
Homebrew installation
Open the disk image and launch Install Cli Griderator. Requires an existing Homebrew installation; the setup installs the desktop dependencies and an application under ~/Applications.
Installer is unsigned. Native macOS verification is pending.
Runs through WSL 2 + WSLg
Run the Windows installer with a WSL 2 Linux distribution and WSLg available. The application runs in Linux and appears as a desktop window through WSLg.
Installer is unsigned. Native Windows verification is pending.
Download SHA256SUMS into the same folder as your archive. Compare the checksum to check that the downloaded file is intact.
sha256sum -c SHA256SUMS --ignore-missingOn macOS, use shasum -a 256 <filename>. In Windows PowerShell, use Get-FileHash <filename> -Algorithm SHA256 and compare the result with SHA256SUMS.
Download & install
Cli Griderator is a desktop terminal workspace controlled by the cligrid command. It opens its own terminals; it does not collect terminal windows you already have open. Your shells, editors, coding agents, and other tools must be installed separately.
Download the Debian package and SHA256SUMS above. In a terminal, change to the folder where you saved them (usually Downloads), verify the file, and install it:
cd ~/Downloads
sha256sum -c SHA256SUMS --ignore-missing
sudo apt install ./cligrid_4.1.1_all.deb
cligrid doctor
cligridThe checksum check should report OK for your package. If it reports FAILED, download it again before installing. The package manager installs the declared dependencies. Use a distribution release that provides Python 3.10+ and VTE 0.76+; older distributions may not meet those requirements.
Download the Linux archive and verify it with SHA256SUMS. On Debian, Ubuntu, or Pop!_OS, install the desktop dependencies first:
sudo apt update
sudo apt install python3-gi gir1.2-gtk-3.0 gir1.2-vte-2.91 tmuxThen extract and install as your normal desktop user. Do not run ./install with sudo.
cd ~/Downloads
tar -xzf cligrid-4.1.1.tar.gz
cd cligrid-4.1.1
./install
~/bin/cligrid doctor
~/bin/cligridOn other distributions, install equivalent GTK3, VTE, PyGObject, and tmux packages with your package manager. The archive is source plus an installer, not a self-contained binary. It copies the application into ~/.local/share/cligrid and creates ~/bin/cligrid and a desktop launcher. You can move or delete the extracted folder after successful installation.
brew --version works in Terminal.~/.local/bin/cligrid doctor
~/.local/bin/cligridThe installer is unsigned and has not yet been verified on a native Mac. If macOS blocks it, the portable archive is an alternative: verify and extract the archive, open Terminal in its extracted cligrid-4.1.1 folder, and run ./install. This still requires Homebrew and does not change the verification status.
You need Windows 11 or Windows 10 build 19044+, WSL 2, and WSLg. The installer provisions an apt-based Linux distribution such as Ubuntu. The panes run Linux shells and Linux tools inside that distribution. See Microsoft’s WSL GUI setup guide.
wsl --install -d Ubuntu. Restart when requested, then open Ubuntu and finish creating your Linux username and password.wsl --list --verbose. The distribution you will use must show version 2. Update WSL with wsl --update if needed.cligrid doctor followed by cligrid. The launcher is also at %USERPROFILE%\bin\cligrid.cmd.For the ZIP alternative, choose Extract All first. Open PowerShell in the extracted folder containing cligrid.py, then run:
powershell -ExecutionPolicy Bypass -File .\packaging\windows\install-windows.ps1With multiple distributions, append -Distro Ubuntu, replacing Ubuntu with the exact name listed by WSL. The Windows installer is unsigned and native Windows verification is pending.
Ready when you are
Run the environment check, open the grid, and make it your own.
cligrid doctorCheck dependencies and get guidance for anything missing.
cligridStart with six terminal panes. Choose your preferred layout and theme.
cligrid --helpPress Ctrl + Shift + P in the window to open the command palette.
Session persistence applies to tmux-backed panes. Reset and broadcast commands replace sessions; use them when you intend to start fresh. GUI reset dialogs ask for confirmation; command-line requests execute directly.
Your first ten minutes
Start with six panes: one for a coding agent, one for a development server, one for tests, one for Git, and two for shells or logs. Click a pane and use it like an ordinary terminal. Change into your project directory inside each pane that needs it.
Click a numbered pane button to focus it. Drag a pane title onto another to swap their positions. Double-click a title to zoom; use the zoom control again to return. Use the + button to add panes, up to twenty. Extra rows scroll into view.
Open Settings from the ☰ menu to choose your font, size, scrollback, and alerts. Use the command palette to find themes, layouts, and workspace actions. Settings are stored in ~/.config/cligrid/config.json; on Windows that path is inside WSL.
Default panes connect through tmux, which keeps terminal processes running when the grid is hidden or closed. Reopen the grid to reconnect. This does not preserve running processes across a computer reboot, WSL shutdown, or an explicitly ended session.
Run these from a terminal after installation. Pane numbers refer to positions in the current grid.
cligrid # Open or raise the grid
cligrid focus 3 # Focus pane three
cligrid zoom 3 # Enlarge pane three
cligrid zoom off # Return to the grid
cligrid panes 6 # Set the pane count (1–20)
cligrid swap 1 3 # Exchange two pane positions
cligrid status # Inspect the running workspace
cligrid hide # Hide the window
cligrid show # Show it again
cligrid restart 3 # Reconnect pane three
cligrid quit # Close the grid; tmux work continues
cligrid help zoom # Read help for one commandRestart reconnects a pane and keeps its tmux session. Reset ends a session and starts a fresh terminal. cligrid reset 3 resets only pane three; cligrid reset resets every pane.
Run in all panes, also available as cligrid all <command>, replaces the targeted sessions. Use it only when you intend to stop their existing work. GUI reset dialogs ask for confirmation; command-line requests execute directly. Save work before resetting or replacing sessions.
For automation, begin with cligrid help send, cligrid help run, and cligrid help wait. These explain text input, command execution, and waiting for output. Review the destination pane before sending commands to a running shell or agent.
If something gets stuck
For a Linux archive installation, try ~/bin/cligrid doctor; on macOS, try ~/.local/bin/cligrid doctor. If that works, add the corresponding bin directory to PATH in your shell configuration and open a new terminal. On Windows, open a new PowerShell window or invoke & "$env:USERPROFILE\bin\cligrid.cmd" doctor.
Run cligrid doctor in the environment where you installed it and address the reported missing dependencies. Linux needs a graphical desktop session; a plain SSH terminal does not provide one. On Windows, check WSL version 2 and WSLg using Microsoft’s setup guide above. Closing WSL with wsl --shutdown stops its running processes, including terminal sessions: save your work first.
A command that exits rapidly several times stops retrying and shows Restart and Edit command controls. Check that command and its dependencies before restarting it. For small text, zoom the pane or reduce the number of panes, then adjust the font in Settings. If a font is missing, select one installed on your system.
Check your installed release with cligrid version. Download and verify the new release, quit the grid, and rerun the same installation method you originally used. Back up ~/.config/cligrid beforehand. Reopen the grid and run cligrid doctor. Avoid mixing the Debian package and per-user archive installs, which can leave different versions on PATH.
Cli Griderator is free for personal and commercial use under its software license. For installation questions or bug reports, get in touch with your operating system, application version, and the results of cligrid doctor.