Repository navigation
Settings
Settings change how Nibtree looks and behaves, apply at once and are saved. A mark such as +70 MB means a setting uses more memory when on (Memory Use).
- Click the gear at the top right of the header (Settings (Cmd+,)).
- Or press Cmd+,, or choose Nibtree > Settings... in the menu bar (File > Settings... on Windows and Linux).
- Or click the gear on the welcome screen.
Settings opens on Appearance. The status bar's Spaces opens Editor, the terminal's Default Shell... opens Terminal, and About Nibtree opens About.
The sections are on the left, under a search field. Esc or the x closes it. Drag the title to move it; double-click it to center it.
Reset to Defaults at the bottom left puts every setting in settings.json back to its default, after asking (Reset Settings). Panel choices and sizes live in state.json and are kept.

The Appearance section.
| Setting | What it does | Default |
|---|---|---|
| Theme | System follows the system, or pick Light or Dark. Colors are picked in Editor. | System |
| Rounded panels | Rounded panels with space between them. See Rounded Panels. | Off |
| Project color in the top bar | A glow in the project's Welcome color. | On |
| File toolbar | Top, Bottom or Hidden, plus switches. See Navigation Bar. | Top |
| Interface font size | Size of menus, lists and buttons, 11 to 16 px in half steps. | 13 px |
| File icons | No icons, Minimal or Material Icons in the file lists. See File Icons. | No icons |
The theme is also in View > Appearance. The sun button in the header (Toggle light/dark theme) switches between Light and Dark; System follows the system.

Nibtree in the dark theme.

The top of the Editor section: the color theme pickers.
Color theme has two lists, Light theme and Dark theme: the one in use depends on the Appearance. See Color Themes.

Font family with a live preview, font size, font weight and line spacing.
| Setting | What it does | Default |
|---|---|---|
| Editor font family | A comma-separated list. The first installed font is used; monospace is always added last. |
'JetBrains Mono', Menlo, Monaco, 'Cascadia Mono', Consolas, 'Courier New', monospace |
| Editor font size | Code in the editor, diffs and the merge tool, 10 to 20 px in half steps. See Zoom. | 13 px |
| Editor font weight | Thin to Black. See Font weight. | Regular |
| Line spacing | Space between lines, 1.0 to 2.5 times the font size. Double-click the slider to reset it. | 1.25 |
| Change font size with Ctrl + mouse wheel | Hold Control (or Command) and scroll over code, or pinch. | Off |
| Font ligatures | Draws =>, != and === as single symbols with fonts such as Fira Code. |
Off |
| Syntax highlighting | Colors code by language. See Syntax highlighting. | On |
| Tab size | Spaces per indent level (2, 4 or 8) when not detected, and the width of a tab. | 4 |
| Detect indentation | Indent like the file does. Also View > Detect Indentation. See Indentation. | On |
| Render whitespace | Draws spaces as dots and tabs as arrows: None, Boundary, Selection, Trailing or All. See Render whitespace. | Selection |
| Word wrap | Wraps long lines in the file editor, also with View > Word Wrap (Option+Z). Diffs and the merge tool never wrap. | Off |
| Cursor style, width, blinking, smooth caret, caret extra top and bottom | The shape, thickness, blinking and size of the cursor. See The cursor. | Line, 2 px, Blink, Off, 0, 0 |
| Editing features | Auto-close brackets, completion, fold arrows, indent guides, word highlight, scroll past the end, column selection, a margin line. See IDE features. | On; margin line off |
| Markdown preview | How Markdown files open: Editor only, Editor and preview or Rich editor. See Markdown Editor. | Editor and preview |
| Current line blame | Author, age and commit at the end of the cursor line. Cmd+click it to open the commit in the Log; Cmd+Option-click copies the hash. See Blame. | On |
| Blame gutter | A blame column beside the line numbers. Also the Blame button in the editor path bar and the diff toolbar. | Off |
| Recent Files | Cmd+E lists recent files. See Recent Files. | On |

The lower part of the Editor section: render whitespace, word wrap, Markdown preview and blame.
Type a font list and press Enter, or click a font name below it. Reset goes back to the default font.

Defaults for diffs, the merge tool, the Log, commits and the Git Console.
| Setting | What it does | Default |
|---|---|---|
| Diff layout | Every diff Side by side or Inline (Inline Diffs); the diff toolbar's buttons set it too. | Side by side |
| Side by side in Changes, for commits | 3 columns: the Staging View, or a commit beside your working tree. | 2, 3 |
| Merge tool layout | Merge Tool panes: Columns or Stacked. | Columns |
| Ignore whitespace in the merge tool | Hides whitespace-only differences when a merge starts; its button sets it too. | Off |
| Show all branches in the log | Includes every local and remote branch in the Log. | On |
| Sign off commits | Adds a Signed-off-by line to every commit (--signoff). Also in Commit Options. |
Off |
| Commit box | Single or Per repository (Commit Box Layout). | Single |
| GPG sign commits |
Default follows git's commit.gpgSign, Sign adds -S, Do not sign adds --no-gpg-sign. |
Default |
| Git Console | Lists the git commands the app runs in a tab next to Terminal; off, nothing is recorded (Git Console). | Off |
Git > Update Project... remembers merge or rebase (updateMethod, default merge); see Git Dialogs.

Which sidebars are shown.
| Setting | What it does | Default |
|---|---|---|
| Files panel | Shows the file tree on the right (also Cmd+B). | On |
| Confirm drag and drop | Asks before a drag in the Files panel moves files (see File Operations). | On |
| Left sidebar | Changes, Branches or Hidden (also Option+Cmd+B and the activity bar). | Changes |
Two header buttons show or hide the activity bars, the icon strips at the window edges (also in the View menu). Drag a panel's edge to resize it; double-click to reset. All this is saved in state.json, but Confirm drag and drop is in settings.json.

Automation: the MCP server, the command line tool and the memory log, all off by default.
- Terminal: the shell, font, cursor, scrollback and copy on selection.
- AI: agent permissions and arguments (AI Agents).
- GitHub: sign in to GitHub for Share Project, Sync Fork and Create Gist.
-
Automation: the MCP server, the
nibtree clitool and the memory log.
Every option is described in Terminal, GitHub and Automation Settings.
Updates controls the update check and the release channel (Updates). About has the version and links to star the project, report a bug or request a feature (Status Bar and Help).

The settings folder and the list of settings changed from their defaults.
Where your settings are saved and which ones you changed. A banner shows when a settings file cannot be read:

The state.json banner: Try Again rereads the file, Reset replaces it with a fresh one.
Settings Files explains both files, every key and the banners.
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