QuickRun
Run detected scripts and ad-hoc commands in a managed QuickRun panel.
QuickRun
QuickRun is a collapsible panel at the bottom of the project sidebar, just below the worktree list. It's the fast way to fire off a terminal command or start a long-running process without setting up a full Recipe. The panel header reads "Run on {worktree-name}", reflecting whichever worktree is currently selected.
Running a Command
The input bar shows a $ prompt on the left. Type a command and press Enter to run it. The input clears, and the command is saved to your history.
While the suggestion dropdown is open, Arrow Down and Arrow Up move through suggestions, and Escape closes it.
Output Location
A toggle button next to the input controls where the terminal panel appears:
- Grid (default): opens in the main panel grid as an interactive terminal.
- Dock: runs in the dock, the minimized strip for background terminals, as a background task.
The button's tooltip shows the current mode, so you always know where the next command will land.
Command Suggestions
Focusing the input, or typing into it, opens a suggestion dropdown with three kinds of entry:
- Pinned commands: saved commands, shown with a green pin icon and a bold label. Hover to reveal the unpin button.
- Detected scripts: commands pulled from
package.jsonand similar files, shown with a terminal icon. - History: your last 10 commands, most recent first, with a clock icon. Duplicates are filtered out.
Filtering is plain substring matching as you type.
Pinning Commands
Hover over any suggestion and click the pin icon to save it. At pin time, the current auto-restart toggle state and output location are captured as the command's preferred settings.
Run a pinned command, and those saved preferences override the current toggle states. Both toggle buttons update to reflect the pinned command's settings.
Auto-Restart
The auto-restart toggle is the circular arrow button in the input bar. When it's on, it lights up in accent green with the tooltip "Auto-restart: On". The setting persists per-project, so you can leave it on for projects where you always want dev servers to come back after a crash.
If the toggle is on at the moment you launch a command, the spawned terminal restarts whenever its process exits. Here's the sequence:
- The process exits, and Daintree checks the exit code and panel state.
- An exponential backoff delay kicks in: 250ms to start, doubling each attempt (500ms, 1s, 2s, 4s), capped at 5 seconds.
- During the delay, a green spinner banner reading "Auto-restarting…" appears inside the terminal.
- Once the delay passes, the command restarts. The usual "Session exited" banner is suppressed.
If the process ran for more than 10 seconds before exiting, the backoff resets to zero. A stable run followed by a crash counts as a fresh event, not the continuation of a crash loop.
npm run dev or npm run test:watch. Pressing Ctrl+C (exit code 130) won't trigger a restart, so stopping a process on purpose always works.Active Tasks
Above the input bar, a task list shows up to 5 QuickRun-spawned panels for the active worktree. Each row shows a status indicator, the command (truncated to 28 characters), and elapsed time for running processes.
- Running: pulsing green dot. Hover for stop and focus actions.
- Restarting: pulsing amber dot, shown during the auto-restart backoff delay.
- Success: green dot. The row dismisses itself after 3 seconds.
- Failed: red dot with a left border accent. Hover for restart (hidden when auto-restart is active), dismiss, and focus actions.
Click any row to focus that terminal panel. Past 5 tasks, a "+ N more" label appears below the list.