Skip to content

Repository files navigation

Terminal Manager

A desktop tool for managing Windows Terminal profiles and launching multi-tab workspaces with one click.

Terminal Manager sits alongside Windows Terminal as a visual dashboard for organizing your shell profiles, customizing their appearance, and launching complex multi-tab sessions instantly. Profiles sync directly into Windows Terminal's settings.json, so they appear natively in the WT dropdown.

Screenshots

Dashboard Profile dashboard with search, filtering, and one-click launch

Profile Editor Profile editor with shell picker, startup commands, and live preview

Group Editor Session group editor — build multi-tab, split-pane workspaces with command preview

Features

Profile Management

  • Create, edit, clone, and organize terminal profiles
  • Full WT visual properties: color scheme, tab color, font, opacity, acrylic, background image
  • Shell picker with auto-detected and common shells (PowerShell, cmd, WSL, Git Bash)
  • Startup commands that run when a session opens
  • Profile notes for reminders ("uses staging DB", "needs VPN first")
  • Pin favorites to the top of the dashboard
  • Add icons to cards
  • Add tags to profiles

Session Groups

  • Build multi-tab workspaces with split panes
  • Profile selector per pane, horizontal/vertical split controls
  • Launch an entire workspace with one click
  • Live wt.exe command preview in the editor

Windows Terminal Integration

  • Import existing profiles from Windows Terminal
  • Sync profiles to WT settings.json so they appear natively in the WT dropdown
  • Automatic backup before every sync

Dashboard

  • Search and filter by name or tag
  • Grid and list views
  • Drag-to-reorder with visual feedback
  • Last-launched timestamps
  • Profile validation warnings on launch (missing directories, shells, icons)
  • Export/import portable config files

System

  • Runs on localhost:3099, bound to loopback only
  • Origin validation on mutating requests (CSRF protection)
  • Production mode: single npm start builds and serves everything

Quick Start

1. Install Node.js (if you don't have it)

Terminal Manager requires Node.js 18 or later. Download the LTS installer from nodejs.org and run it — this also installs npm, the package manager used in the steps below.

To check if Node is already installed, open a terminal and run:

node --version

If you see v18.x.x or higher, you're good. If you get an error, install Node first.

2. Clone and run

git clone https://github.com/augustdragon/terminal-manager.git
cd terminal-manager
npm install
npm start

npm install downloads dependencies (first run only). npm start builds the app, starts the server on http://localhost:3099, and opens your browser automatically.

Reset configuration

To start fresh, delete the config file and restart. The config is stored at packages/server/data/config.json (created on first run):

del packages\server\data\config.json
npm start

This removes all profiles and groups. The server creates a new config on startup and the dashboard will prompt you to import from Windows Terminal again.

Development

npm run dev

Runs the Express server (port 3099) and Vite dev server (port 5173) concurrently with hot reload.

How It Works

Terminal Manager is a local web app with three packages:

Package Role
packages/shared TypeScript types and Zod schemas shared between server and client
packages/server Express API — manages config, syncs to WT, launches terminals
packages/client React dashboard — profile editor, group builder, settings

Profiles are stored in data/config.json and synced to Windows Terminal's settings.json on save and launch. The sync writes WT-compatible profile entries keyed by GUID, so they appear in the WT dropdown alongside built-in profiles.

Launches use wt.exe with an argument array (no shell interpretation) to open tabs and split panes. Group launches compose multi-tab commands using WT's ; subcommand separator.

Notes

  • Acrylic effect on VMs: The acrylic blur effect requires GPU composition, which is not available in most virtual machines or Remote Desktop sessions. The opacity and acrylic settings will sync correctly to Windows Terminal, but the visual effect won't render without hardware acceleration. This is a Windows Terminal limitation, not a Terminal Manager issue.

Tech Stack

Backend: Express, Pino, Zod, Helmet, nanoid Frontend: React 19, React Router, TanStack Query, Tailwind CSS, dnd-kit, react-colorful Build: TypeScript, Vite, npm workspaces

License

MIT

About

A session manager for Windows Terminal — manage profiles, groups, and workspace launches from a local dashboard

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages