ctermdocs HomeBlogSign in

Welcome to cterm

cterm runs the real, interactive Claude Code on your Mac and lets you use it from a browser anywhere: the Mac itself, another computer, or your phone. Each session keeps its terminal exactly as Claude Code draws it, and next to it cterm shows a richer view of the same conversation, with cards for tools, permissions, questions and plans, a file browser, and the projects, roadmaps and helpers that grow around your work.

These pages are public too, at https://cterm.dev/docs/, for anyone to read without an account. A picture shows there only once a scan of its text found nothing of a real Mac in it, so a few pages have fewer pictures there than here.

What it is for

Claude Code is a terminal program. That is its strength, and also its limit: it lives in one window on one machine, it cannot tell you from across the room that it needs an answer, and a dozen sessions in a dozen tabs are hard to keep track of. cterm keeps Claude Code exactly as it is and adds what a terminal cannot give:

  • Many sessions at a glance. Every session is a row in the sidebar, grouped by profile and project, with its state: working, idle, or needs you.
  • A view built for Claude's work. Answers rendered as markdown, each tool call as a card you can open, permission requests and questions you answer with a click, plans you approve or send back.
  • Anywhere. The same sessions from a phone, with notifications when Claude needs you, and from outside your home through a tunnel you control.
  • Projects with memory. A project page, a roadmap with ideas and bug reports, task sessions in git worktrees, a steward that keeps the roadmap in order, a wiki, artifacts and a to-do list.

How it works

Three pieces run on your Mac:

  1. The PTY host owns the terminals. Every session is a real claude process in a pseudo-terminal, so nothing is simulated, and the host keeps running when the daemon restarts.
  2. The daemon is the brain: it starts sessions, listens to Claude Code's own hooks and status line, reads its transcripts, keeps cterm's store (~/.cterm/cterm.db) and serves the web app.
  3. The web app is what you see in the browser. It talks to the daemon over one WebSocket.

Everything the rich view shows comes from Claude Code's documented surfaces (hooks, the status line, the transcript files), and every prompt you send is typed into Claude's input as if you typed it. cterm makes no API calls of its own: when it needs a model (a session's brief, the steward, voice shaping) it runs claude -p on your Claude login.

The pages

Start

  • Getting started: install cterm on a Mac, open it, start a first session, set a password.

Sessions

Projects

  • Accounts, profiles and projects: Claude logins, cterm accounts, and how sessions are grouped.
  • The project page: a project's home, its tabs and its settings.
  • Workflows: steps drawn on a canvas and run by cterm, by hand or on a schedule, with a yes from you on the way.
  • Monitors: a check every few minutes, a script or a question to a model, that tells your phone when its condition starts to hold and once when it clears.
  • The roadmap and ideas: a project's plan, ideas and bug reports, and asking the roadmap a question.
  • Task sessions and worktrees: a session started on a roadmap item, in a git worktree of its own, merged from the app.
  • The steward: cterm's background jobs that triage ideas and record what sessions did.
  • The wiki: a project's own pages, kept by Claude.
  • The navigator: a project's map of what its app does, each action's scenarios run in a browser.
  • Artifacts: the pages sessions publish, kept and served by cterm.
  • To-dos: your own list across projects.

Overview

Anywhere

  • cterm on a phone: the phone layout, the home-screen app and notifications.
  • Remote access: passwords, devices and the tunnel that reaches your Mac from outside.
  • Sharing: a session shared by link, and a chat embedded in another web page.
  • Your own machine: your sessions on a machine of yours, on your Claude login, behind the same sign-in.

Admin

Scenarios

A morning across three projects

You open cterm on the laptop. The sidebar shows two sessions that finished overnight and one that needs you: it stopped to ask whether to delete a folder. You read the card, click Allow, and it carries on. The project page of another project says the steward placed two ideas you filed from your phone yesterday; you start a task session on one of them and go to your coffee.

Away from the desk

On the train, your phone buzzes: a session needs an answer. You open the notification, the session opens on its question card, and you pick an option. The work goes on at home on the Mac; you only answered a question.

About these pages

These pages live in the repository as markdown (docs/site/pages/) and are built into the site you are reading by docs/site/build.mjs. Every picture is a screenshot drawn by one of the repository's shot scripts from made-up data, so the names in them are examples, and the pictures are redrawn when a view changes.

The pages follow the app as it changes. Each one names the parts of cterm it describes, so when a change to the app touches a part, the session that made the change is asked to reword the page and redraw its pictures before it stops, and whatever a merge still leaves behind becomes a task on cterm's roadmap for another session.

Written in docs/site/pages/index.md and built by docs/site/build.mjs.