Repository navigation
Window Types
Browserland's desktop holds several kinds of windows, all opened from the launch (+) button on the taskbar: a terminal, a sticky note, a CodeMirror text editor, a file manager, a task manager, a Scratchpad, the Session recorder, and the Control Panel. (The in-app help guide opens the same way — see Getting-Started.) This page explains what each one is for and how it behaves.
The + button at the left of the taskbar is how you create windows:
- Left-click + to launch a terminal on your default host — the local broker unless you pick another in Control Panel → Browser → Hosts.
- Right-click + for the full profile / app menu. Alongside the terminal profiles (grouped per broker when you have more than one host), it lists the app windows:
The items appear in this order, which is the order the window kinds register in — not alphabetical:
| Menu item | Opens |
|---|---|
Control panel |
The Control Panel (settings) |
Help |
The in-app help guide |
Task manager |
A task manager |
File manager |
A file manager |
Text editor |
A CodeMirror text editor |
Sticky note |
A sticky note |
Scratchpad |
Broker-stored shared notes (from the Scratchpad mod) |
Session recorder |
The session-recording library (play back recorded terminals) |
Each row carries a small SVG icon rather than an emoji. Mods that ship off by default add their own rows once enabled — Clipboard (clipboard history) and AI status among them — and a Closed notes entry appears when there are sticky notes to restore.
You can also open a terminal with the New terminal shortcut (Ctrl+Alt+Enter — see Keyboard-Shortcuts). See Taskbar for the rest of the + menu, including "Open in folder…" and the configurable Start button label.
A terminal runs a real shell on its broker host. The shell keeps running even when no browser is attached, so you can close the window, come back later, and the screen heals from a snapshot.
Each terminal title bar carries a per-window robot button that sets that window's MCP (AI agent) access — off, read, or read-write. The robot icon briefly flashes when an agent reads the screen or types into the terminal. See MCP-and-AI-Agents for the full picture.
Two more chips can appear in a terminal's title bar, both ambient — neither is a button:
- a git branch badge showing the branch that terminal's working directory is on, with a marker when the tree is dirty (from the Git status mod, which ships off — enable it under Control Panel → Mods);
- a 🖱 mouse-mode chip, shown for exactly as long as a full-screen program owns the mouse
(
lazygit,btop,mc). Its tooltip carries the escape gesture. It comes from the Mouse mode chip mod, which ships enabled — see Keyboard-Shortcuts.
The title bar used to carry a 📋 Agent docs button that opened that folder's AGENTS.md / CLAUDE.md. It has been retired: the button guessed which folder you meant from the terminal's detected working directory, and when that guess was wrong it opened — and, once you saved, wrote to — a different project's AGENTS.md, with no way to tell from the window that it had. AGENTS.md and CLAUDE.md are ordinary files; open them with the Text editor (Open) or the File manager as you would any other. Agent-docs windows you already had open still restore and still save.
Right-click a terminal's title bar and choose Open in new window (or bind the Open terminal in new window action, see Keyboard-Shortcuts). The terminal moves into a browser window of its own — drag that window to another monitor, or keep it above other apps — while the shell stays exactly where it was. Nothing restarts and nothing is copied: the desktop hands the live session over, and the new window becomes the only view that is attached to it, so it also decides the terminal's size.
On the desktop the moved terminal behaves like a minimized window: its taskbar entry stays, marked with a small ↗, and clicking it brings the other browser window to the front instead of restoring the terminal. In tiling mode it drops out of its column just as a minimized window does, and it returns to the same column.
Bringing it back is Return to desktop: the title-bar × in the popped-out window, its title-bar right-click menu, or simply closing that browser window. On the desktop the terminal un-minimizes and re-attaches, and the screen heals from a snapshot as after a reload. The × in the popped-out window never terminates the shell, whatever the per-host terminal close setting says — the browser window's own close button sits inches away and can only ever hand the terminal back, so the two must not have opposite consequences. Terminate is still in that window's title-bar menu, behind the usual confirmation.
A few things worth knowing:
- Popups must be allowed for the site. A blocked popup changes nothing and says so.
- The popped-out window keeps the last 256 KiB of output the broker's agent holds (the same replay a reload gets); what scrolled out of that buffer stays on the desktop's copy until it returns.
- A terminal on a remote broker can be popped out too. If another browser takes that broker's lease, the popped-out window says so rather than going blank; take the lease back from the desktop.
- Each terminal can be open in one extra window at a time. Opening the same terminal's link twice shows already open in another window.
- Mods run in the popped-out window as on the desktop, except Workspaces (there is no desktop to organize there).
- Ownership is tracked with a browser lock, which needs an https or localhost page (the recommended setup). On a plain-http page that is not localhost the feature is unavailable and says so, because nothing there can promise that only one window is typing into the shell.
A new terminal from Ctrl+Alt+Enter always runs on the local broker; a left-click on the + button launches on your default host — the local broker unless changed in Control Panel → Browser → Hosts. To start one on a specific host, pick its profile from the right-click + menu. See Hosts-and-Multi-Browser for adding hosts and setting the default.
Pasting images: paste a screenshot (e.g. Win+Shift+S) straight into a terminal with Ctrl+V, Alt+V, or a right-click. The image itself cannot cross into the remote shell's clipboard, so the desktop uploads it to that terminal's broker host and pastes the resulting file path instead — AI agents like Claude Code read a pasted image path just like a drag-and-dropped file. Pasted images are kept for a few hours in the host's temp area and swept automatically. If the clipboard carries both text and an image, the text wins. Alt+V and right-click image capture need an https (or localhost) page; Ctrl+V image paste works everywhere.
A terminal can be driven from outside the desktop (for example from Notifier on your phone) without taking this browser's lease; see Hosts-and-Multi-Browser. While it is, its desktop window greys out and stops updating. It stays exactly where it was: its column slot or floating position, its taskbar entry and title, and the last screen it showed. But it is no longer connected, so nothing you type reaches the shell, and resizing or retiling the window does not resize the terminal: it keeps the size the other device set. A panel over the screen says Controlled from who since hh:mm, and the taskbar entry is marked ⇄ (its tooltip names the device).
Take back control, the panel's button, ends the other device's control. The window reconnects, the screen heals from a snapshot, and the terminal goes back to this window's size. If someone claimed it again in the meantime, the panel updates to show them instead. If another browser holds the lease, taking back is refused and the Become active prompt appears; take the lease first.
When the other device lets go, the window comes back by itself. Closing the window does not release control: the terminal stays with the other device and its taskbar entry stays marked. Terminate in the title-bar menu still ends the shell. A terminal popped out into its own browser window shows the same panel there. After a reload, or when this browser gets the lease back, a terminal that is still controlled comes back greyed without reconnecting.
Every terminal title bar carries a ⏺ record button: click to record that session, click again to stop and save it to the broker. The Session recorder window from the + menu lists saved recordings and plays them back in a window fixed at the original recorded size, with pause, speed, continuous reverse, and timestamped notes.
Control Panel → Mods → Session recorder → auto-record every session (off by default) records every terminal as it opens, so nothing is missed for want of pressing ⏺ first. Switching it off again stops the recordings it started; a recording you began by hand keeps running. A long recording rolls over into numbered parts at the 50 MB size cap rather than stopping, and with auto-record on a page reload no longer warns before discarding the segment in progress. Recordings are never swept, so leaving it on grows the broker's webterm_recordings/ directory until you delete from the library. See the Session recorder section of the in-app help for details.
The Scratchpad is a single-instance window of tabbed notes stored on the broker, so it is shared across every browser connected to that host. Notes autosave as you type, and each tab keeps a browsable revision history. It comes from the default-on Scratchpad mod and requires the Text editor mod — disable either under Control Panel → Mods and the Scratchpad item disappears from the + menu.
The Control Panel is where you configure the desktop — appearance, window mode, drag-hold delay, hosts, MCP access, keyboard shortcuts, and more, with a tab per connected broker. It opens as a moveable floating window: drag its title bar to move it, drag its edges to resize, minimize it to the taskbar, or tile it like any other window. Open it from the + menu's Control panel item, the desktop / taskbar right-click menu (which does label it 🎛 Control panel), or the Open control panel shortcut (Ctrl+Alt+p).
Inside a broker's tab the settings are grouped into applets — Desktop, Windows, Input, Terminals, Startup, Access, Mods, Advanced — so the panel opens on a grid of captioned icons rather than one long scroll, and you pick a topic first. A filter box above the grid finds a setting by name, and a Show everything toggle drops back to the flat list. See Getting-Started for what each applet holds.
Like the file manager and the task manager, the Control Panel is ephemeral: it edits settings that persist on their own (per-browser, or per-host via the broker), so the window itself has nothing to save — closing it just dismisses it, and it has no Delete. See Getting-Started for what the settings cover.
How a window goes away depends on its type:
- Close is soft, but what it preserves varies. A terminal's shell keeps running so you can reattach later. A non-empty sticky note is retained and reopens from Closed notes in the + menu (an empty note is discarded). A text editor's content lives in a file on the host, so closing it leaves your file as it was unless you choose Save. With unsaved changes it asks Save, Don't save or Cancel: Cancel, Esc or a click outside keep the editor and its text, and only Don't save discards the unsaved text. Removing a host closes its windows without asking — an editor with unsaved changes on that host loses them, so save first. A file manager, the task manager, and the Control Panel/help are ephemeral — closing them just dismisses them.
- Terminate (terminals only) hard-kills the shell process tree.
- Delete (on sticky notes and the text editor, shown as Delete note / Delete file) asks to confirm. On a sticky note it discards the note's text, which lives in this browser; on the text editor it closes the editor and discards unsaved text; the file on disk is not touched. The Scratchpad has no Delete item: its notes are stored on the broker, closing its window does not delete them, and closing a tab removes that tab from the notes (an earlier History revision can restore it). The last remaining tab cannot be closed, so to empty it clear its text.
These actions live on the title-bar right-click menu. For the full semantics — plus minimize, pin, recolor, rename, and arrange-all — see Floating-Window-Controls.
Browserland — a web-based terminal desktop. This wiki is the end-user guide; for the wire protocol, auth model, and HTTP/MCP contract see Technical Reference. Released under the MIT License.
Start here
Building layouts
The desktop
Windows & content
Multi-host & AI
For developers