Skip to content

Running Agents

Lattis runs coding agents and keeps their sessions organized across branches. This page covers launching agents, running several together, and the terminals they use.

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 because it is built into Lattis. For the other agents, the picker normally shows only CLIs installed on your machine. If no agents are detected, Lattis may show fallback entries; launching an uninstalled CLI will fail. 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. Separate worktrees reduce interference between branches.
  • 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.

The practical limit depends on your machine and the workload. Stoplights help you identify agents that need attention.

  • 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).