Shell Profiles
The Shell Profiles tab in Settings controls which shell a new tab launches and where it starts. TermFlow detects the shells already installed on your machine, so this tab is about choosing a default and setting a working directory — not hand-writing shell configs.
Open Settings with Ctrl/Cmd+, and pick Shell Profiles from the left rail. It sits alongside Appearance, Terminal Behavior, and Connections.
What a shell profile is
A profile is a named shell definition — a display name, the executable path it launches, and an optional start directory. TermFlow builds this list by scanning your system for shells it recognizes, so the exact entries you see depend on what is installed.
| OS | Profiles you are likely to see |
|---|---|
| Windows | PowerShell (7 preferred if present), Command Prompt, Git Bash, Cygwin Bash, and one entry per installed WSL distribution |
| macOS | Zsh (typical default), Bash |
| Linux | Bash (typical default), Fish, and other detected shells |
You do not create the base list yourself. TermFlow discovers installed shells on startup and presents them here. One profile is marked Default — on Windows that is PowerShell, and on macOS/Linux it is your platform's primary shell (Zsh or Bash) unless you change it.
The Shell Profiles panel
Each detected shell appears as a card. The card for the current default is highlighted and carries a Default badge; every other card shows a Set as Default button.
+--------------------------------------------------------------+
| Shell Profiles |
+--------------------------------------------------------------+
| |
| PowerShell [ Default ] |
| C:\Program Files\PowerShell\7\pwsh.exe |
| |
| Start In Directory |
| [ Leave empty to use default ] |
| Enter absolute path (e.g. C:\Users\Dev) |
| |
+--------------------------------------------------------------+
| |
| Command Prompt [ Set as Default ] |
| C:\Windows\System32\cmd.exe |
| |
| Start In Directory |
| [ D:\projects ] |
| Enter absolute path (e.g. C:\Users\Dev) |
| |
+--------------------------------------------------------------+
Each card exposes exactly two controls, described below.
| Control | What it does |
|---|---|
| Set as Default / Default badge | Marks this profile as the one new tabs open with. Only one profile is the default at a time. |
| Start In Directory | Per-profile working directory (cwd). Leave empty to use the shell's own default; enter an absolute path to override it. |
Set the default profile
Click Set as Default on the profile you want. The badge moves to that card immediately, and every new tab you open from then on launches that shell.
The default is what the tab bar's + button and the profile dropdown treat as the pre-selected choice. You can still open any other installed shell for a single tab from the new-tab dropdown — changing the default here only changes the starting point, not your options.
Setting a default does not hide the others. The Shell Profiles list stays available in the new-tab dropdown, so switching your default to (say) Git Bash while still opening the occasional PowerShell tab is entirely normal.
Set a per-profile Start In Directory
The Start In Directory field pins where a profile's terminals begin. Type an absolute path (for example C:\Users\Dev on Windows or /Users/dev/work on macOS/Linux). Leave it blank to let the shell start in its usual location.
An honest note: Start In Directory governs how a tab launches with that profile. It is not a global override for every terminal. When you split a pane, the new pane inherits the live working directory of the pane it split from — not the profile's Start In Directory — so a profile's start path is the point where a fresh tab begins, and normal
cdnavigation takes over after that.
Where your choices are saved
Changes apply live as you make them: clicking Set as Default or editing a Start In Directory field takes effect for the next tab you open. Your default choice and any Start In Directory overrides are persisted to TermFlow's application config folder, so they survive a restart.
Profile overrides are stored in TermFlow's per-user configuration directory (Windows %APPDATA%, macOS ~/Library/Application Support, Linux ~/.config). You edit them through this panel — there is no need to hand-edit the file.
Next steps
- Shell profiles in the terminal — how the default and the new-tab profile dropdown behave day to day.
- Terminals, panes and profiles — the mental model tying profiles to tabs and split panes.