Repository navigation
Terminal
Nibtree has a terminal built in. Run git commands, a dev server or your tests without leaving the window. Each terminal runs a real shell (the program that reads your commands, such as zsh or PowerShell), with your usual prompt, colors and aliases.
This page covers the panel and its terminals. Split terminals, find, clickable file paths, dropping files and the keys are on Terminal Features.

The terminal panel below the editor, with a shell in the shop repository showing its recent commits.
Any of these shows the terminal panel below the editor:
- Click the Terminal button at the bottom of the left activity bar (the strip of icons at the window edge).
- Press Ctrl+` (Control and the backquote key). It works inside a terminal too.
- Choose View > Terminal.
If the panel has no terminal yet, a new one starts. Do the same again to hide the panel. Hiding keeps your shells running, so a dev server or a long build carries on.
A new terminal starts in the active repository. Without one, it starts in the first workspace folder, and without a folder, in your home folder.
Drag the top edge of the panel to change its height, or double-click it to reset. The height is remembered.
The header has tabs on the left. Terminal shows your terminals. Run appears once you run a project script (see Scripts). Git Console appears while it is on in Settings, Git (see Git Console), and Shelf shows the active repository's shelved changes (see Shelf).
On the right of the Terminal tab you find:
- + (New Terminal, Ctrl+Shift+`): starts another terminal with your default shell.
- The arrow next to + (New Terminal With Shell...): a menu with every shell found on your computer and its path (on Windows: PowerShell, Windows PowerShell, Command Prompt and Git Bash). Below them are New Terminal in Editor Area and Default Shell..., which opens the Terminal section of Settings.
- Split Terminal (Cmd+\): opens a second terminal beside the shown one (see Terminal Features).
- Move Terminal into Editor Area: moves the shown terminal into an editor tab (see below).
- Kill Terminal (trash icon): stops the shown terminal and closes it.
- x (Hide Panel, Ctrl+`): hides the panel.

New Terminal With Shell...: each shell with its path, a terminal in the editor area, and the default shell setting.
With two or more terminals, a list appears on the right of the panel. Each row shows the terminal's name and the folder it started in. Click a row to show that terminal. Hover a row for its trash button, which kills it. Split terminals are joined by a thin line in the list, and a small dot means the shell rang its bell while you were not looking.

Three terminals: the list shows each name and folder, and marks the active one.
Names follow the shell: the first zsh is "zsh", the next one "zsh (2)", and so on. When a terminal closes, its number is free again. Double-click a name to rename the terminal.
Drag the line between the terminal and the list to change the list's width, or double-click it to reset. The terminal always keeps enough room, and the width is remembered.
Choose Move Terminal into Editor Area to move a terminal into its own editor tab, next to your files. It is the same terminal: the shell keeps running and its output stays. To start a terminal in a tab right away, pick New Terminal in Editor Area from the arrow next to +.

A terminal in an editor tab, between file tabs. Hover the tab to see its shell and folder.
The tab shows a terminal icon and the terminal's name. Right-click the tab for the usual Close items, Move Terminal into Panel and Rename.... Move Terminal into Panel puts it back at the end of the panel's list, still running.
Closing a terminal tab (with x, Close Others, Close All and so on) kills that terminal.
- If the shell ends cleanly, with exit code 0 (for example after you type
exit), the terminal closes. - If it ends with an error, the terminal stays open with a dim line such as "[Process exited with code 1]", so you can read what happened.
- Kill Terminal closes at once, without asking. Nibtree cannot tell whether something important still runs in the shell, so it does what you asked.
If a shell cannot start, the terminal shows the error and a Retry button.
Closing the folder or quitting Nibtree stops every terminal, so no shells are left behind.
New terminals use your login shell (the one Terminal.app uses) unless you pick another Default shell in Settings, Terminal. Nibtree finds the shells listed in /etc/shells.

Settings, Terminal: the default shell and the font options, with a live preview.
The same section sets the font (13 px with a line height of 1.2 unless you changed it), the cursor, the scrollback length (how many lines you can scroll back), Copy on selection (copy text as soon as you select it) and a switch for each optional part, such as find and GPU drawing. Changes apply to open terminals right away, and the terminal follows your color theme. Every option is explained in Terminal, GitHub and Automation Settings.
Right-click a folder or a file in the Files panel and choose Open in Integrated Terminal. A folder opens a terminal in itself; a file opens one in the folder that holds it.
These pages are generated from docs/wiki. To correct something, open a pull request against the source file; edits made here are overwritten.
Using Nibtree
- Getting Started
- Welcome Screen
- Workspaces
- Files Panel
- File Operations
- File Icons
- Rounded Panels
- Editor and Tabs
- Pin Reorder and Wrap Tabs
- Single Tab Title
- Split Editor
- New File and Unsaved Changes
- Unload Hidden Tabs
- Editing Code
- Code Appearance
- Markdown Editor
- Image and PDF Preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and Replace
- Changes and Commits
- Sign In Prompts
- Commit Box Layout
- Repository Actions
- Commit Options
- Ignoring Files
- Diffs
- Inline Diffs
- Staging View
- Revert a Change
- Resolving Conflicts
- Merge Tool
- Blame
- History and Log
- Merge Commits
- Branches and Tags
- Branches Popup
- Remotes
- Stashes
- Shelf
- Git Menu
- Git Dialogs
- Interactive Rebase
- Worktrees
- AI Agents
- AI Tasks
- AI Usage
- Keep Computer Awake
- Submodules
- Git LFS
- GitHub
- Git Console
- Terminal
- Terminal Features
- Scripts
- Navigation
- Menus
- Settings
- Settings Search
- Color Themes
- Settings Terminal and Automation
- Settings Files
- Updates
- Status Bar and Help
- Notifications
- Memory Use
- Clear Cache
- MCP and CLI
- Git Mergetool
- Keyboard Shortcuts
- Keyboard Shortcuts Editor
- Troubleshooting
- Troubleshooting Git
Developers
- Developer Guide
- Architecture
- Project Layout
- Backend
- How Folder Watching Works
- Folder Watching Bugs We Fixed
- How Workspace Files Work
- How the Preview Scheme Works
- Backend Services
- How Terminal Features Work
- Terminal Bugs We Fixed
- Frontend
- How the Rich Markdown Editor Works
- Rich Markdown Bugs We Fixed
- Git Menu Links
- Menu Keys and Routing
- Frontend Modules
- Blame Bugs We Fixed
- Project Color And Title Bar
- One Diff View
- Diff Bugs We Fixed
- Merge Tool Layouts
- Merge Tool Bugs We Fixed
- Color Theme Bugs We Fixed
- How the Connected Diff Works
- Rounded Panels Bugs We Fixed
- Update Bugs We Fixed
- Status Bar Bugs We Fixed
- MCP and CLI Bugs We Fixed
- Repository Actions Bugs We Fixed
- How the Changes Tab Works
- CodeMirror Patterns
- How the Cursor Works
- How Editor Features Work
- How the Path Bar Works
- Commands and Events
- Settings Reference
- Commands Workspace and Changes
- Commands Branches and Remotes
- Commands History and Extras
- Commands App and Tools
- Testing
- Test Suites
- Debugging
- Debugging with MCP
- Measuring Setting Memory
- How Terminal Memory Is Measured
- How Markdown Diagrams Work
- Releases and CI
- Publishing the Wiki
- Versioning and Changelog
- Browser Version Packages
- Browser Release Checks
- Docker Image
- Platforms and Signing
- Windows Support
- Windows Bugs We Fixed
- Windows MCP and CLI
- Docs and Screenshots
- UI Library
- UI Library MCP
- UI Library Bugs
- UI Library Migration
- Contributing
How features work
- Welcome screen
- Workspaces and folders
- Files panel
- File operations
- File icons
- Editor and tabs
- Pin, reorder and wrap tabs
- Single tab title
- Split editor
- New File and unsaved changes
- Unload hidden tabs
- Editing code
- Code appearance
- Markdown editor
- Image and PDF preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and replace
- Changes and commits
- Sign-in prompts
- Commit box layout
- Repository actions
- Commit options
- Ignoring files
- Diffs
- Inline diffs
- Staging view
- Revert a change
- Resolving conflicts
- Merge tool
- Blame
- History and log
- Merge commits
- Commit tabs
- Branches and tags
- Branches popup
- Remotes
- Stashes
- Shelf
- Git menu
- Git dialogs
- Interactive rebase
- Worktrees
- AI agents
- AI usage
- Keep computer awake
- AI tasks
- Submodules
- Git LFS
- GitHub account
- Git Console
- Back and Forward
- Integrated terminal
- Scripts tool window
- Menu bar
- Settings
- Search in Settings
- Color themes
- Rounded panels
- Updates and release channels
- Status bar and help links
- Notifications
- Memory readout and memory log
- Clear Cache
- MCP server and command line tool
- git mergetool mode