ai / harness

A harness is the program that runs an agent loop. It owns the UI, the tools, the permission prompts, and the context it sends to the model. Warp, Claude Code, and Codex are harnesses. The harness loads the model as a part.

I run two kinds. For software development, I run agents in Warp on my laptop. For the rest of my work, I run a personal assistant on a VM that a vendor hosts, such as Instinct or Muse. The products may change. The pattern stays.

Warp AI agent and code review screenshot

Why a terminal harness

A CLI like Claude Code runs inside a terminal. Warp is the terminal, so the agent and the shell share one surface. Warp does these better than a CLI:

Tabs and worktrees

I open one tab per task. Each tab runs one agent in its own git worktree. The tab title is the change id, so the tab bar shows what is in flight.

A harness on a VM

A hosted assistant runs its loop on a VM the vendor owns, and I reach it from a phone. The harness is the same shape: a loop, a shell, CLI tools, and a permission model. What differs is what persists. The VM is disposable. The durable part is the assistant's memory, a directory of Markdown that it writes and commits, so the conversation continues after the machine is gone.

What the harness does not decide

A router picks the model. Context files describe the repo. Those decisions stay out of the harness, so a change of harness does not change how I work.

← All articles