All your Windows terminals, visible and ready.
Run Git Bash, PowerShell, Command Prompt, and WSL side by side. Park a session without stopping it, then save the whole setup as a workspace you can reopen in one click.
Website · Release page · Quick start · Features · Privacy · Build from source
The Terminal Mosaic keeps live shells on one canvas, with every session one click away in the Navigator.
Terminal tabs work until a project needs an API server, frontend watcher, test runner, logs, and a scratch shell at the same time. GitDeck turns that pile of tabs into a reusable visual workspace.
| What you need | What GitDeck gives you |
|---|---|
| See what is running | Focus, Columns, Main + Side, and an elastic Grid that keeps every unparked session on one page. |
| Clear space without losing work | Park a terminal to hide it from the canvas while its process and scrollback keep running. |
| Recreate a project setup | Save terminal names, shells, folders, and optional startup commands as a workspace. |
| Start work from Windows | Open a folder from Explorer or create a desktop shortcut for a saved workspace. |
| Keep local work local | No account, cloud sync, analytics, or telemetry. The Git status UI exposes no write actions. |
GitDeck is a terminal workspace manager, not a Git client. Its built-in Git integration only invokes status commands and exposes no commit, push, pull, merge, reset, or checkout action. Commands you type inside a shell still behave normally and can, of course, change a repository.
Note
GitDeck requires Windows 10 or 11 on x64. A normal installation does not require Node.js or Git. Windows PowerShell and Command Prompt are built in; Git Bash, PowerShell 7, and WSL appear when they are installed on your PC.
- Download
GitDeck-Setup-0.5.2-x64.exe. - Open the downloaded file. Keep the default
%LOCALAPPDATA%\Programs\GitDeckfolder or choose another location. - Launch GitDeck from the Start menu or desktop shortcut.
Warning
GitDeck is not currently code-signed, so Microsoft Defender SmartScreen may show a warning. Confirm that the download came from this repository, select More info, then Run anyway. See Verify the download if you want to check the file before opening it.
Managed or silent installation with MSI
Download
GitDeck-Setup-0.5.2-x64.msi,
then run:
msiexec /i .\GitDeck-Setup-0.5.2-x64.msi /qnThe MSI wraps the same per-user installer as the EXE. Uninstall GitDeck from
Settings → Apps → Installed apps; the wrapper is intended for deployment,
not msiexec /x inventory.
Show SHA-256 verification steps
PowerShell can calculate the SHA-256 digest without installing another tool:
(Get-FileHash .\GitDeck-Setup-0.5.2-x64.exe -Algorithm SHA256).Hash.ToLower()Compare the result with the digest published by GitHub for the v0.5.2 assets:
| File | Expected SHA-256 |
|---|---|
GitDeck-Setup-0.5.2-x64.exe |
0a94481576be01d32f357aa7282a4830262140ce89865fec3f9fd7290bef3b1f |
GitDeck-Setup-0.5.2-x64.msi |
68d252e47424cddda2fbc7a474f88df75458ed4819a13a4988b5a805794948d6 |
If the values differ, do not run the installer. Delete it and download a new copy from the official release page.
You can build a useful workspace in about a minute:
- Select New Terminal or press
Ctrl+Tto open the default shell. - Use the arrow beside New Terminal to choose another detected shell. Your choice becomes the new default.
- Pick Focus, Columns, Main + Side, or Grid above the canvas.
- Use the pane controls to rename, duplicate, focus, park, or close a terminal.
- Open Workspaces → New workspace. Give each terminal a name, working directory, shell, and optional startup command, then select Save workspace.
A typical full-stack workspace might look like this:
Workspace: web-app
├─ API Git Bash C:\dev\web-app\api npm run dev
├─ Web PowerShell 7 C:\dev\web-app\web npm run dev
├─ Tests Command Prompt C:\dev\web-app npm test -- --watch
└─ Scratch Windows PowerShell C:\dev\web-app
Opening that workspace reuses matching sessions that are already running and creates any that are missing in the right folders. Saved startup commands run for newly created sessions. Live processes and terminal output are never serialized.
Switch layouts at any time without restarting a shell:
| Layout | Visible sessions | Best for |
|---|---|---|
| Focus | 1 | Concentrating on one terminal. Select the focus control again to restore the previous layout. |
| Columns | 2 | Comparing two processes side by side. |
| Main + Side | 3 | One primary shell with two supporting panes. |
| Grid (default) | All unparked sessions | Keeping the whole project in view; the grid rebalances as terminals are added or the window is resized. |
Once a session is visible, the Add new Terminal tile stays at the end of Grid and appears in any unfilled fixed layout. It opens a fresh default terminal rather than copying the selected pane.
Park is not close. Parking removes a pane from the canvas but keeps the shell alive. Closing a pane ends its shell process and asks for confirmation by default.
The Navigator lists every running session, including parked ones. Search by
terminal name, shell, or directory; select a result to bring it back to the
canvas. Ctrl+Tab and Ctrl+Shift+Tab move through sessions without the mouse.
A workspace is a blueprint, not a snapshot. It stores:
- the workspace and terminal names;
- each workin 912C g directory and shell profile;
- an optional startup command for each terminal;
- the terminal that should be active.
Opening a workspace is an explicit request to start its commands. Restoring the last workspace after relaunch recreates its terminals, but startup commands do not rerun unless you enable that option in Settings.
- Open a folder: after GitDeck has been launched once from an installed
build, hold
Shiftand right-click a folder or the background inside it, then choose Open in GitDeck. - Create a workspace shortcut: right-click a saved workspace in GitDeck,
choose Create shortcut…, and save the
.lnkwherever it is useful. - Both actions reuse a running GitDeck window. Opening the same folder again focuses its existing terminal instead of creating a duplicate.
- The focused terminal shows its repository branch and working-tree status. The built-in UI exposes no Git write action.
- File → Port… lists TCP listeners, bound UDP endpoints, and their owning processes. Termination is selected explicitly, confirmed, and revalidated. GitDeck refuses its own process, Windows PIDs 0 and 4, cross-session targets, and any target whose identity it cannot verify.
GitDeck detects known shells from their standard Windows locations and only shows profiles that are available.
| Shell | Availability |
|---|---|
| Windows PowerShell | Included with Windows. |
| Command Prompt | Included with Windows. |
| Git Bash | Install Git for Windows. |
| PowerShell 7 | Install PowerShell 7 for a modern pwsh profile. |
| WSL | Enable Windows Subsystem for Linux and install a distribution. |
| Shortcut | Action |
|---|---|
Ctrl+T |
Open a new terminal with the default shell. |
Ctrl+W |
Close the focused terminal. |
Ctrl+Tab |
Move to the next session. |
Ctrl+Shift+Tab |
Move to the previous session. |
- No account or telemetry. Settings, workspaces, and operational logs stay on your PC. Terminal input and output are not logged.
- Your data survives uninstall. By default it remains under
%APPDATA%\GitDeck, so reinstalling can find it. To remove saved data, delete that folder and any custom data folder you selected; workspace.lnkfiles you created are separate and can be deleted like normal shortcuts. - The data folder is movable. Choose another folder in Settings. GitDeck copies or adopts the selected data immediately, uses it from the next launch, and does not delete the old copy. Operational logs remain in the default app data folder.
- Update checks are transparent. When enabled, GitDeck makes at most one
unauthenticated HTTPS metadata request per day to the GitHub Releases API.
It sends a
GitDeckuser-agent but no account, token, or app-generated device identifier, and never downloads or installs an update automatically. You can turn the check off in Settings. - App exit is explicit. Closing GitDeck cleanly stops shell processes it owns. Workspaces restore terminal definitions, not running processes.
Does parking a terminal stop my process?
No. Parking only hides the terminal from the canvas. Its process, output, and scrollback remain available from the Navigator. Closing the terminal is what stops the process.
Will my processes continue after GitDeck exits?
No. GitDeck shuts down the processes it owns. A saved workspace can recreate the terminals later, but it does not preserve process memory or terminal output.
Can GitDeck change my Git repository?
The built-in integration only invokes status commands and offers no Git write actions. Commands entered in a terminal remain unrestricted, just as they are in any other shell.
Why is a shell missing from the New Terminal menu?
GitDeck only lists shells it detects in standard install locations. Install the shell, restart GitDeck, and check the menu again. Windows PowerShell and Command Prompt should already be present on supported Windows versions.
Source development requires Git and Node.js 22.22.2 or newer:
git clone https://github.com/b0yblake/Git-Deck.git
cd Git-Deck
npm ci
npm run devUseful project commands:
| Command | Purpose |
|---|---|
npm run ci |
Run type checking, lint, and the complete Vitest suite. |
npm run build |
Create the production Electron bundles. |
npm run package |
Build the Windows EXE, MSI, and local checksums file. |
npm run test:e2e |
Exercise the packaged application with Playwright. |
npm run verify:release |
Run the full release verification sequence. |
Architecture decisions, test contracts, and implementation history live in
plans/. The release automation is documented in
plans/phase-22-release-packaging.md.
- For bugs and feature requests, use GitHub Issues.
- Report vulnerabilities privately through GitHub Security Advisories.
- Support is best-effort; there is no support SLA or production warranty.
- GitDeck is licensed under the MIT License. You may use, modify, and distribute the project, including commercially, as long as the copyright and license notices are preserved. The software is provided without warranty.
Spend less time finding terminals. Spend more time using them.