Beyond one window
The live view
A session's own terminal in a window of its own, the one the Hub shows at its centre: its real Claude Code interface, closed again without stopping the session. Here or on another machine.
The live view is a session's own terminal in a window of LampBoard's. Inside is the real Claude Code interface, every dialog, slash command and mod included, drawn by a terminal that does not look like one. A header carries the session's lamp, its name and its state, so the window says what the row says.
It is the terminal the Hub shows at its centre, moved rather than attached again. The button at the Hub's top right puts it in a window of its own, and Bring it here puts it back. Opening a session from a row goes to the Hub; this window is for the session you want to keep beside your other work.
What it can open
Sessions with one writer, so the window can never fork a conversation:
- A background session of this Mac, started with
claude --bg. The window runsclaude attach. - A session in tmux, on this Mac or on any machine you added under Settings › Other Macs. The window attaches to its exact pane, over ssh when it is elsewhere. tmux keeps one process however many screens look at it, so your own terminal, your phone and the live view can watch the same session at once.
A session open in an editor or a plain terminal already has a writer, and a second one would fork its conversation in two without a word; that was measured before it was decided. Its click still goes where it lives; see clicking a row. One open in VS Code can be moved to LampBoard instead, below.
Closing detaches
Closing the window does not end the session. It goes on, its lamp keeps working in the column, and the Hub or the next window picks it up where it is. Quitting LampBoard detaches every live window the same way.
One window per session: two attaches of different sizes draw over each other, so a second window brings the first one forward rather than opening another.
While a live window is open, LampBoard is in the Dock and in ⌘Tab, with a Window menu listing its windows, so a window left behind another app is one ⌘Tab away. ⌘C, ⌘V and ⌘A work in it as anywhere else. With the last one closed, LampBoard is a menu-bar app again.
A new session
New session…, in the panel's ⋯ or with ⌘N while it is open, asks three things: where (this Mac, or another machine), which folder (the ones that machine's sessions worked in, a path, or a folder picker on this Mac), and a name. Start opens it in the Hub.
- On this Mac it is
claude --bg, opened as soon as Claude Code says its id. A folder Claude Code was never told to trust is refused, with what to do: open it once in a terminal withclaude, answer the trust question, and try again. - On another machine it is a new tmux session there, in that folder, with Claude Code in your own shell. It outlives the window and the ssh, any terminal can attach to it, and Remote Control reaches it when that machine has it on.
Start a new session in this folder, in a row's menu, does the same in that row's folder, on that row's machine.
Moving a conversation out of VS Code
Move to LampBoard…, on the row of a conversation open in VS Code (or Cursor, or Windsurf), takes the same conversation, with everything it remembers, out of the editor and into LampBoard, in tmux on this Mac, in its own terminal in the Hub. VS Code can then stay closed. It is offered between turns only, and only for a folder Claude Code trusts, because the editor's process is ended first and nothing must be left without one. Close the conversation's tab in VS Code afterwards: a message typed there would be refused.
Nothing changes for anyone who does not ask: a click on such a row still jumps to VS Code.
Its look
Settings for the terminal itself, under The Hub's terminal in Settings. They apply to the Hub's terminal and to every live window at once.
- Look: the frame around the session: Night, Lagoon, Ember, Paper, and since 1.4 VS Code Light and VS Code Dark, which also bring VS Code's own terminal colours, so the window reads like the editor's own terminal. Since 1.4.1, Like my VS Code reads the colours of the VS Code on this Mac instead: its profile, its theme, its terminal colours, and the fixed-width font it uses when there is one.
- Font: any fixed-width family on this Mac. Claude Code draws on a grid, which a proportional font would pull apart.
- Line spacing: from 1.0 to 1.5, a little air between lines.
- Letter spacing (since 1.4.2): from 85% to 100% of the font's width, letters set tighter so that a fixed-width font reads less like a terminal. Fonts made for reading help too: Atkinson Hyperlegible Mono, IBM Plex Mono, Monaspace Argon and Neon, iA Writer Mono, all free and all with a real bold.
- Text size: the session's text, in every live window at once.
- Claude Code's look: with the helper, the conversation drawn the way Claude Code's VS Code panel draws it. Prompts sit in rounded boxes, each tool call is one line with a dot for how it went, edits are framed diffs, todo lists are checklists, and the model and the context's fill show under the prompt. On in LampBoard's windows by default; it can be everywhere, or off. The permission dialog and the prompt box stay Claude Code's own.
Inside the window
You type to the session as you would in any terminal. Option types characters, as it does everywhere on a Mac, so the @ and # an Italian keyboard puts behind Option arrive as themselves.
With the helper, /lamps opens a pane beside the conversation with every lamp of the column, so the rest of the board is in view without leaving the session.
The terminal is SwiftTerm, vendored in the repository with its licence and a record of every local change: the first code in LampBoard not written for it.