mend

Run your TUI agents anywhere you want.

Your coding agents are scattered across laptops, terminals and worktrees. Mend runs them all on one server you own, each session in its own worktree and container. None of the usual remote pain. Your dev setup comes along, dev servers show up on localhost, and you can attach from anywhere.

$ npm install --global @sealant/mend

Node 22+ · Docker · Linux or macOS

  1. 01

    $ npm install --global @sealant/mend

    Installs the CLI. Needs Node 22 or newer.

  2. 02

    $ mend server setup

    Starts the server on this machine, in Docker.

  3. 03

    $ mend claude

    Run it in any repository with a remote. Mend adopts the repository, checks out a worktree and starts the agent in it.

How it works

one machine · all your projects

All your sessions and worktrees in one place

Agent sessions tend to spread out. Some run on the laptop, some on the desktop, a few in tmux panes, next to worktrees nobody remembers making. Mend keeps every project, worktree and session on one machine. Adopt a repository once and Mend clones it into its store. Every session checks out its worktree from there.

Open the web app or run mend ui and it's all in one list. You can see every project and every session, which ones are running and which are waiting on you. It's the same list from your laptop, your phone or a terminal on another machine.

cloud agents · your hardware

Cloud agents on your own hardware

Your agents run on the Mend server. That can be a box under your desk, a VPS or a Kubernetes cluster. Close your laptop and they keep working. Attach again from a terminal, the browser or your phone and the live terminal is right where you left it. Want to poke around yourself? mend shell opens a terminal inside the session's workspace, right next to the agent.

Remote agents usually lose everything that made your own machine useful. Mend keeps it. Sessions start with your dotfiles, your skills, the project's environment and secrets, and your git access. Dev servers run as Services, and Mend tunnels each one to the same port on the machine you're attached from. Open localhost:5173 and you're looking at the agent's dev server.

team · shared projects · shared control

One server for your whole team

Put Mend on one server and invite the team with mend invite. Share a project with everyone or keep it to yourself. Everyone's sessions sit side by side, so you can open a teammate's session, see where it's at and read its change.

Each person signs in with their own Claude, Codex and GitHub accounts and brings their own dotfiles and skills. Only a session's owner types into it, until they turn on shared control and a teammate can pick it up and keep going. In Slack, anyone on the team can ask @mend for work and follow up on it in the thread.

preview · live link

A live link to every change

When a session changes your app, Mend gives you a link to that change running live. You don't check out a branch or start anything yourself. Open the link and try it.

The link shows up wherever Mend reports on the session: in the Slack thread, in the web app, on your phone. Most of the time you'll know whether the change works before you read a line of the diff.

review · full record

Code review that knows more than the diff

Mend gives you the kind of review you'd pay CodeRabbit for, running on your own hardware and your own Claude or Codex subscription. There's no per-seat review bill, and your code never goes to another review service.

Sealant's runtime, sealantd, records every session as it runs: the prompts, the commands the agent ran, what they printed, and the order the files changed in. Mend reads the change against that complete record and gives you review comments with suggested fixes, plus a tour that walks you through the change in the order it was written.

one session store · any harness

Harness agnostic

Mend keeps every session in one store, whichever harness started it. The worktree, the record and the conversation belong to the session, and the harness is just what's running it right now.

Any session can be resumed with any harness Mend supports. Start it in Codex and pick it up in Claude Code tomorrow.

slack · github

Ask in Slack, get a live preview and a pull request

Mention @mend in a thread and it starts a session for you, in the project it reads from the message, the thread or the channel default. When the work is done, Mend replies in the thread with a link to the change running live, so you can try it right from Slack. If the request asked for a change, Mend also pushes it to a branch and opens a pull request. It never merges and never force-pushes.

Integrations

Agents

Each person signs in once with their own subscription.

Claude Code

Runs in its own terminal, unchanged, on your Claude login.

mend claude

Codex

The Codex CLI on your ChatGPT login. Resume across Codex and Claude Code.

mend codex

OpenCode

Gets a worktree, a record and a review like the others.

mend opencode

Pi

The Pi coding agent, with the same worktree, workspace and review as the rest.

mend pi

Where you work from

Attach to the same session from several places at once.

Terminal

Attach to the agent, or open a shell in its workspace to run the tests yourself or look at a file. The dashboard keeps every project live.

mend attach · mend shell · mend ui

VS Code

Our extension, published on the VS Code Marketplace. Open any session's workspace over Remote-SSH, and a claude or codex you start in its terminal is recorded.

VS Code Marketplace · Remote-SSH

Browser

The live terminal, the project's sessions and the review, in the web app.

sessions · review · settings

Phone

Apps for iOS and Android, in review on the App Store and Google Play.

iOS · Android · mend pair

Team and shipping

Optional. Review works before anything is committed.

Slack

Ask @mend in a thread and get the session's status, a preview link and the pull request back.

@mend <request>

GitHub

Push a session's change and open or update its pull request. gh works inside sessions.

mend land · mend connect github

Any Git host

Adopt any repository reachable over SSH or HTTPS, with a Mend key or your SSH agent.

mend adopt <url>

Your environment

Sessions start with your setup already in place.

Dotfiles

One command picks up your shell, git and editor config from this machine, and every session starts with it. Keep a dotfiles repo? Point Mend at it and it applies it with stow, chezmoi or a plain copy.

mend dotfiles sync --all

Agent skills

Push your skills library, per person or per project. Every session gets it at launch.

mend skills push

Workspace images

Arch, Ubuntu, Fedora or Nix, or your own OCI image as the base, with any packages you want on top.

arch · ubuntu · fedora · nix · oci

Where it runs

Your own hardware, reached over your own network.

Docker

One command sets up the server containers on any machine with Docker.

mend server setup

Kubernetes

A Helm chart, with sessions in cluster workspaces.

deploy/helm/mend

Private network

A LAN, a VPN or a tailnet. You declare how the server is reached, and Mend reports what it actually sees.

loopback · private · public

FAQ

What is Mend?

A self-hosted workbench for coding agents. It keeps all your agent sessions and worktrees on one machine you run, and gives each session its own worktree and its own workspace. You bring the agent, whether that's Claude Code, Codex, OpenCode, Pi or any other command, and reach it from a terminal, VS Code, a browser, your phone or Slack.

How is this different from hosted cloud agents?

Hosted cloud agents run on the vendor's machines, usually in a fresh sandbox, and you mostly see the result. With Mend the agent runs on hardware you pick. The session is a live terminal you can attach to and type into while it works. It starts with your dotfiles, your secrets and your git access, and its dev servers show up on your own localhost.

How is this different from OpenCode or T3 Code?

Those are the tools you work with an agent in. Mend sits a layer below them. It decides where your sessions run, keeps all of them on one machine, gives each one its own worktree and workspace, and lets you reach any of them from anywhere. Mend already runs OpenCode as one of its agents with mend opencode.

We're also planning to support Mend as a backend for T3 Code very soon. You'd keep T3 Code as your interface, and the sessions would run remotely on your Mend server.

Does it replace Claude Code or Codex?

No. The agent runs unchanged in its own terminal, on your own login. Mend starts it in a worktree, records it, and gives you ways back in. mend resume --with moves a conversation between Claude Code and Codex.

What do I need to run it?

Node.js 22 or newer, or 26 if you want the terminal dashboard. The machine that hosts the server needs Docker. It runs on Linux and macOS.

Install with npm install --global @sealant/mend, then run mend server setup. The install guide covers the rest.

Can I work in VS Code?

Yes. The Mend extension lists your projects and sessions in the activity bar. Opening one connects VS Code to the session's workspace over Remote-SSH, so the integrated terminal runs inside the workspace, and Mend records a claude or codex you start there. It can also take over a session that's running somewhere else and resume the conversation in the editor's terminal.

It's published on the VS Code Marketplace. Search for Mend in the Extensions view to install it.

How much does it cost?

Nothing. Mend is open source under the Apache-2.0 license, and there is no hosted service to pay for. You bring the machine and your own agent subscriptions.

Where does my code run, and what leaves my machine?

Sessions run in containers on your Mend server. Mend has no telemetry and uploads no code. Your agent talks to its model provider as it always does. Slack and GitHub only come into it when you connect them.

Does Mend use AI itself?

Yes, in a few places. Mend uses inference to name sessions, read a change and draft review comments, write summaries, and work out what a Slack request is asking. It runs on the Claude or Codex account you connected. Mend ships no model keys and has no model of its own. Its comments are drafts, and nothing goes to the agent until you send it.

Do I need GitHub?

No. Mend adopts any Git repository reachable over SSH or HTTPS, and review works on the local change before anything is committed. GitHub comes in when you want gh inside sessions, or want Mend to push a branch and open a pull request.

Will Mend merge my pull requests?

No. mend land pushes the session's change to a branch on origin and opens or updates a pull request. It never merges, never force-pushes, and never moves the session's own branch. It reports what was pushed and what GitHub last said, for example pull request #412 · open · observed.

Can I use it from my phone?

Yes. mend pair prints a QR code. Scan it and your sessions, the live terminal and the review open in the phone's browser. The phone has to reach the server, usually over a private network. The remote access guide covers the setups. The iOS and Android apps are in review on the App Store and Google Play now.

Can my team share one instance?

Yes. The first account owns the instance and invites the rest with mend invite. Each person connects their own Claude, Codex and GitHub accounts. A project is private to whoever made it or shared with everyone, and only a session's owner can type into it unless they turn on shared control. For bigger teams there's a Kubernetes deployment.

Can I put it on the public internet?

We'd rather you didn't. Mend listens on loopback by default and is meant to be reached over a LAN, a VPN or a tailnet. There is a public mode, but it refuses to start while its exposure checklist has open items. The checklist shows what you declared next to what Mend actually observed.

How does Mend relate to Sealant?

Sealant is the runtime underneath. It runs the workspaces and writes each session's record. Mend talks to it only through its public SDK. Sealant ships inside Mend's server image, so you install and upgrade Mend alone.

In any repository with a remote

mend claude

$ npm install --global @sealant/mend

Install the CLI and run mend server setup once. The install guide has the rest.