The overnight run: a ticket queue, a team, a report in the morning

You say how long you will be away, where the tickets come from and what the agents may do. Here is how the night goes, what the morning report says, and what to know about permissions before you leave.

IN SHORT
  • One orchestrator, one queue, one report. The team works through tickets (GitHub issues with a label, or BACKLOG.md) and a morning report waits for you.
  • Careful by default. The plan waits for your go-ahead and agents get Files: they stop at their first command until you are back.
  • The push block is not a security boundary. With Files and commands, use a repository you can afford to lose.

An overnight run is an ordinary orchestrator mission with three differences: the tasks come from a list of tickets, the team works through them without you, and a report sums up the night when you come back. Nobody is watching in the meantime, so the choices you make before leaving matter more than usual.

This article assumes you already know the orchestrator: the plan, one branch and worktree per agent, the mission branch openvibe/<mission>. If not, read the orchestration article first.

Starting the run

Link an orchestrator to a group, as for an ordinary mission, then open Overnight run… in the mission panel. The dialog asks for:

Field What it sets
Time away In hours: 8 by default, 72 at most. It becomes the mission’s global budget, in real time
Agents The number of agents on the team, 8 at most
Ticket source GitHub issues with a label, or BACKLOG.md
Agents’ permissions Ask, Files (default) or Files and commands
Start without waiting for my go-ahead Unticked by default: the plan waits for your click

Before it accepts, OpenVibe checks that the project folder is a git repository and, for a GitHub source, that gh answers. If your Claude plan usage has reached 80%, it warns you that the night could stop on the limit; that is a warning, not a refusal. Prepare the night hands everything to the orchestrator.

The orchestrator then reads the tickets, keeps what fits in the time with the number of agents you chose, puts the rest in a queue, and proposes its plan. By default that plan waits for your go-ahead: click Launch the mission before you leave, or nothing starts.

Where the tickets come from

GitHub issues. OpenVibe reads them with gh, which must be installed and logged in (gh auth login). Only issues with the label you chose are read, overnight by default. The reason: anybody can open an issue on a public repository, while adding a label takes rights.

BACKLOG.md. The file must be at the project’s root. Each top-level bullet becomes a ticket, with the heading of the section it sits in; a ticked box counts as done and is not read.

## Interface

- Add an empty state to the orders list
- [ ] Translate the form's error messages
- [x] Fix the contrast of the main button

## API

- Paginate the /orders route

Here the orchestrator gets three tickets: the ticked bullet is skipped.

Either way, a ticket’s text is treated as data, never as instructions. The orchestrator and the agents are told that a ticket may come from a stranger, and that they should do the work described and nothing else. Kanban is not a source for the overnight run yet.

How the queue moves

Once the team is formed, each agent takes a task on its own branch, in its own worktree. When it reports “done”, OpenVibe merges its branch into the mission branch, then gives it the next task in the queue, in a new conversation: one task’s context does not spill into the next. The agent keeps its worktree and starts by merging the mission branch into it, so it builds on the work already done.

A few rules complete the picture:

  • A task can be reserved for a group: only an agent of that group will take it.
  • An agent that reports “blocked” or “failed” does not move on by itself: the orchestrator decides (next task, reassignment, or finish).
  • If merging a branch hits a conflict, the merge is aborted and reported, and that agent takes no new task until its branch is merged.
  • At night, a sub-task’s budget is a target: the orchestrator is told when an agent goes past it and checks where it stands, but no notification is sent to you.
  • Near the end of the time away (the last 10%, at least 10 minutes), the queue gives out no more tasks: the orchestrator merges what is done, has it checked, then finishes.

Permissions: read this before you choose

Three settings, from the tightest to the most open. They apply only to the mission’s sessions: your own Claude Code settings are not changed.

Setting What agents do What it means at night
Ask As usual: each permission dialog waits for an answer Each dialog stops the agent until you are back
Files (default) Edit files without asking An agent stops at its first command, until you are back
Files and commands Run any command without asking The network and the accounts logged in on this PC are open to them

Three points to keep in mind:

By default the plan waits for your go-ahead and agents have Files. They edit files unasked and stop at their first command until you are back. That is the safer choice, and it limits what a night can do: a task that needs to run the tests will stop there, and the report will show it as not finished.

Files and commands is an explicit choice. Agents run any command unasked: the network and the accounts logged in on this PC are open to them. Use a repository you can afford to lose.

The push block is not a security boundary. git push and the gh commands that reach the remote are denied by rules on the command’s text and by a git setting in the terminal. They stop accidents. An agent running commands can get past them: a review did with -c remote.origin.pushurl and GIT_CONFIG_COUNT=0. If that matters to you, stay with Files, or use a repository and accounts you can afford to expose.

The morning report

When you are back, the report shows in the mission panel. It appears once the mission is finished, or once the time away has run out, even if the orchestrator stopped along the way. It gives:

  • the time spent, against the time away you planned;
  • what to check by hand, flagged by the agents and the orchestrator, at the top of the report;
  • what is done, task by task, with the agent, the time spent against the budget, the branch, the summary, and a “merged” mark when it applies;
  • what failed or is blocked;
  • what is not finished, the tasks still running at the end;
  • what was left in the queue, the tasks no agent took.

The merged work is on the mission branch. Review it, then merge it into your own branch yourself: the mission never does that, and never pushes.

The PC at night

While the mission runs, OpenVibe keeps Windows from going to sleep on its own. That hold is released when the mission ends, or 30 minutes after the time away is over if nobody closed it.

Two things still put the PC to sleep: closing the lid, and asking for sleep. A laptop you shut before going to bed ends the night. The screen, on the other hand, can turn off: only the system is kept awake.

Finally, OpenVibe has to stay open. Agents do not outlive its window: closing it stops them.

Before you leave

  • The project is a git repository with at least one commit.
  • For GitHub: gh is installed and logged in, and the issues you want carry the label.
  • For BACKLOG.md: the file is at the root, and what is done is ticked.
  • The permissions are a deliberate choice; Files and commands only on a repository you can afford to lose.
  • The plan is approved (Launch the mission), or Start without waiting for my go-ahead is ticked.
  • Your Claude plan usage leaves room for the night.
  • The PC is plugged in, the lid stays open, and nothing is going to ask for sleep.
  • OpenVibe stays open.

Try OpenVibe on your own agents

Free, open source, no account. It launches the agents already installed on your machine.

Download for Windows