# Sesh > Sesh runs coding agents (Claude Code, Codex, Cursor, Gemini CLI and any ACP agent) on computers the user owns, and shows every session in one native app on Mac, iPad, iPhone and Apple Watch, with a Linux app in beta. A small service, `seshd`, runs on each computer the agents work on; the apps pair with it and reach it from any network, encrypted end to end. This file is for an AI agent helping someone set up Sesh. Each step says who does it: **you** (with a shell on the computer) or **the person** (in the Sesh app, which you can't drive). Every docs page below is also plain Markdown; [llms-full.txt](https://sesh.codes/llms-full.txt) has all of them in one file. ## Set up a computer for Sesh (you can do this) Do this on the computer the agents should run on: a Mac, or Linux on Intel or ARM. It needs internet access, but no open ports and no VPN. 1. Make sure `git` is installed and can push (`gh auth login` or an SSH key). 2. Install the Sesh service: ```sh curl -fsSL https://sesh.codes/install.sh | sh ``` It installs `seshd` and `sesh` in `~/.local/bin`, starts `seshd` as a service that comes back after a restart, and prints a pairing code. 3. On Linux, also run `loginctl enable-linger $USER` so Sesh keeps running after logout, and install `bubblewrap` (for example `sudo apt install bubblewrap`) so Sesh can sandbox Autonomous sessions. 4. Get a pairing code for the person: `~/.local/bin/sesh pair`. It prints the computer's **ID** and a **Pairing code** that works once, for 10 minutes. Give the person both. A brand-new cloud server needs a user, a firewall and SSH hardening first: follow [Run Sesh on a cloud server](https://sesh.codes/docs/cloud-server.md). On a Mac with a screen, the person can [download Sesh Host](https://sesh.codes/releases/latest/Sesh-Host.pkg) instead of running the installer; then run `~/.local/bin/sesh pair` for a code. ## Pair it and start working (the person does this) 1. Install Sesh for Mac, iPhone and iPad from the TestFlight beta: [testflight.apple.com/join/VtsK8NNX](https://testflight.apple.com/join/VtsK8NNX). The Linux app's beta is at [sesh.codes/#linux](https://sesh.codes/#linux). 2. On a Mac: **Settings › Machines › Add Machine…**, paste the **ID** into **Machine**, enter the **Pairing code**, and click **Pair**. On an iPhone or iPad: tap **Add Machine** and scan the QR code `sesh pair` draws. 3. In **New Session**, pick the computer, a project and an agent. Projects in `~/code`, `~/src` and `~/Developer` show up on their own. ## Set up a project for Sesh (you can do this) Every session works in its own git worktree on a fresh branch. To get each copy ready before its agent starts, write `.sesh/config.json` in the repository root and commit it: what to copy in, what setup command to run, and the ports and variables a session gets. See [Project setup with .sesh/config.json](https://sesh.codes/docs/project-setup.md). Keys and `.env` files for other machines are in [Secrets and variables](https://sesh.codes/docs/secrets-and-variables.md). ## Useful commands on a paired computer - `sesh pair`: a new pairing code. - `sesh clients`, then `sesh revoke `: list and unpair devices. - `seshd update`: update the service now (it also updates itself when idle). ## Agent Skills The same steps as installable [Agent Skills](https://agentskills.io), also listed in https://sesh.codes/.well-known/ard.json: - [set-up-sesh](https://sesh.codes/skills/set-up-sesh/SKILL.md): Install the Sesh service (seshd) on a Mac or Linux computer so Sesh can run coding agents there, and get a pairing code for the person's Sesh app. Use when someone wants Claude Code, Codex, Cursor or Gemini CLI to run on a computer or server through Sesh, or asks to add or pair a machine with Sesh. - [configure-sesh-project](https://sesh.codes/skills/configure-sesh-project/SKILL.md): Write a repository's .sesh/config.json so every Sesh session's worktree is ready before its agent starts: files to copy in, the setup command, ports and session variables, and teardown. Use when setting up a project for Sesh, or when Sesh sessions start without dependencies installed or .env files. ## Docs: Start here - [Getting started](https://sesh.codes/docs/getting-started.md): Six steps, about ten minutes. By the end an agent is working on your project in its own branch, and you can answer it from your phone. ## Docs: Guides - [Add a machine](https://sesh.codes/docs/add-a-machine.md): Run agents on another Mac or a Linux box, and pair your iPhone and iPad. The code and the agents stay on your machines; Sesh shows you the sessions everywhere. - [Run Sesh on a cloud server](https://sesh.codes/docs/cloud-server.md): Rent a Linux server and turn it into a machine your agents can work on around the clock, with nothing to keep awake at home. - [Sesh on iPhone and iPad](https://sesh.codes/docs/iphone-and-ipad.md): Every session on every machine, in your pocket, with approvals right on the lock screen. - [Sessions, branches and worktrees](https://sesh.codes/docs/branches-and-worktrees.md): Every session works in its own copy of the project, so any number of agents can work at once. - [Approvals and Autonomous mode](https://sesh.codes/docs/approvals-and-autonomous.md): Decide what the agent can do on its own, and answer it from wherever you are. - [Routines](https://sesh.codes/docs/routines.md): Run a task on a schedule with every app closed, try one task several ways at once, or keep an agent on duty. - [Agents that start sessions](https://sesh.codes/docs/agents-that-start-sessions.md): Let an agent ask you questions, notify you, and split big work into sessions of its own. - [Review and push changes](https://sesh.codes/docs/review-and-push.md): See what the agent changed, send feedback, and open a pull request without leaving Sesh. - [Artifacts](https://sesh.codes/docs/artifacts.md): Charts, tables, pages and diagrams the agent makes for you, right in the chat. - [Terminals](https://sesh.codes/docs/terminals.md): A real shell in any session or on any machine, with splits, right next to the agent. - [Add agents from the ACP Registry](https://sesh.codes/docs/more-agents.md): Install the built-in agents, any agent from the ACP Registry, or your own. - [Secrets and environment variables](https://sesh.codes/docs/secrets-and-variables.md): Get your .env files and API keys to agents on other machines, without committing them. - [Dev servers](https://sesh.codes/docs/dev-servers.md): Open the server a session started, even when it's running on another machine. - [Notifications](https://sesh.codes/docs/notifications.md): Know when an agent needs you or finishes, and answer from a notification, the Lock Screen, the floating chip or your wrist. - [Themes](https://sesh.codes/docs/themes.md): Pick a built-in theme for light and dark, bring yours from your editor or terminal, or make your own. - [Project setup with .sesh/config.json](https://sesh.codes/docs/project-setup.md): Tell Sesh how to get a fresh copy of your project ready for an agent. ## Docs: Reference - [Keyboard shortcuts](https://sesh.codes/docs/keyboard-shortcuts.md): Every shortcut in Sesh, on the Mac and on iPad with a keyboard. ## Optional - [Settings reference](https://sesh.codes/docs/settings/): every setting, its default and where it lives. - [Privacy policy](https://sesh.codes/privacy/): what the apps, the service and the site do with data. - [Home page](https://sesh.codes/): what Sesh is, pricing and downloads.