Appearance and keyboard
The web UI has a dark and a light theme, a text size you can change, a status dot that tells you whether the relay answers, and a layout that switches between a docked sidebar and a drawer. All of it is kept in your browser, so each device has its own look. This page also lists the keyboard shortcuts.
Theme #
Open Settings → General and pick Dark or Light under Theme. Dark is the default. The choice is saved in the browser you use: another browser or device keeps its own. There is no option to follow the system setting.
The installed app follows the theme too. In Light the app icon, the browser tab icon and the logo in the UI switch to the light set, and the app's launch background and toolbar color turn white.
The ⋯ menu has the same switch as one entry, ☀️ Day mode or 🌙 Night
mode, named after the mode you switch to. Added in 0.9.11 It is there whenever
you are signed in, with or without a conversation open. In the
shared read-only view, which has no
Settings, it is the menu's only entry.
Text size #
Text scaling under Settings → General scales all text in the UI, including the transcript. It offers 50% to 150% in steps of 10%. The default is 100%.
Two gestures set it as well, in the same 50% to 150% range:
- Hold Ctrl (or Cmd on a Mac) and turn the mouse wheel. A slow turn moves the size by 1%, a fast spin by more.
- Pinch with two fingers on a touch screen.
A small badge with the percentage shows while you do it. After a gesture the
select shows the in-between value, such as 73%. Both gestures are ignored
over a picture in the file viewer, where they zoom
the picture. The value is saved per browser. While you change it, the message
you were reading stays in place.
The relay status dot #
The dot sits at the top of the conversation list, with the text CLI online or CLI offline next to it. Hover it for a tooltip. On a phone the list is a drawer that is usually closed, so the bars of the ☰ button take the same color.
| Color | Tooltip | Meaning |
|---|---|---|
| Grey | Web relay unreachable |
The browser has no connection to the relay. |
| Green | Web relay reachable |
The relay answers. |
| Green | Web relay reachable; CLI offline |
The relay answers, but its agent side is offline. A banner reads "CLI is offline — messages will queue until it reconnects". |
| Amber | Web relay reachable via Cloudflare Tunnel |
The relay answers and is also reachable from the internet through its Cloudflare tunnel. |
| Green | Web relay reachable; Cloudflare tunnel disconnected |
The tunnel is configured but not connected. The dot stays green, because the relay itself answers. The tooltip adds the error when there is one. |
| Green | Web relay reachable; Cloudflare tunnel off: cloudflared is not installed |
The tunnel is configured, but cloudflared is missing. The relay's own error text can replace the last part. |
When the CLI is online, the tooltip ends with how many session workers are
processing, degraded or waiting on a question, in that order of priority:
for example 2 session workers processing. The CLI-offline tooltips in the
table keep the dot's color, so the dot is amber when the tunnel is connected.
Layout #
Desktop #
The conversation list is docked at the left. The ☰ button (Toggle conversations sidebar) collapses and opens it, and the browser remembers which. Drag the divider between the list and the chat to resize it, from 10% to 50% of the window width. The width is remembered separately for portrait and landscape windows.
Phone #
At 680 pixels of window width or less the list becomes a drawer over the chat, taking 92% of the width. ☰ opens it, and a tap on the dimmed area outside it closes it. The text size follows the screen width within a fixed range, and your Text scaling multiplies it.
Differences below 680 pixels:
- The on-screen Enter key adds a line. You send with the Send button.
- After a send, the composer lets go of the keyboard. On a wider screen it keeps the focus.
In landscape on a phone (a touch screen with a screen height of 500 pixels or less) the text size is based on the screen's short side, so the on-screen keyboard does not shrink the text.
Keyboard #
On a Mac, Cmd takes the place of Ctrl. Nothing here can be rebound.
| Where | Key | What it does |
|---|---|---|
| Composer | Ctrl+Enter | Sends the message. |
| Composer | Enter, Shift+Enter | Adds a new line. |
/ and @ menus |
↑, ↓ | Move the highlight. ↑ on the top row removes it. |
/ and @ menus |
Tab | Accepts the highlighted row, or the top one. |
/ and @ menus |
Enter | Accepts a row you moved to with the arrows. Otherwise it is a new line. |
/ and @ menus |
Esc | Closes the menu. |
| Question card, text field | Ctrl+Enter | Sends the reply. |
| Conversation list filter | Esc | Clears the filter. |
| Message search | Enter | Runs the search. |
| Message search | Esc | Closes the search. |
| Title edit | Enter | Saves the title. |
| Title edit | Esc | Cancels. |
| File explorer, rename or new folder | Enter | Confirms the name. |
| File explorer, rename or new folder | Esc | Cancels. |
| File explorer, delete confirmation | Enter | Confirms the deletion. |
| Change CWD menu | ↑, ↓, Home, End | Move the highlight. |
| Change CWD menu | Enter, Space | Open the menu, or choose the highlighted folder. |
| Change CWD menu | Esc, Alt+↑, Tab | Close the menu without choosing. Letter keys jump to a matching folder. |
| Cloud repository and branch fields (new conversation) | ↑, ↓, Enter, Esc | Move through the suggestions, take the highlighted one, close the list. |
| Sub-agent row in the transcript | Enter, Space | Fold or unfold it (when the row has focus). |
| File viewer | →, ← | Next or previous file in the gallery. |
| File viewer | Esc | Closes the viewer. |
| Settings tabs | ←, →, ↑, ↓, Home, End | Move to another tab and open it. |
| Right-click menus | ↑, ↓, Esc | Move through the entries, or close the menu. |
⋯ menu |
Esc | Closes it. |
| Other windows | Esc | Closes the topmost one: the file viewer, the sub-agent viewer, the git changes window and its diff, the image editor, the emoji picker, the file explorer and the dialogs such as Suspend host. |
Details of the composer keys are on The composer. For the question cards see Question cards, and for the search The transcript.
Language #
The web UI is in English. It has no language setting.