Repository navigation
Menus
Nibtree has a real menu bar, like every other desktop app. Every command lives in it, with its keyboard shortcut next to it.
On macOS the menus are at the top of the screen: Nibtree, File, Edit, View, Code, Git, Window and Help. On Windows (and the planned Linux build) the menu bar is in the window and has no Nibtree menu: Settings... and Exit sit at the end of File, and Check for Updates... and About Nibtree at the end of Help.
- About Nibtree opens Settings on the About page.
- Check for Updates... looks for a new version now. See Updates.
- Settings... (Cmd+,) opens Settings.
- Then the usual Mac items: Services, Hide Nibtree (Cmd+H), Hide Others, Show All and Quit Nibtree (Cmd+Q).
- New File (Cmd+N) opens an empty Untitled tab; Save asks where to write it. See New File and Unsaved Changes.
- Open Folder... and Open Workspace from File... open something new. Open Recent lists your recent workspace files, workspaces and folders (not the one that is open now), and Clear Recent empties the list. See Workspaces.
- Add Folder to Workspace... and Save Workspace As... need an open folder.
- Save (Cmd+S) saves the file on screen, Save All (Option+Cmd+S) saves every edited file, and Revert File throws away the unsaved edits of the file on screen. The editor has no Save and Revert buttons of its own: these menu items replace them.
- Close Tab (Cmd+W) closes the editor tab or diff on screen. It never closes the window.
- Close Folder closes what is open. With several folders open it reads Close Workspace.
- Undo (Cmd+Z) and Redo (Shift+Cmd+Z) work on the place you are typing: the editor keeps its own history, and a text field its own.
- Cut, Copy, Paste, Delete and Select All (Cmd+A).
- Find... (Cmd+F), Replace... (Cmd+R), Find Next (Cmd+G), Find Previous (Shift+Cmd+G) and Select All Occurrences (Ctrl+Cmd+G) work in the editor that has the keyboard. See Find and Replace.
- Find in Files... (Shift+Cmd+F), Replace in Files... (Shift+Cmd+R), Go to File... (Cmd+P), Recent Files... (Cmd+E, see Recent Files), Jump to Navigation Bar (Cmd+Up, see Navigation Bar), Go to Class... (Cmd+O), Go to Symbol... (Option+Cmd+O) and Search Everywhere (press Shift twice). See Search Everywhere.
A tick shows what is on screen now.
- Changes, Branches and Stashes (Shift+Cmd+E), Scripts, Log (Shift+Cmd+L), Files Panel (Cmd+B), AI Agents (the AI panel; New AI Agent... starts one), Sidebar (Option+Cmd+B) and Terminal (Ctrl+`).
- Git Console shows only while it is turned on in Settings, Git. See Git Console.
- Left Activity Bar and Right Activity Bar show or hide the icon strips at the window edges.
- File Icons picks No Icons, Minimal or Material Icons for the file lists. See File Icons.
- Word Wrap (Option+Z) wraps long lines in the file editor. See Editing Code.
- Markdown picks Editor Only, Editor and Preview or Rich Editor for a Markdown file. See Markdown Editor.
- Appearance picks Light, Dark or System.
- Zoom In (Cmd+=), Zoom Out (Cmd+-) and Reset Zoom (Cmd+0) change the size of the code text.
- Enter Full Screen (macOS only).
Changes shows no key, because Shift+Cmd+G is Find Previous; outside an editor that key still shows Changes.
These items act on the editor that has the keyboard: comments, duplicate, delete, join, move and indent lines, toggle case, sort lines, folding, Go to Line... (Cmd+L) and Select Next Occurrence (Cmd+D). Items that change text are grey in a read-only editor (one you can look at but not type in). Editing Code has the full table with every key.
The Git menu has everything git: commit, push, pull, merge, rebase, patches, the current file's history and more. It has its own page: Git Menu.
Minimize (Cmd+M), Zoom, Next Tab (Shift+Cmd+]), Previous Tab (Shift+Cmd+[) and Bring All to Front. On Windows and Linux the tab keys are Ctrl+PageDown and Ctrl+PageUp. Split Right (Cmd+\), Split Down and the other editor group items are explained in Split Editor.
- Nibtree Help opens this wiki.
- Keyboard Shortcuts opens a window with every shortcut, grouped by menu. Type in its filter to find a key or an action. Open Online Version opens Keyboard Shortcuts in the browser.
- What's New and Release Notes show what changed.
- Available MCP Tools... lists what AI tools may do in the app. See MCP and CLI.
- Report a Bug..., Request a Feature... and Star on GitHub. See Status Bar and Help.

Help > Keyboard Shortcuts, filtered with "git menu": each row is a menu item and its keys.
The menus follow what you are doing:
- An item is grey when it cannot act now. For example Save without unsaved changes, the Code items when no editor has the keyboard, or the Git items while a git command runs.
- Some names change. Close Folder becomes Close Workspace, Push... becomes Push (2 ahead)... and Pull... becomes Pull (1 behind).... Ahead means commits you have that the remote does not; behind means the other way round.
- Some items appear only when they apply, like Continue Merge and Abort Merge during a merge.
While a dialog in the app asks you something, most menu items do nothing. Typing items such as Undo, Cut, Copy, Paste and Select All still work in the dialog's fields, and so do the Help links (Nibtree Help, Release Notes, Report a Bug..., Request a Feature... and Star on GitHub).
The part of the window you are working in sees a key first. When it uses the key, the menu item does not run as well, so one press never does two things.
That is why a few keys depend on where you are. Cmd+K is Commit... in the Git menu, but it makes a link in the Markdown editor and clears the screen in the terminal. Cmd+B is Sidebar in the View menu, but it makes text bold in a Markdown file.
The Git menu keys (Cmd+K, Cmd+T, Cmd+9 and Option+Cmd+A) are Mac only, because Ctrl+K and Ctrl+T belong to the shell in a terminal on Windows and Linux.
When git starts Nibtree as its merge tool (see Git Mergetool), the window has a smaller menu bar. On macOS it is the Nibtree menu with Settings..., Edit, Window and Help; on Windows and Linux a File menu with Settings... and Exit takes the place of the Nibtree menu. There, Window has Close Window (Cmd+W), which asks before it drops an unsaved merge result.
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