Terminal
The Terminal tab opens a shell in the root folder of your project. It works for all projects.
Sessions
A project can have more than one terminal. To open one more terminal, click New terminal (the + button) at the right of the terminal tabs. To open a shell on your server, use the Remote SSH tab.
- When a project has more than one terminal, each terminal tab has a close button. You can also middle-click a tab to close it.
- A dot on a tab shows that the terminal has new output that you did not see.
The Terminal tab keeps the last terminal that you selected for each project. The terminals and their output stay when you go to a different tab or project.
After you restart DevWorkspace Pro, each terminal shows its saved text. A new shell starts in the last folder that you used. The old commands do not run again. See Resume Sessions After Restart.
Rename or delete a project
When you rename or delete a project, the app closes all terminal sessions of the project, including the extra terminal sessions and the Remote SSH session. After a rename, a new session starts when you open the Terminal tab of the renamed project.
Open a Shell in the Container
To open a shell in the web container of a DDEV project, run ddev ssh in the Terminal tab. Type exit to go back to the shell in the project folder.
Headless Terminal
DevWorkspace Pro runs some commands in a headless terminal, for example post-creation tasks, add-on changes, Git operations and Send to AI sessions. The headless terminal runs in the background. The status bar at the bottom of the window shows the running commands and their status:
- When a project has more than one running command, the status bar shows one chip for the project, with the number of commands. Click the chip to see a list of the commands of the project. Click a command to open it.
- When there are many groups, the status bar collapses the others into a list.
The project page also shows a N running button, for example 2 running, when the project has running commands. Click it to see the running commands of the project.
The headless terminal comes to the front when:
- A command needs a password or other input.
- A command fails.
To open a headless terminal yourself, click its minimize icon in the status bar. You can then use it like the Terminal tab.
Window controls
The top of the window shows:
- A status dot: green while the command runs, red when it failed, amber for other states (for example, when it waits for your input).
- The project name and a short description of the command, for example
Issue #42: Fix login redirect. - The project folder. Click it to copy the path.
- Go to and the project name, when you are not on the page of that project. Click it to open the project.
- Minimize, and Close when the command failed or can be closed.
When a project has more than one headless command, the window shows a tab for each command. If there are more tabs than fit, the tab bar scrolls to a new tab when it opens. Hover over a tab to see its full name and command. A tab has a close button when its command failed or can be closed.
To rename a command, double-click its name. This works for the active tab, and for the name in the window header when the project has only one command. When the tab bar has focus, you can also press F2. Press Enter to save or Esc to cancel. If you clear the name, the tab shows the command again. Names stay until the command closes.
When one command of a project uses a large window, the window stays large for all tabs of that project.
| Action | macOS | Windows / Linux |
|---|---|---|
| Minimize | Cmd+Shift+M | Ctrl+Shift+M |
| Close | Cmd+Shift+W | Ctrl+Shift+W |
| Previous / next command tab | Cmd+Shift+[ / ] | Ctrl+Shift+[ / ] |
When you minimize the window, the command continues to run.
Switch project with the window open
The project switcher (⌘+K on macOS, Ctrl+K on Windows and Linux) and the recent projects list (Ctrl+Tab) open above the headless terminal window. Notifications also show above it. When you click a notification, the window stays open.
When notifications are over a dialog, they fold into a small pill after you see them. Hover over the pill or click it to open the notifications.
When you select a different project:
- If that project has headless commands, the window shows its most recent command.
- If that project has no headless commands, the current window stays open and a warning shows.
The terminal in the window then has the keyboard focus. If you close the switcher with Esc and do not select a project, the focus goes back to the terminal.
Shell history
DevWorkspace Pro gives each command to your shell as an argument (for example, zsh -i -c "<command>"). It does not type the command at a prompt. For this reason, the command does not go into your shell history. This applies to zsh, bash, fish, nushell, PowerShell and cmd.
The first line of the headless terminal shows the command in a dim color. zsh, bash, fish and PowerShell load their usual configuration first, so your aliases work. All shells get the PATH of your login shell.