Global Settings
Daintree's app-wide settings across the General, Terminal, Assistant, Integrations, and Support groups, plus the unified Code Forge tab and Daintree Assistant.
Global settings cover 17 tabs across five sidebar groups: General, Terminal, Assistant, Integrations, and Support. They apply to Daintree as a whole, regardless of which project is open. For per-project overrides, see Project Settings.
General group
General
The General tab has three subtabs: Overview, Hibernation, and Display.
Overview shows the current Daintree version, a system status panel listing each installed agent CLI (Claude, Gemini, Codex, OpenCode, Cursor, Kiro, and GitHub Copilot) with its status (Ready, Needs Setup, or Blocked), the update channel selector (Stable or Nightly), and a collapsible Quick Reference card with the essential keyboard shortcuts. Agents that aren't installed on your system stay off the list; a "Daintree supports N more agent(s)" link beneath it opens the CLI Agents tab so you can see what else is supported. If no agents are detected, the panel shows a "No agents installed yet" empty state with links to the setup wizard and the CLI Agents tab. Click an agent in the list to jump straight to its settings.
Hibernation controls auto-hibernation for background projects. When it's on, a project you haven't touched is paused after the threshold you pick: 12, 24 (default), 48, or 72 hours. Auto-hibernation is off by default.
The same subtab houses Idle Terminal Notifications, which raises a toast once every terminal in a background project has been idle past the configured threshold (15 minutes to 24 hours, default 60, presets 30m/1h/2h/4h). It's on by default. The Notifications & Sound page covers it in detail.
Display has four toggles that control visual indicators across the app:
- Project Pulse (on by default) shows a commit activity heatmap on the empty panel grid
- Developer Tools (off by default) adds a problems panel button to the toolbar
- Grid Panel Agent Highlights (off by default) shows colored borders on grid panels when agents are waiting or working. Failed-state borders are always visible, regardless of this setting.
- Dock Item Agent Highlights (off by default) shows colored borders on dock items when agents are waiting. Failed-state borders are always visible, regardless of this setting.
Appearance
The Appearance tab has two subtabs: App and Terminal.
The App subtab holds the theme picker with 14 built-in themes, an accent color override for swapping the active theme's accent without editing the theme file, a color vision accessibility selector (Default, Red-Green for Deuteranopia/Protanopia, or Blue-Yellow for Tritanopia), and a Dock Density selector (Compact, Normal, or Comfortable). For themes, auto-switching, and sharing, see Theme System.
The Terminal subtab controls:
- Terminal Color Scheme for ANSI color palettes. See Terminal Color Schemes.
- Font Size (8 to 24px)
- Font Family (JetBrains Mono bundled by default, or System monospace)
Keyboard
View, search, and rebind every keyboard shortcut. Click any shortcut to record a new binding; conflict detection warns you if the combination is already in use. Import and export shortcut profiles as JSON files, and reset shortcuts to their defaults one at a time or all at once.
See Keyboard Shortcuts for the full reference and the profile system.
Notifications
Configure notification delivery, agent event triggers, and the sound system. See Notifications & Sound for the full documentation.
Privacy & Data
The Privacy & Data tab has two subtabs: Telemetry and Data & Storage.
Telemetry has three levels:
- Off collects and sends nothing, including crash reports
- Errors Only sends crash reports and error details, but no usage analytics
- Full Usage sends crash reports plus anonymous usage analytics
What's collected at each level
Each telemetry level transmits a defined set of data. The breakdown below mirrors the disclosure shown in the Telemetry subtab, so you can audit exactly what leaves your machine at the level you've chosen.
Off
Nothing is collected or transmitted.
Errors Only
Crash reports go to Sentry. Home-directory paths are redacted from stack frames and error messages before transmission.
- Exception type and message (home directory redacted)
- Stack frames with sanitized file paths, line and column numbers
- App version, Node.js version, and build environment (production or development)
- Operating system name, version, and architecture
- Default runtime metadata provided by the Sentry Electron SDK (CPU, memory, GPU, locale, timezone, and similar vendor-supplied fields)
- Main-process breadcrumbs of recent app activity preceding the crash (lifecycle events and main-process console logs)
Full Usage
Everything above, plus the anonymous onboarding analytics events below. Each event carries its name, a timestamp, and event-specific properties. File contents, prompts, and credentials are never included.
onboarding_step_viewedonboarding_step_skippedonboarding_completedonboarding_abandonedactivation_first_agent_task_startedactivation_first_agent_task_completedactivation_first_parallel_agents
For sampling rates, log retention, and the pre-consent buffering rules (how events queued during first launch are handled once you pick a level), see Telemetry & Privacy.
Data & Storage provides:
- Data Folder shows the path to Daintree's data directory, with an "Open Folder" button
- Log Retention sets how long log files are kept: 7 days, 30 days (default), 90 days, or Keep forever. Pruning runs at startup.
- Clear Cache removes HTTP and code caches without touching your settings
- Reset All App Data permanently deletes all settings, API keys, session data, and logs
Terminal group
Panel Grid
The Panel Grid tab has five subtabs: Performance, Input, Layout, Scrollback, and Accessibility.
Performance holds:
- Performance Mode cuts scrollback to a fixed low value and disables animations. Useful on lower-end hardware.
- Resource Monitoring shows CPU and memory usage in panel headers, polling every 2.5 seconds
- Memory Leak Detection watches for runaway memory growth and can auto-restart affected terminals once they exceed a configurable threshold (1,024 to 32,768 MB). Requires Resource Monitoring to be enabled.
- Panel Limits sets thresholds for how many panels you can open at once. Defaults are auto-detected from your hardware (RAM and CPU cores). Three levels are configurable: a soft warning banner, a confirmation dialog, and a hard limit that can't be bypassed. You can turn off the warning and confirmation prompts; the hard limit always applies.
- Cached Project Views sets how many projects are kept in memory for instant switching (1 to 5). The default is picked from your system RAM on first launch, and the resource profile can clamp it lower under pressure. Switching to an evicted project takes roughly 500ms to reload. See Cached Project Views for the full behavior, including the RAM tier table and eviction rules.
Input controls the Hybrid Input Bar, a multi-line text input that sits above agent terminals:
- Hybrid Input Bar (on by default) turns the input bar on or off across all agent panels
- Auto-Focus Input (on by default, nested under Hybrid Input Bar) sets whether selecting a panel focuses the input bar or the terminal directly
Layout controls panel arrangement:
- Two-Pane Split Layout (on by default) shows a resizable side-by-side view when exactly two panels are open. The split ratio is remembered per worktree.
- Preview-Focused Layout uses a 65/35 split favoring browser or dev preview panels, instead of a balanced 50/50
- Default Ratio slider sets the initial split (20% to 80%)
- Reset All Worktree Split Ratios reverts every saved ratio to the default
- Grid Layout Strategy sets how panels beyond two are arranged:
- Automatic (default) adapts columns to the panel count
- Fixed Columns scrolls vertically with a set column count (1 to 10)
- Fixed Rows expands horizontally with a set row count (1 to 10)
Scrollback sets the terminal history buffer size:
- 500 lines (Minimal)
- 1,000 lines (Default)
- 2,500 lines (Extended)
- 5,000 lines (Full history)
Agent terminals get 1.5× the base scrollback limit (up to 5,000 lines). Shell and dev server terminals use a reduced 0.3× multiplier (up to 2,000 lines). An expandable section shows estimated memory usage per terminal type and total. See Scroll Buffer Limits for the full breakdown.
Accessibility provides Screen Reader Mode with three options:
- Auto (default) follows your operating system's accessibility setting
- On always enables screen reader support
- Off disables screen reader support
When it's on, Screen Reader Mode adds an accessible DOM overlay to terminals. That overlay has a performance cost, which is why the setting defaults to following the OS rather than being always on.
Worktree
Set the directory pattern for new worktrees using template variables like {base-folder}, {branch-slug}, {repo-name}, and {parent-dir}. Three presets are available (Sibling Folder, Subdirectory, Flat Sibling), and a live preview shows the resolved path with sample data.
See Projects for path patterns and variables.
Toolbar
Customize the toolbar by dragging buttons to reorder them and toggling visibility per button. The Launcher Palette section sets the default panel type and whether the dev server option always shows in the panel launcher palette. A reset button restores the default toolbar layout.
See UI Layout for more on toolbar customization.
Environment
The global Environment tab holds variables that Daintree itself reads on launch. It isn't the per-project terminal injection surface; that's the Variables tab in Project settings. It isn't the per-agent override surface either; that's inside CLI Agents.
The editor is a key/value list with explicit Save and Discard buttons. Changes don't apply until you save. A row with an invalid key is flagged inline, and the tab fires the amber validation badge in the sidebar until the error clears. If Daintree can't load saved variables from disk, the tab disables editing so it doesn't overwrite your data with a blank list, and the validation badge stays on until you reopen the dialog.
For how this tab differs from the project Variables tab and the per-agent env block, see Environment variables across scopes.
Assistant group
Daintree Assistant
The Assistant tab configures the in-app documentation assistant (the AI Agents page calls it the Help Agent). It spawns a CLI agent inside a sandboxed help workspace and connects it to Daintree's daintree-docs MCP server. The tab holds:
- Doc search toggles whether the Assistant can search Daintree's documentation as part of its responses
- MCP server lists the outbound MCP servers the Assistant connects to (the client side of MCP). It's separate from the MCP Server tab below, which configures the inbound server external tools connect to.
- Skip permissions auto-approves all Assistant actions without confirmation. The Assistant is read-only by default; turning this on removes that guardrail.
- Audit log retention sets how long the Assistant's tool-use audit log is kept
For the broader assistant feature surface (how to open it, what it can do, agent selection), see Help Agent.
Integrations group
CLI Agents
The CLI Agents tab has a General subtab plus one subtab per agent (Claude, Gemini, Codex, OpenCode, Cursor, Kiro, and GitHub Copilot).
The General subtab holds:
- Default Agent sets which agent runs automated workflows like "What's Next?" and onboarding. Set to "None," Daintree picks the first available agent. This is separate from the Portal's default new tab agent, and from the Daintree Assistant, which has its own agent picker under Settings > Assistant.
- Run Setup Wizard re-runs the initial agent configuration flow
Each per-agent subtab provides:
- Enable Agent (on by default) controls whether the agent appears in the UI. A disabled agent is hidden everywhere and treated as if it isn't installed.
- Help Output (expandable) shows the agent's CLI help text
- Installation guidance when the CLI isn't detected, with copy-able install commands and a re-check button
- Runtime settings card with the preset/scope editor described below
Presets and scopes
Each agent's runtime configuration is layered. The top of the Runtime settings card is a preset selector. The default scope, labeled Default (all worktrees), applies everywhere. Everything else in the picker is a preset that overrides the default: project-shared presets loaded from .daintree/presets/ in the active project, CCR Routes (Claude Code Router) if you have any installed, and any custom presets you've created with the Add preset button.
Below the selector, a scope banner tells you which scope you're editing. For the Default scope and any custom preset, the editor exposes:
- Skip Permissions auto-approves all agent actions without confirmation
- Inline Mode (only on agents that support it, like Claude) disables the fullscreen TUI for better resize handling and scrollback
- Custom Arguments for extra CLI flags passed to the agent on every launch
- Env block for environment variables. The Default scope shows them as Global env vars; a custom preset shows them as Env overrides, with the Default scope's vars listed inline as inherited rows.
In a custom preset, every behavioral field you've overridden shows a small reset icon next to it. Click the icon to drop the override; the field goes back to inheriting from the Default scope.
Project-shared and CCR presets are read-only in the picker, but a Duplicate button forks them into an editable custom preset.
One more agent-specific setting worth flagging:
- Share Clipboard Directory (Gemini only) lets the agent read pasted clipboard images
See AI Agents for the broader agent configuration story.
Code Forge
The Code Forge tab replaces the old GitHub-only Integrations section. A provider dropdown at the top switches between subtabs. The General subtab handles default forge provider selection and shows how each of the active project's git remotes resolves to a provider. The GitHub subtab holds personal access token setup. Every forge provider installed via a plugin gets its own subtab.
If the providers list fails to load, the tab fires the amber validation badge in the sidebar until the error clears.
General subtab
Two sections live here:
- Default forge provider: a select with one fixed option, No global default (auto-detect from hostname), and one option per installed provider with its matched hostnames listed in the description. Pick a specific provider to pin Daintree to it. Leave the auto-detect option selected and Daintree picks the first installed provider whose hostname matches the project's git remote.
- Active project routing: one card per git remote of the active project, with a routing badge on the right showing which path resolved:
Override,Default,Hostname, orNo match. Each badge has a tooltip spelling out why that remote resolved that way. If no project is open, the section shows an empty state instead.
GitHub subtab
Enter your GitHub Personal Access Token (required scopes: repo, read:org). The card has Save to validate and store the token, Test to verify it without saving, and Clear to remove a stored token. When a credential is already on file, the card header shows a connected indicator with a checkmark.
See Code Forge for the GitHub features Daintree exposes once a token is configured.
Plugin provider subtabs
Plugins can register additional forge providers (Gitea, Forgejo, Bitbucket, custom internal forges). Each registered provider gets its own subtab in this dropdown, with a generic credential form built from the fields the plugin declared. Save validates the credentials against the provider before persisting; clear removes them. The footer of each subtab shows the plugin id and the provider's declared capabilities (issues, pull requests, repo stats).
Integrations
The Integrations tab holds general integration settings that don't belong to one specific service. In v0.12 that's the External Editor and Image Viewer configuration below.
External Editor
Daintree can open files at a specific line and column in your preferred code editor. This preference is saved per-project, so each project keeps its own editor choice.
Editor preferences are per-project. Open a project in the sidebar before configuring this setting. With no project active, the panel shows a prompt to open one first.
Eight built-in editors are supported:
- VS Code
- VS Code Insiders
- Cursor
- Windsurf
- Zed
- Neovim
- WebStorm / IntelliJ
- Sublime Text
A ninth option, Custom, lets you configure any editor (see below). An editor that can't be located on your system shows a (not found) suffix in the dropdown.
Editor discovery
When the settings panel opens, Daintree scans your PATH and editor-specific directories. Below the dropdown, a detected editors list shows each editor's status with a checkmark or warning icon, plus the resolved executable path.
The Rescan button (circular arrow icon next to the dropdown) re-runs discovery on demand without restarting the app.
Install a new editor while Daintree is running, then click Rescan to detect it immediately.
On macOS, Daintree also probes /Applications and ~/Applications for editor .app bundles. That covers editors installed via their GUI installer without the "Install Shell Command" step. GUI applications on macOS inherit a minimal system PATH rather than your shell configuration, so an editor that works fine from your terminal might still show as (not found) in Daintree. The .app bundle detection works around this automatically for VS Code, Cursor, Windsurf, Sublime Text, and JetBrains IDEs.
Custom editor
Select Custom from the dropdown and two more fields appear:
- Command: the executable name or full path (e.g.
code,nvim,subl) - Arguments template: command-line arguments using
{file},{line}, and{col}as placeholders. The default template is{file}:{line}:{col}.
Daintree expands the placeholders at launch time. If your file paths contain spaces, quote the {file} placeholder in the template.
Save and Test
- Save: persists the editor choice to the current project. On success the button shows confirmation text with the editor name; on failure it shows an error message.
- Test: opens your home directory in the configured editor to confirm it launches, then shows a success or failure badge inline. It only confirms the editor starts; it doesn't check that your arguments template passes line and column values correctly.
Where Daintree opens files
Three surfaces use the configured editor:
- Terminal output: Cmd+click (macOS) or Ctrl+click (Windows/Linux) on a detected file path. A plain click opens the in-app file viewer instead. See Terminals & Panels.
- File Viewer (diff mode): clicking a file row in the Review Hub opens it in the in-app File Viewer. The Open in Editor button in the File Viewer header then opens the file at the first changed line. See Review Hub.
- File viewer: the Open in Editor button in the file viewer modal header.
If the configured editor is unavailable, Daintree falls back through the $VISUAL/$EDITOR environment variables, then any detected known editor, then the platform-native open command (macOS only), and finally a last-resort shell open. Line and column targeting only survives when a supported editor handles the request.
Image Viewer
The Image Viewer setting controls which application Daintree uses to open image files. It defaults to the OS viewer (Preview on macOS, the default image app on Windows and Linux). Select Custom to provide your own command, using {file} as the path placeholder.
Like External Editor, Image Viewer is a per-project preference, so the panel needs a project open before you can configure it.
Voice Input
Configure speech-to-text dictation and optional AI text correction.
The Speech-to-Text section includes:
- Enable/disable toggle for the voice input system
- Microphone permission status, with platform-specific instructions for granting access
- Microphone selector (System default or a specific input device)
- OpenAI API Key (
sk-...), validated on save. This one key powers both transcription and correction. - Language (English, Spanish, French, German, Japanese, Chinese, Korean, Portuguese, Italian, Russian)
- Paragraph Breaks (spoken commands like "new paragraph," or manual Enter only). Spoken commands require English; non-English languages fall back to manual mode automatically.
- Custom Dictionary for domain-specific terms (up to 100) to improve recognition accuracy
The AI Text Correction section (visible when Voice Input is enabled) post-processes transcriptions to fix technical terms, punctuation, and filler words. It reuses the OpenAI API key from the Speech-to-Text section:
- Correction Model (GPT-5 Mini for higher quality, GPT-5 Nano for speed)
- Resolve File References turns voice commands like "link to the input component" into
@filereferences - Custom Instructions for project-specific correction rules
- Inspect Core Prompt (expandable) shows the base correction prompt
See Voice Input for the full guide.
Portal
Configure the Portal panel's default new tab agent, the system-provided default links, and your own custom links.
MCP Server
The MCP Server tab controls a local server that lets external AI agents invoke Daintree actions.
- Enable/disable toggle starts or stops the server immediately
- Copy MCP Config copies a ready-to-paste JSON configuration snippet for your MCP client
- Server Port sets a fixed port. It defaults to 45454; if that port is taken, Daintree tries the next available one (45455, 45456, and so on).
- API Key Authentication generates a bearer token for securing external connections
- Audit log and Turn outcomes capture every dispatch in a ring buffer, with anomaly detection and per-turn classification
Authorization tiers, time-bounded grants, rate limiting, and the audit log are documented at MCP Server.
Support group
Troubleshooting
Diagnostic and recovery tools for when things go wrong:
- Hardware Acceleration lets you turn off GPU acceleration if you see blank panels or rendering artifacts
- System Health Check verifies that Git, Node.js, and npm are accessible
- Application Logs gives you buttons to open the log file and clear accumulated entries
- Developer Mode enables verbose logging, auto-opens the diagnostics dock, and focuses the Events tab on open. Each of those is independently toggleable as a sub-setting.
See Troubleshooting for common issues and recovery steps.