Repository navigation
Memory Use
Nibtree is built to stay light. The memory item at the right of the status bar, a memory stick icon with a size such as 597 MB, shows how much memory it uses right now, and a debug log can record how that changes over time.
The readout lets you see that for yourself. It shows physical memory as Activity Monitor counts it. That includes the helper processes macOS runs for the app's web view, which draws the interface. On Windows it counts like Task Manager's Memory column, for the app and the Microsoft Edge WebView2 processes it starts, which adds the rows WebView2 (browser), Utility and Crash reporter.
Click it for a breakdown: Nibtree (app), Web content (UI), Graphics and Networking, each with its size and a bar. Below them, GPU acceleration answers two questions. Terminals use the GPU says yes (and in how many terminals) or no with the reason: turned off in Settings, font ligatures on, or the GPU failed and the terminal fell back to normal drawing. WebGL support says whether the web view can use the GPU for that at all, and names the graphics chip. The window itself always draws with the GPU through the system; that is the Graphics row. GPU drawing in terminals is smoother and lighter on the CPU with a lot of output. It costs about 70 MB for the first terminal, mostly in the Graphics row, and about 10 MB for each other one. Turn it off in Settings, Terminal to save that memory, if you see drawing glitches, or if you want font ligatures. Opening it measures again at once. Press Esc or click elsewhere to close it.
The number updates every few seconds while the window is visible, and stops while it is hidden. The brush button right of it is Clear Cache: it gives back the memory WebKit keeps after you close files. It is not on Windows. When the app was started from a Terminal, the helpers are matched by their start time, and the breakdown says so.
Below the app's rows, Terminals lists what runs in this window's terminals: the sum at the top, then one row per terminal, AI agent or script in the Run tab, biggest first. Each row counts the shell and everything it started, such as Claude Code, a dev server or a test run. An agent row shows the agent's title and its folder.

The memory details with two agents and a terminal.
Click a row to bring that terminal to the front. Point at a row to see how many processes it counts. These programs are not part of the app's own number in the status bar, because they are separate programs you started. The section shows only while the details are open and hides when no terminal runs.
Most settings cost almost nothing. The few that use clearly more memory when they are on have a small orange mark beside their name in Settings, such as +70 MB. Point at the mark to see when the memory is used and what it grows with.

The memory mark beside GPU acceleration in Settings, Terminal.
| Setting | About how much more | When |
|---|---|---|
| GPU acceleration (Terminal) | 70 MB | For the first terminal, then about 10 MB for each other one |
| Scrollback (Terminal) | 90 MB at 50,000 lines, 175 MB at 100,000 | Per terminal, once that many lines were printed; 5,000 is the default |
| Blame gutter (Editor) | 35 MB | While a file is open with the column showing |
| Markdown preview (Editor) | 35 MB, up to 140 MB with diagrams | Editor and preview and Rich editor, compared with Editor only |
| File icons (Appearance) | Up to 25 MB | Material Icons with thousands of files listed; Minimal costs less |
| Syntax highlighting (Editor) | 35 MB | With code open; about the same for one file or ten |
| Render whitespace (Editor) | 9 MB | With All |
| Tab limit (Editor) | 4 MB per tab | Each open file tab keeps its editor until Unload hidden tabs frees it; a limit closes the oldest |
Recent Files (Editor) has a gray mark instead, about +1 MB: keeping its list costs almost nothing, and its popup uses about 17 MB only while it is open. See Recent Files.
These numbers come from the release app on a MacBook Pro screen. A bigger window, a longer file or a wider terminal uses more. How they were measured is in Measuring Setting Memory.
To find out what makes memory grow, turn on Settings, Automation, Memory log, Log memory changes. While it is on, Nibtree reads its memory every Read memory every (250 ms, 500 ms, 1 s or 2 s; 500 ms by default) and writes a line whenever the total changed by Write a line when it changes by (0, 1, 5 or 20 MB; 5 MB by default; 0 writes every reading). It also notes what was on screen and when scrolling started and stopped.

Settings, Automation, Memory log, with the path of the log file.
The file is ~/.nibtree/logs/memory.log. Reveal in Finder (Reveal in File Explorer on Windows) shows it. A line looks like 2026-10-02T04:20:31.512Z total 400.0 MB (+50.0) | Web content 300.0 | ..., with times in UTC. Past 5 MB the log starts over and keeps the previous one as memory.log.1. AI tools can read it with the read_memory_log tool (see MCP Server and Command Line Tool). Turn it off when you are done: off, nothing runs.
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