A desktop app for running multiple AI coding CLI tools side by side. View 2, 3, 6, 8, or 10 terminals simultaneously in an auto-arranged grid — no window management needed.
Built for Claude Code and Codex CLI, but works with any CLI tool.
- Grid Layout — Choose 2, 3, 6, 8, or 10 terminals. They auto-arrange to fill your screen.
- One-Click CLI Launch — Select a directory, pick Claude or Codex, hit Start.
- Favorite Directories — Save frequently used project paths for quick access.
- Live Resizing — Change the terminal count on the fly. Active terminals are preserved.
- Pop-Out Windows — When reducing the grid count, active terminals pop out into their own windows instead of being killed.
- Real Terminal Emulation — Full PTY support via node-pty. Colors, interactive prompts, everything works.
- Node.js (v18+)
- Python (for node-pty native compilation)
- Visual Studio Build Tools (Windows, "Desktop development with C++" workload)
git clone https://github.com/Pusselz/terminal-grid.git
cd terminal-grid
npm installNote:
node-ptyrequires native compilation. If the postinstall rebuild fails, run manually:npx electron-rebuild -f -w node-ptyOn some Windows setups you may need to patch
node_modules/node-pty/deps/winpty/src/winpty.gypandnode_modules/node-pty/binding.gypto remove Spectre mitigation flags if the corresponding MSVC libraries aren't installed.
npm start- Launch the app — you'll see a start screen asking how many terminals you want.
- Pick a number (e.g. 6). Six equal-sized terminal panels appear.
- In each panel:
- Click Durchsuchen (Browse) to select a working directory, or pick from your favorites.
- Choose Claude or Codex.
- Click Starten (Start).
- Use the toolbar buttons at the top to change the grid count at any time.
- Electron — Multi-window desktop app
- node-pty — Native PTY (pseudo-terminal) on Windows via ConPTY
- xterm.js — Terminal rendering (with WebGL acceleration)
- electron-store — Persistent favorite directories
- esbuild — Fast main process bundling
- Vite — Renderer dev server
src/
main/
main.js # Electron app entry
pty-manager.js # PTY lifecycle (spawn, write, resize, kill)
window-manager.js # Pop-out window management
favorites-store.js # Persistent directory favorites
ipc-handlers.js # All IPC channel handlers
preload/
preload.js # Secure context bridge API
renderer/
index.html # Main HTML
app.js # Renderer entry (grid + popout modes)
styles/ # CSS
components/
start-screen.js # Initial terminal count selector
terminal-grid.js # Grid layout engine
terminal-panel.js # Individual terminal panel
directory-picker.js # Directory selection + favorites
popout-terminal.js # Pop-out terminal renderer
MIT