Browser sessions

A browser session is a URL you want one focus away while a workspace is running, your local app, an admin page, a PR, a runbook.

What a browser session is

A browser session has a name and a URL, often a service's stable URL. Configure them on the project and every workspace inherits them; attach as many as a workspace needs.

Opening and focusing

  • Sessions stay closed when the workspace starts, so startup stays fast even with many attached.
  • Focus a session by clicking its row, its number key, or the command palette, and it opens as a Chrome tab, not at Start.
  • Spaces reuses the tab it opened; a closed Chrome is started, and a minimized window is restored.
  • If you move a session's tab to another Chrome window, focusing it again finds that tab by its URL.
  • If you close a session's tab and focus it again, Spaces reopens it.

The Chrome permission

Spaces opens and focuses tabs through the macOS Automation permission, “Spaces wants to control Google Chrome”. If Chrome is not installed or the permission was denied, focusing a session shows an error naming Chrome instead of opening the URL. See Troubleshooting if the permission prompt never appears or was denied by mistake.

When a workspace stops

Stopping or deleting a workspace closes its tabs, whether you do it on the Mac, on the iPhone, or from the CLI, and whichever device the workspace lives on. The Mac app closes them when it sees the workspace stop or go away, so a workspace stopped while the app isn't running leaves its tabs open until you delete it. Restarting a workspace keeps its tabs open.

On iPhone

A browser session opens inside the app's own browser, with back, forward, reload, and Screenshot controls. Screenshot captures the visible view and opens it in Markup for annotation; the resulting image can then be attached from a terminal's message composer. This works for a remote Linux workspace too, as long as your phone is paired with the device that owns the workspace. If the service is not running yet, the row shows an error naming the service instead of a blank page.

Cookies and local storage stay isolated per service, the same way they do in Chrome on the Mac. See SPACES_<SERVICE>_URL in Environment variables for how a session's URL is built.