Portal
The Portal sidebar: tabbed web AI chats beside your work, a launchpad of configurable links, promoted dev previews that keep their session, and a dashboard of every dev server Daintree is running.
Overview
Daintree has two embedded browsing surfaces, and they answer different questions. The Portal (this page) is a sidebar that slides in from the right, holding tabbed web AI chats, promoted dev previews, and a dashboard of the dev servers you have running. Browser panels are a panel kind you place in the grid or the dock, built for looking at a local app with developer tooling; they have their own page, Browser Panels.
The distinction is worth holding onto: the Portal is a companion surface that sits beside the whole workspace, while a Browser panel is a panel like any other, sharing the grid with your terminals.
Opening the Portal
Toggle it with Command-\ Control-\ Control-\ , or from the Portal button in the toolbar. It slides in from the right side of the window and stays until you close it.
The launchpad
Open the Portal with no tabs and you get the New Chat launchpad: one row per enabled portal link, each opening that service in a new tab. Out of the box the links are Claude, ChatGPT and Gemini, but the launchpad renders whatever links are enabled, not a fixed trio. Middle-click, or hold Command Control Control , to open one in a background tab.
Disable every link and the launchpad becomes an honest empty state: "No AI agents configured", with an Add agent link button that takes you to the Portal settings.
Tabs
Each tab keeps its own conversation and navigation history, and the Portal keys the tab's title and icon off the URL so you can tell services apart at a glance. Tabs can be dragged to reorder.
The + button opens a new tab. If you have set a Default New Tab Agent it goes straight there; otherwise the launchpad appears so you can pick.
| Action | Shortcut |
|---|---|
| Toggle the Portal | Command-\ Control-\ Control-\ |
| New tab | Command-T Control-T Control-T |
| Close the active tab | Command-W Control-W, or Control-F4 Control-W |
| Next tab | Control-Tab Control-Tab Control-Tab |
| Previous tab | Control-Shift-Tab Control-Shift-Tab Control-Shift-Tab |
Right-click a tab for Duplicate, Reload, Copy URL, Open in Browser, and the three closing options: Close, Close Others, Close to Right. Right-clicking the Portal body itself offers New Tab, Close Tab, Close All Tabs, Reset Width, a Default New Tab submenu, and a link into Portal settings.
Width
Drag the left edge to resize. The Portal runs from 320px to 1200px and defaults to 480px. Focus the resize handle and ArrowLeft widens it while ArrowRight narrows it, in 10px steps. Right-click the Portal and choose Reset Width to go back to 480px. On launch, a saved width that would squeeze the editor canvas below 400px on the current viewport falls back to a viewport-safe size instead.
Dev servers dashboard
The server icon in the Portal toolbar toggles a Dev servers section at the bottom of the sidebar. It lists every dev-server session Daintree is running (across worktrees and across projects, not just the one in front of you) with the worktree name, the port, the status, and the server's most recent output line. Each row has restart and stop buttons.
Stopped sessions are hidden, with one deliberate exception: a session restored from the relaunch manifest stays listed, because that row is the offer to restart a server that was running when Daintree last closed. Errored rows are stoppable, which is how you clear one. See Dev Preview for what those states mean.
Promoted dev previews
A Dev Preview panel can push its current page into a Portal tab with Open in Portal. The new tab runs on the dev preview's own session partition, so cookies, localStorage and IndexedDB carry across and you stay signed in; sessionStorage does not. The preview panel stays open: this gives you a second, wider view of the same running app, not a move.
External links
Links with target="_blank", and window.open() calls from a page in the Portal, open in your system's default browser rather than spawning a window inside Daintree. Only http: and https: URLs are handed over.
Configuration
Portal behavior lives in Settings > Portal:
- Default new tab agent: which service opens when you press +. Choose a link, enter a custom URL, or set it to none to show the launchpad instead
- Default links: the built-in service links. Toggle their visibility in the tab bar and launchpad, and edit their target URLs
- Custom links: your own links to AI services or documentation, each with a name, a URL and a visibility toggle
Agent and MCP control
The Portal is reachable from agents and external MCP clients. portal.listTabs is a Workbench-tier read. portal.openUrl, portal.newTab, portal.toggle and portal.toggleDevDashboard sit at the Action tier, because they change what you are looking at: the dashboard toggle in particular is a toggle rather than a set, so an agent calling it blind can hide a view you were reading. See MCP Server and Daintree Assistant for how tiers are drawn.