User guide
Based on screens verified with Claude Code 2.1.288–2.1.291
1. Setup
Connect your developers' Macs to a single company server.
- Company server: host a web application server (WAS) and a database on-premises. The web console goes behind your company's HTTPS proxy, and Agent connections (
/ws/agent,/agent/) are opened only inside the internal network (VPN). Web login always requires an ID, password, and OTP. - Each Mac: tmux and Claude Code. Claude Code must be launched inside a tmux window for typing and approvals to work from the web.
- Installing the Agent: run the one-line command an admin creates on the web under Manage › Hosts › “Add host” in the developer Mac's terminal (inside the internal network). The enrollment code can be used only once, within 15 minutes.
# The form of the command “Add host” generates (use the address and code shown on screen)
curl -fsSL <server address>/agent/install.sh | bash -s -- --code XXXX-XXXX
The install script verifies the binary, enrolls the host, keeps the Agent running under launchd, sets up the Claude Code hooks, and finishes with a health check. After that, the Agent is updated with “Update now” on the web.
2. Viewing sessions
The session list shows sessions from every Mac, ordered by status.
| Status | Meaning |
|---|---|
| Waiting for approval | Claude is waiting for permission or an answer. Shown at the top. |
| Waiting for input | Claude has finished and is waiting for the next instruction. |
| Running | Claude is working. A progress line (elapsed time, tokens) is shown. |
| View-only | The session was launched outside tmux, so it can only be viewed. Use “Resume in tmux” to make it controllable. |
| Done | A finished session. You can resume it or move it to another Mac. |
Click a session to open its conversation. Messages, tool calls, and results stream in live, in the same order as the terminal; if you have scrolled up to read, new messages won't move you from your place (use the “New messages” button to jump to the bottom).
3. Approvals · Questions
- Permission requests: “Allow”, “Always allow this command”, or “Deny”. “Always allow” saves only the rule Claude suggested (usually just that one command). If being asked for every command is a hassle, switch the permission mode to “Auto”.
- Claude's questions: on the question card, pick an option (one or several) or type your own, then “Send answer”. If there are several questions, all must be answered before sending.
- The same prompt is also open in the terminal, and whichever answer comes first wins.
- Confirmation dialogs that appear only in the terminal (for example, “Background work is running” on
/exit, or “Switch model?” when changing models) also show up as an “Asking in the terminal” card, and you choose from the web. - Pending requests gather in the alerts panel (the “Alerts” tab on phones).
4. Prompts · Files · Interrupt
- Type in the input box and send (⌘/Ctrl+Enter). Long text is sent as is, and the input box is cleared only after delivery is confirmed.
- Drag files onto the input box or paste them, and they are uploaded to
uploads/in the session folder, with@pathinserted into the input box. You can also choose a folder and upload with the attach button. - “Stop” is the same as Esc in the terminal. Commands such as
/compactand/clearare sent with quick buttons.
5. New session · Resume
- In “New session”, choose the Mac (host), account, model, effort, project folder, and permission mode. Only folders inside those allowed on that Mac can be opened.
- Choose “New conversation” or “Resume” (pick a finished conversation). The list is read from that Mac's disk, so conversations from folders used only in the terminal also appear (the top one is the latest, the same as
claude --continue). Resume opens with the permission mode and effort that conversation was using. - If you resume under a different account from the one where the conversation is stored, the conversation file is copied to that account and continued there (the original account's file is left untouched).
Pop-ups close only with “Cancel”, X, or Esc. Clicking outside by mistake won't lose what you were typing.
6. Model · effort · Permission mode
- Change them with the “Model · effort” button in the session header. By default the change applies to this session only; turn on “Also save as the default for new sessions” to change that account's defaults as well.
- Changing the model mid-conversation makes the new model re-read the whole conversation on the next message, which is slower and uses more tokens.
- Permission modes: Default (asks every time) · Accept edits · Plan · Auto (asks only about things that look risky) · Bypass permissions (trusted folders only).
7. Move session
Session menu › “Move to another host”. Only sessions that have finished on the original Mac can be moved.
- Move just the conversation, or the working folder along with it. The working folder is packed without regenerable folders such as node_modules and target, sent via the server, and extracted into an empty folder on the destination Mac.
- A progress bar shows each step (export → pack → upload → download → extract → resume). The move continues even if you close the web page, and the progress is shown when you come back.
- Keeping code in sync with git is the default. The move dialog compares and shows the git status of both Macs.
8. File explorer
- Open the session folder with “Files” in the session header. Tabs, side-by-side view, Markdown preview, and image preview are supported.
- To edit, unlock, make your changes, and press ⌘+S. If Claude changed the same file in the meantime, you are warned about the conflict.
- Rename, duplicate, and delete. Deleting only moves files to the Trash, and nothing is ever written to
.gitor.claude. - Set Settings › This browser › “Open file explorer” to “In a new window”, and “Files” opens in a separate window so you can view files while following the conversation.
9. Tasks · Usage
- Tasks: see the background agents and workflows running right now across all sessions, and those that finished in the last 24 hours.
- Usage: choose a period, account, and host to compare estimated cost, requests, output tokens, and cache hit rate against the previous period. It includes account limits (5-hour, weekly, weekly per model) with a forecast at the current pace, daily per-model bars, rankings by project and session, and a day × hour heatmap.
- Costs are estimates at API rates, not subscription fees.
10. Manage · Settings
- Hosts: connection status, version, and metrics; “Add host” and unregister; Agent “Update now”.
- Accounts · Usage: login status of Claude and Ollama accounts on each Mac; log in and log out from the web.
- Models: turn available models on or off, and set the default model for each type.
- Backups: the Agent uploads each Mac's conversation history to the company server every 10 minutes. Server archive size and free disk space, backup status per host with “Back up now”, and searching backed-up conversations with “Restore” (admins). Restored conversations are opened from New session › Resume.
- Settings: server settings such as file preview limits and retention periods (admins), and settings for this browser such as theme and editor.
11. On phone and desktop
Phone: use “Add to Home Screen” in Safari to launch it like an app, and move around with the bottom tabs (Session, Alerts, Tasks, Usage, Manage). For approvals and questions, “Answer in session” in the Alerts tab takes you straight there.
Desktop: the session list, conversation, and alerts appear side by side in three columns. The side columns can be collapsed into a summary rail and an icon rail (this browser remembers), and the file explorer opens two files side by side. Drop files onto the conversation area to upload them right away.
12. Web terminal
Open a developer Mac's shell (Manage › Hosts › “Terminal”) or the actual tmux screen of a claude session (Session menu › “View in terminal”) on the web. Because it is a shell with that Mac user's permissions, it comes with conditions.
- It must be enabled locally on that Mac — it cannot be enabled from the web. Turning it off also closes any open terminals.
- Admins only, with an extra OTP check each time it is opened. Opening, closing, times, and byte counts are recorded in the audit log, but keystrokes are not. It closes after 30 minutes without input.
- On desktop it opens in a separate window (Settings › This browser › “Open web terminal”). The terminal stays open even if you close or reload the console window.
- Scroll back through earlier output with the wheel, a swipe, PgUp/PgDn, or Shift+PageUp; press any key to return to the live screen. Dragging to select copies immediately; ⌘+K clears the screen and scrollback, and ⌘+L clears only the screen.
- The number of scrollback lines kept is set in Settings › “Web terminal › Scrollback lines” (default 10,000 lines).
# In that Mac's terminal — on · off · status
~/.ssemtong/bin/ssemtong-agent terminal on
~/.ssemtong/bin/ssemtong-agent terminal off
~/.ssemtong/bin/ssemtong-agent terminal status
13. Prompt list
- “Prompts” in the right column (the “Alerts” tab on phones) shows only what people typed in that session, newest first — number, time, and the first three lines; click to see the whole prompt.
- Click the ↳ button to jump to that prompt in the conversation and briefly highlight it. While you read on from there, new output won't pull the screen down; return with the “Scroll to bottom” button.
- If you pick an older prompt that isn't loaded on screen yet, the conversation around it is loaded from the server and you jump there; keep reading with “Load the following conversation”.
14. Language
The web console supports Korean, English, Japanese, Simplified Chinese, French, Spanish, Indonesian, Vietnamese, Khmer, and Arabic. Choose with the 🌐 button at the top (at the bottom on the login screen) or in Settings › This browser › “Language”. It follows the browser language at first, and that browser remembers your choice. Some messages sent by the server and Agent are still shown in Korean.