Repository navigation
Color Themes
A color theme sets every color in Nibtree: panels, text, the editor and its syntax colors, diffs, the merge tool and the terminal. You pick one theme for light mode and one for dark mode, so the app keeps looking the way you like when macOS switches between day and night.
There are 41 themes, including the two built-in ones, Nibtree Light and Nibtree Dark, which are the defaults.

Settings > Editor: one list for light mode and one for dark mode. "In use" marks the one shown right now.
- Open Settings (Cmd+,) and choose Editor.
- At the top, under Color theme, there are two lists: Light theme and Dark theme.
- Click a theme. It applies at once and is saved; there is no OK button.
Each theme shows a small swatch with its background, text, a keyword, a string and its accent color, so you can compare them before you click.
The list for the mode you see right now has an In use badge. You can change the other list too. Its theme shows once the appearance switches to that mode.
You can also move through a list with the keyboard: click it (or Tab to it), then use the Up and Down arrows, Home and End, or Page Up and Page Down. Every move applies the theme, like a radio group.
Which list is used is set by the Theme in Settings > Appearance:
- System follows macOS or Windows: the Light theme in light mode, the Dark theme in dark mode.
- Light or Dark always uses that list.
The same three choices are in the menu bar under View > Appearance, and the sun button in the header (Toggle light/dark theme) switches between Light and Dark in one click. See Settings.
Light themes:
- Nibtree Light, GitHub Light, One Light, Solarized Light, Quiet Light, Ayu Light, Catppuccin Latte, Gruvbox Light, Tokyo Night Day, Rosé Pine Dawn, Classic Light, Islet Light, Light+.
Dark themes:
- Nibtree Dark, Dusk, Islet Dark, Dark+, One Dark Pro, Dracula, Monokai, Monokai Pro, Monokai Charcoal, Nord, Solarized Dark, GitHub Dark, GitHub Dark Dimmed, Gruvbox Dark, Tokyo Night, Catppuccin Mocha, Catppuccin Macchiato, Ayu Dark, Ayu Mirage, Material Palenight, Night Owl, Cobalt2, Rosé Pine, Kanagawa.
High contrast themes have their own group at the end of each list:
- In the Dark theme list: High Contrast Dark, GitHub Dark High Contrast, Amber High Contrast.
- In the Light theme list: High Contrast Light, GitHub Light High Contrast.

Dracula, a dark theme, with a file open and the Changes sidebar.

Solarized Light, a light theme.

High Contrast Dark: stronger text, borders and diff colors.
- The whole window: backgrounds, panels, borders, text, buttons, selection and hover.
- The editor: background, line numbers, current line, selection, cursor and syntax colors. Diffs and the merge tool use the same colors.
- Change colors: added, changed, deleted and conflict lines in diffs and the merge tool.
- The terminal: its 16 colors, background, cursor and selection, also in terminals that are already open.
- Mermaid diagrams in the Markdown preview. See Markdown Editor.
Islet Light and Islet Dark are made for rounded panels. For their rounded, spaced-out panels, turn on Rounded panels in Settings > Appearance; it works with every theme. See Rounded Panels.
Every theme is checked for readable text. Text on the editor and on panels has a contrast of at least 4.5 to 1 (7 to 1 in high contrast themes), selected text stays readable, and diff colors stand out from the background. Where a theme's own colors would fail, Nibtree adjusts them a little.
The themes are new, and a few things do not follow them yet:
- The commit graph in the Log keeps its own lane colors.
- Switches in Settings keep a white knob.
- Diagrams in the Rich Editor (the Markdown view you can type in) keep their old colors until they are drawn again, for example after you scroll away and back.
- At startup you may see the default colors for a moment before your theme is applied.
The two choices are saved in ~/.nibtree/settings.json as lightColorTheme and darkColorTheme, for example "darkColorTheme": "dracula". An unknown name, or a dark theme in the light list, falls back to the default. See Settings Files.
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