Skip to main content

Daintree Assistant

A built-in help pane that runs Claude or Codex inside Daintree, gated by a capability tier you set and recorded in a local audit log.

Updated
Reviewed

Overview

The Daintree Assistant is a help pane that runs a real AI coding CLI inside the app. It's the same Claude Code or Codex you already have installed, running against your own subscription. The difference is that this session is pointed at Daintree itself, not at your code.

Ask it how a feature works, have it search the docs, or tell it to drive the app for you. With your permission it can launch agents, create worktrees, run recipes, and rearrange your workspace. It reaches the app through a local MCP server, and every action it can take is gated by a capability tier you set.

The default tier is read and write but never destructive. Every tool call lands in a local audit log you can inspect, export, and clear. Nothing leaves your machine that wasn't already going to the CLI you chose.

Note
A normal agent panel works on your code. The Assistant works on Daintree. One edits your repo; the other operates the app you're editing it in.

Opening the Assistant

There are two ways in:

  • Click the Daintree icon in the toolbar (tooltip: "Open Daintree Assistant").
  • Press Cmd+L on macOS, or Ctrl+L on Windows and Linux.

The keyboard shortcut is a three-state toggle. The same key does the right thing depending on where your focus is:

  • Panel closed: opens the panel and focuses the input.
  • Panel open, focus elsewhere: moves focus into the input without closing anything.
  • Panel open and focused: closes the panel.
Tip
There's nothing to configure here. Cmd+L moves focus between your work and the Assistant and back, and the conversation stays put. Tap it to jump in, tap it again to jump back out.

The Assistant always boots hidden when you start the app, so it never launches a CLI before the MCP server is ready. For the full shortcut reference, see Keyboard Shortcuts.

The Panel

The Assistant opens as a push sidebar on the right. It pushes the panel grid over rather than floating on top of it, so your work stays visible while you talk to it.

Drag the left edge to resize. The width runs from 320px to 800px, defaults to 380px, and is remembered across restarts. The keyboard works too once the resize handle has focus: arrow keys move it 10px at a time, Page Up and Page Down move it 50px, and Home and End jump to the minimum and maximum. Escape closes the panel, unless a terminal or editor inside it grabs the key first.

Header controls

The header carries the Daintree icon and the title, an agent-state indicator, and three buttons:

ControlWhat it does
Help iconOpens the Assistant documentation.
+ New sessionStops the current agent, discards the conversation, and relaunches the same agent fresh. Appears only once a session has started. If the agent is working or you've already typed into the conversation, it asks you to confirm first.
Close chevronHides the Assistant (same as toggling it closed).

Agent-state indicator

A small marker in the header shows what the agent is doing. It only flags the states worth acting on:

StateMarker
WorkingSpinning green circle
DirectingBlue circle
WaitingYellow circle
Idle, completed, or exitedNo marker

Toolbar status pips

When the panel is closed, the toolbar button carries a small status pip, so you don't have to open it to know what's happening. There are two kinds. The MCP health pip always wins when both would show:

  • MCP health: yellow and pulsing while the MCP server is starting, red if it failed to start (hover for the error). Nothing once it's ready.
  • Agent state: shows only when there's no MCP pip and the panel isn't open: green while the agent is working or directing, yellow while it's waiting.

The agent-state pip is read-aware. While the panel is open, Daintree tracks the state you've already seen, so once you close it the pip only flags changes you haven't looked at.

Bottom info bar

The strip at the bottom shows "Using" with the current agent on the left and a link to Daintree.org on the right. Before you've started a session, the panel shows an empty state: "Use Daintree Assistant to configure and navigate Daintree," with links to the Assistant settings and this guide.

Talking to It

The Assistant uses the same input bar as your agent terminals. You get @file autocomplete, /commands, and multi-line editing. Shift+Enter adds a newline, Enter sends. The full feature set is covered in Unified Input.

To start over, use + New session in the header. It ends the current conversation and relaunches the same agent from scratch.

Tip
On your first session the panel shows a one-time reminder: press Shift+Enter to add a newline without sending. It goes away once you dismiss it or launch any agent.

What It Can Do: Capability Tiers

Every action the Assistant can take runs through a capability tier. The tier sets the blast radius: how far a single tool call is allowed to reach before Daintree stops and asks you. Tiers are cumulative. Each one includes everything below it.

TierWhat it allowsExamples
Workbench
read-only
Read project state but change nothing. 31 tools.Inspect projects and worktrees, search files, read terminal output and agent state, read git status and diffs, read GitHub issues and PRs.
Action
read + write (default)
Run the app: spawn agents, send prompts, manage terminals, and rearrange your workspace. Adds 24 tools.Create worktrees, launch and focus agents, send commands to terminals, run recipes, move panels between the dock and grid, change the theme.
System
destructive + external
Destructive and outward-facing actions. Reserve for trusted automation. Adds 17 more tools.Delete worktrees, stage and commit and push git, write the system clipboard, open forge issues and PRs.

Two of these were broadened in v0.12. The dock actions (terminal.moveToDock, terminal.moveToGrid, terminal.toggleDock) joined the Action tier, so the Assistant can rearrange your layout and act on panels other than itself. The forge actions in the System tier were generalized off GitHub to cover forge CLI commands more broadly.

Seeing the blast radius

The Security settings show a "N actions allowed without prompting" preview for the selected tier, grouped by namespace. At the System tier the riskiest actions (git.push, git.commit, worktree.delete) are pinned under a "high blast radius" heading, so the cost of the choice is in front of you rather than buried in a list.

When a tool needs a higher tier

If the Assistant calls a tool above the project's current tier, it doesn't silently fail and it doesn't silently run. A banner appears ("Tool not permitted"), explains that the tool needs a higher tier, and gives you three choices:

  • Approve once: grants this one tool for the rest of the session. Time-bounded, and it doesn't raise the tier.
  • Always allow for this project: raises the whole project to the tier the tool needs and writes it to the project settings, so you won't be asked again.
  • Cancel: declines, and the tool call stops there.
Note
To undo something the Assistant did, use the worktree snapshot and diff review. When the project tier is System, the Assistant takes a pre-flight snapshot before its first change, and you can review and revert from the Review Hub.

Settings

Everything lives under Settings → Assistant. Changes apply to new Assistant sessions, not the one currently running.

Agent

Pick the CLI that runs the Assistant. The picker offers Claude and Codex. Switching agents mid-conversation ends the current session, so it asks you to confirm first.

Custom CLI args lets you append flags at launch, for example --model sonnet. Arguments are split on whitespace, sanitized, and applied after a short debounce.

Note
Only Claude and Codex appear in the picker today. Gemini CLI and GitHub Copilot CLI are wired into the Assistant internally but held back as experimental, so they won't show up as options yet.

Behavior

  • Search documentation (on by default): lets the Assistant search the Daintree docs and changelog when answering.
  • Daintree control (on by default): lets the Assistant call Daintree actions through the local MCP server. Turning this on enables the MCP server if it was off.

Hibernation

How long the panel can sit hidden before the Assistant shuts down to free resources. Choose Off, 15, 30 (default), 60, or 120 minutes. What happens when it hibernates is covered in Sessions, hibernation and resume below.

Security

This is where you set the capability tier (Workbench, Action, or System) and see the blast-radius preview described above. The default is Action.

It also holds the Bypass Claude permission prompts toggle, off by default. Turning it on passes --dangerously-skip-permissions to Claude Code and shows an amber warning, because it removes Claude's own per-tool confirmation for every tool. Read the warning in the tiers section above before you reach for it.

Privacy

Audit log retention controls how long Daintree keeps a local record of the Assistant's tool calls: 7 days (default), 30 days, or Off. The log has a viewer with a latency table, copy-as-JSON, export to NDJSON, and a clear button. If an external client connects with a stale key, the count of rejected requests shows up here too.

Connection

Shown only when the MCP server is enabled. It reports the running port, offers a "Copy MCP config" button for pointing external clients at the server, and a "Rotate MCP key" action. Rotating invalidates any existing connections, so it asks you to type the last four characters of the current key to confirm.

Sessions, Hibernation and Resume

Opening the Assistant runs a short startup sequence: launch the CLI, check its version, provision the MCP server, then either resume your last conversation or start a fresh one. If exactly one supported CLI is installed and you haven't picked a preferred agent, it launches that one automatically.

When the panel stays hidden past the hibernation timer and the agent is idle, Daintree shuts the agent down cleanly and captures its resume token. Reopen the panel and the conversation comes back, with a banner confirming it resumed. If the agent is busy when the timer fires, Daintree rechecks every couple of minutes rather than killing work in progress.

Resume tokens are kept per project, so one project's conversation never leaks into another. The session survives minimizing the window, switching away to other projects, and the machine going to sleep. The Assistant also gets a private scratch directory for throwaway files, so it doesn't litter your repo.

For the mechanics behind hibernation and state persistence across the whole app, see Session Management.

Privacy and Trust

The Assistant runs the CLI you already use, authenticated against your own subscription. Daintree doesn't add a new model endpoint and doesn't route your conversation anywhere new.

Every tool the Assistant dispatches is recorded in a local audit log you can read, export, and clear from the Privacy settings. The default capability tier is read and write but never destructive, so destructive and outward-facing actions only happen if you opt into the System tier.

Tip
When you want to know what the Assistant actually did, the audit log has the answer. It's a record of every action it took, kept on your machine.

For the broader picture on sandboxing and data storage, see Security & Privacy.

Troubleshooting

SymptomWhat's happening and what to do
"Update [agent] to use Daintree Assistant"Your CLI is older than the Assistant needs. The screen shows the required and installed versions, with a button to Settings → Assistant. Claude needs 1.0.0 or later; Codex has no minimum.
Missing CLIThe chosen CLI isn't installed. Daintree offers a "Run anyway" option if you want to proceed regardless.
"Daintree Assistant needs MCP, but the server didn't start."MCP provisioning failed. The error toast carries an "Open settings" action so you can check the Connection section and the MCP server status.