What a good morning report looks like
An overnight run is only as useful as what it leaves behind. The rules behind PaneScale’s morning report, and how to review one in ten minutes.
Coding agents got good enough to work in parallel. Our tools didn’t. Here is the idea behind PaneScale.
A year ago, a coding agent was something you watched. You typed a request, followed every step, and stepped in when it went sideways. One terminal was plenty, because one agent was all you could supervise.
That has changed. Agents now finish real tasks on their own: they fix bugs with a failing test, refactor modules a type checker can verify, update documentation, chase down flaky CI. And the moment an agent can finish without you, the obvious question is: why only one?
Most people answer that question with more terminal tabs. Claude Code in one, Codex in another, a third for the docs. It works for about an hour. Then the problems arrive:
None of this is the agent’s fault. It is missing infrastructure.
PaneScale is our answer, and it rests on four ideas.
Every agent that changes code should work on its own branch in its own directory. Git has had the right tool for years — worktrees — but setting them up by hand for every task is friction nobody keeps up with. In PaneScale it is a toggle on the pane: Isolated worktree. Closing the pane asks whether to keep, merge or discard the lane.
An agent’s summary is a claim. A test run is evidence. Wherever PaneScale reports a result — an autopilot report, a task run, a workflow run — the numbers come from commands it ran itself and recorded. When the autopilot marks a task ready, it is because the task passed your checks with no regressions, not because a model liked its explanation.
Mistakes are fine if they are cheap. Before an agent changes your workspace on your behalf, PaneScale takes a byte-exact checkpoint. Rewinding is one click — and it refuses to overwrite anything you changed by hand in the meantime.
A budget that only turns a number red is not a budget. PaneScale measures usage from the agents’ own event streams and stops runs that cross the daily limit you set. Loops are paused before they become expensive.
PaneScale is not another agent. It doesn’t replace Claude Code, Codex or Gemini CLI, and it doesn’t resell model access. Your subscriptions stay with their providers. PaneScale is the room the agents work in: the grid, the lanes, the checks and the guardrails.
It is also not a cloud service. Your code, chats and runs stay on your machine. Agents talk to their providers directly, the way they always did.
If you have never run two agents at once, start small: two panes, two lanes, two tasks that don’t touch the same files. Watch how often you need to step in — it is usually less than you expect. Then put a bug with a good test into the Overnight Autopilot, and let the checks decide.
The rest of this blog is about the details: how checks and baselines decide what is ready, why we never estimate tokens, how checkpoints avoid touching your branch, and what makes a task finishable overnight.
An overnight run is only as useful as what it leaves behind. The rules behind PaneScale’s morning report, and how to review one in ten minutes.
Design notes on the resizable terminal grid in PaneScale 0.2 — seams, crossings, snapping and why the shape is saved per workspace.
Why Video Studio describes every scene as a small canvas function — and the determinism check that keeps preview and export identical.