Developer tools / Rust / terminal software
GridBash
A local, cross-platform workspace for launching, isolating, monitoring, and steering CLI coding agents side by side in real PTY panes.
Coding agents are long-running processes, not chat tabs.
The problem
Once several coding agents run at the same time, the difficult part is no longer starting another chat. It is process control: terminal fidelity, targeted input, repository isolation, cancellation, recovery, and enough shared context to coordinate without mixing every agent's output together.
The approach
GridBash treats each agent as an ordinary local process inside a real pseudoterminal. A Rust terminal UI provides the grid, while explicit targeting, per-pane identities, optional Git worktrees, session restore, background terminals, and an opt-in local control API make parallel work inspectable and reversible.
Public capabilities
- Up to 100 PTY-backed panes across tabbed terminal grids.
- Profiles for Codex, Claude, Gemini, Aider, OpenCode, Goose, Amp, Cursor, Copilot, shells, and custom commands.
- Focused, selected-set, or whole-grid input routing.
- Optional repo-local Git worktree isolation for parallel agents.
- Session restore and optional background terminals that survive closing the UI.
- A localhost-only, token-authenticated control API that is disabled by default.
Boundaries
- GridBash runs agent CLIs already installed by the user; it does not bundle or replace them.
- The control API is opt-in, and returned agent output is treated as untrusted context.
- Live background PTYs remain local to the machine and do not survive a reboot.
Straight answers
What is GridBash?
GridBash is a cross-platform Rust terminal workspace for running and coordinating multiple CLI coding agents in real PTY panes.
Why use real PTYs for coding agents?
Coding-agent CLIs are interactive terminal programs. Real PTYs preserve terminal behavior, authentication flows, keyboard input, streaming output, and process lifecycle semantics that a chat-style wrapper can lose.
How does GridBash reduce conflicts between agents?
It can launch each pane in an isolated Git worktree, route prompts to explicit targets, and expose stable pane identities for inspection and follow-up work.