Skip to content

Running Agents

Lattis runs coding agents for you and keeps them organized so you can drive many at once. This page covers launching agents, running several together, and the terminals they live in.

Lattis ships with its own agent built in, and also drives the agent CLIs you already use:

AgentWhat it is
SawyerLattis’s built-in agent — ships in the app, no install.
ClaudeAnthropic’s coding agent.
CodexOpenAI’s coding agent.
PiLattis’s standalone agent CLI.
OpenCodeThe open-source agent.

Sawyer is the default and runs out of the box — it’s built into the app, so there’s no separate CLI to install and no agent account to log in to. The others drive the matching CLI you install yourself.

You don’t configure any of them to talk to Lattis — when an agent launches, Lattis points it at its own gateway automatically, so it uses the models you’ve connected with no extra setup.

Sawyer is always available — it’s built into Lattis, so the picker is never empty. For the others, the agent picker shows only the agents whose CLI is actually installed on your machine, so you never pick something that can’t run. Install an agent’s CLI (so that claude, codex, pi, or opencode is on your PATH) and it appears automatically.

The default agent — the one launched when you open a branch — is Sawyer out of the box, and is configurable in Settings.

There are two ways to start one:

  • Open a branch in the Projects sidebar. Lattis launches your default agent in that branch’s worktree, inside the branch’s tiled workspace.
  • Use the + menu in any pane’s tab strip to add another agent (or a plain terminal) to the branch you’re already on.

Type your task into the agent’s terminal and it goes to work. The stoplight on the tab and the branch tells you when it’s running, done, or waiting for you.

This is what Lattis is built for. You can:

  • Run different tasks in parallel — open several branches, each with its own agent, and let them work simultaneously. They’re isolated in separate worktrees, so they never collide.
  • Put two agents on one task — add, say, both Claude and Codex to the same branch and compare how they approach it. Each gets its own tab and status dot, and they share the branch’s Changes and Spend.

There’s no fixed limit on how many you run — open as many as your machine can handle. The stoplights are what keep a wall of agents manageable: glance across them and you instantly see which ones need you.

  • Agent tabs live in the panes of the tiled workspace. Each shows the agent’s name, its status dot, and a close (×) button; drag a tab by its title to move it to another pane. A tab reads “(exited)” when its process has finished but you’ve kept the tab open to read the output.
  • The + menu in a pane’s tab strip spawns a new agent or a bare terminal in the current worktree.
  • Plain terminals are persistent login shells — handy for running a build, checking git log, or anything else without interrupting an agent. Put one in its own pane and it stays visible (and running) while you work.

Closing a tab ends that session; closing a branch’s last tab leaves the worktree in place on disk (see Projects & Worktrees for cleaning up).