Repository navigation
Files Panel
The Files panel on the right is a tree of every file in your workspace. Use it to open files, and to see at a glance which ones git thinks are new, changed or in conflict.

Status letters and colors in the Files panel: M, A, U and D.
- Click the tree icon in the thin bar on the right edge of the window.
- Or press Cmd+B.
- Or click the x at the top of the panel.
Settings, Layout also has a Files panel switch. Drag the panel's left edge to make it wider, and double-click that edge to reset its width.
Folders come first, then files, both sorted by name. Folders load only when you open them, so even very large projects stay quick. A folder with more than 5000 entries shows the first 5000 in this order and a 5000+ note.
With one workspace folder, its contents are the top level. With several folders, each folder is a top-level row (see Workspaces). An empty folder says This folder is empty.
Repository folders get a git folder icon and show their current branch next to the name. The .git folder itself is never listed.
Files show one plain icon by default. To see an icon for each file type, pick Minimal or Material Icons in View > File Icons; see File Icons.
Each changed file has a letter on the right and a matching color: blue for changed, green for new, red for deleted or conflicted. Hover the letter to read the full state, for example "Modified (staged), modified (not staged)".
| Letter | Meaning |
|---|---|
| M | Modified: the file changed since the last commit. |
| A | Added: a new file that is staged (put into the next commit). |
| U | Untracked: a new file git is not tracking yet. |
| D | Deleted: the file is gone from disk but git still knows it. |
| R | Renamed. |
| T | Type changed, for example a file became a link. |
| C | Conflicted: a merge left this file with conflicts to fix. |
More details:
- The letter follows what the file looks like on disk now. A staged file that you changed again still shows its staged letter unless it was deleted or is untracked.
- A folder gets a small colored dot, and its name the same color, when something inside it changed. It takes the strongest color inside, so a conflict anywhere below turns it red.
- Deleted files stay in the tree, struck through, so you can still see what went away. Clicking one only reminds you that you can restore or stage the deletion from Changes.
- Files that your
.gitignoreignores are shown dimmed. - Files stored in Git LFS (large files kept outside the repository) have a small LFS tag. See Git LFS.
The tree refreshes on its own when files change on disk or in git, so you rarely need the Refresh button.
- Click a file to open it in a preview tab. A preview tab (its name is in italics) is reused by the next file you click, so browsing does not pile up tabs.
- Double-click a file to open it in a tab that stays open.
- Click a folder to expand or collapse it.
- Cmd-click and Shift-click select several rows, for the file operations.
The file shown in the editor is highlighted in the tree, so you always know where you are. See Editor and Tabs for editing and saving.
Click in the tree first, then:
- Up and Down arrows move the selection.
- Right arrow opens a folder. Left arrow closes it, or jumps to the parent folder.
- Enter opens the selected file or toggles the selected folder.
- Shift+Up and Shift+Down select more rows.
- Cmd+C, Cmd+X, Cmd+V, Cmd+D, F2 and Cmd+Backspace copy, cut, paste, duplicate, rename and trash files. See File Operations.

Right-click a file for more actions: open it, create, rename, copy or trash files, ignore it, reveal it in the Finder, open a terminal there or copy its path.
New File..., New Folder..., Cut, Copy, Paste, Duplicate, Rename... and Move to Trash are explained in File Operations, with drag and drop.
On a file:
- Open opens it in a tab that stays open.
- Open Preview opens it in the preview tab.
- Resolve Conflict... appears for a conflicted file and opens the Merge Tool.
On a folder:
- Expand or Collapse.
- Set as Active Repository on a repository folder (it reads Active Repository when it already is).
- Initialize Repository Here on a plain folder that is not inside any repository.
- Add Folder to Workspace... and Remove Folder from Workspace on a top-level workspace folder.
On files and folders inside a repository:
-
Add to .gitignore offers patterns: this file, its folder, or every file with the same extension. Pick one to add it to the repository's
.gitignore, or use Add to .git/info/exclude to ignore it only on your Mac. Edit .gitignore opens the file. See Ignoring Files.
On everything:
- Reveal in Finder shows the file or folder in the Finder.
- Open in Integrated Terminal opens a new terminal in that folder, or for a file in the folder that holds it. See Terminal.
- Copy Path copies the full path.
- Copy Relative Path copies the path inside the workspace folder.
A deleted file offers only Show in Changes and the copy items. Copy Relative Path is greyed out on a workspace folder itself. On Windows and Linux, Reveal in Finder is called Reveal in File Explorer and Open Containing Folder.
At the top of the panel, next to the workspace name (hover it to see the full folder paths):
- + adds a folder to the workspace.
- The crosshair (Select Opened File) finds the file you are editing in the tree. It opens every folder down to it, selects it and scrolls to it, so a file you opened with Search Everywhere is easy to place. It is greyed out while no file is open, or while the tab is not a file, such as a commit tab.
- The up chevron collapses every folder.
- The circular arrow refreshes the open folders.
- x hides the panel.
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