Delivering Briefs

Turn a ready Brief into a pull request on GitHub or Cursor Origin, or a merge request on GitLab — from a conversation, or directly from the Brief workspace — without leaving Hamster. Which code hosts you can deliver to depends on the delivery method: Hamster Cloud delivers to all three, and Cursor Cloud and OpenAI Agents deliver only to GitHub.

The job delivery does

A Brief is only valuable when it ships. Once your Plan is in place and your team is aligned, the next step is getting the code into a pull request or merge request. Hamster handles the dispatch, tracks the agent's work live, and links the Result back into the thread where you were already working.

Two ways to deliver

From chat

When your Brief's Plan is ready and still has tasks to deliver, a Deliver button appears at the foot of the plan thread in chat. Click it to start delivery with the method from your delivery settings. Hamster checks that everything is ready, starts delivery against the selected repository, and the Delivery thread opens in chat.

Alternatively, tell Hamster directly in conversation:

  • "Ship this Brief"
  • "Deliver to myorg/backend"
  • "Ship the authentication Brief to the API repo"

The delivery thread opens and updates in real time as Hamster works.

From the brief workspace

Open the Brief and select Deliver from the action bar. Hamster picks the repository and branch for you and uses the method, model, and automation from your delivery settings, so there is nothing to confirm. If the method needs something you haven't connected yet, such as a GitHub repository or an API key, Hamster asks you to connect it first, then continues the delivery.

Both paths run the same pre-flight checks and use the same Delivery agent. The output — a pull request, merge request, or branch — is identical regardless of how you triggered it.

Choosing a delivery method

The chevron beside Deliver opens a menu of every method this workspace offers:

  • Install Hamster — the Hamster plugin delivers from your own checkout, on your machine. It stays available while a hosted Delivery is already running.
  • Hamster Cloud — Hamster runs the Delivery in its managed environment. It delivers to GitHub, GitLab, and Cursor Origin repositories, and needs an active or trialing Team or Enterprise plan. See Cloud Agents.
  • Cursor Cloud — Cursor Cloud Agents run the Delivery on the connected Cursor account, using your key or the team's. Cursor Cloud only delivers to GitHub repositories. Use Hamster Cloud for GitLab and Cursor Origin.
  • OpenAI Agents — OpenAI Managed Agents run the Delivery on the connected OpenAI Platform account, using your key or the team's. OpenAI Agents only delivers to GitHub repositories. Use Hamster Cloud for GitLab and Cursor Origin.

Delivery defaults and automation

The first time anyone on your team clicks Deliver, Hamster asks how to deliver: pick one of the method cards and click Continue. To automate the whole run, choose Automate with Hamster Cloud, leave Auto Approve the Technical Spec and Auto Deliver the Plan on (they're on by default), and click Deliver My Brief. Hamster resolves the Technical Spec, generates the Plan, and starts delivery from its Tasks without stopping for your review. If you aren't an owner or admin, Continue saves your pick as your own delivery settings instead. Once anyone on the team finishes the dialog, it doesn't show again.

Owners and admins can change the team's method, model, and automation later in Settings > Delivery. Any automation step you leave off pauses for your review.

To deliver differently yourself, turn on Override team defaults in Personal settings > Delivery. Your deliveries then stop following later team changes until you turn it off.

Before Hamster can deliver

Hamster checks five things before dispatching:

CheckWhat it means
Plan has tasksClicking Deliver generates a missing plan first. When you ask in chat, Cursor Cloud and OpenAI Agents ask you to generate one before delivering. They also stop if no task is left in Todo or In Progress.
Repo connectedHamster can find a connected GitHub, GitLab, or Cursor Origin repository for the brief. Cursor Cloud and OpenAI Agents need a GitHub repository, and OpenAI Agents also needs the Hamster GitHub App to be able to push to it.
Key connectedCursor Cloud and OpenAI Agents need a connected key, yours or the team's. If none is connected, Hamster asks you to connect one.
Spec readyThe technical spec meets your team's approval requirements.
No job in flightA Delivery for this Brief isn't already running

If any check fails, Hamster explains what's missing. Follow the prompt — regenerate a Plan if it has no tasks, connect a repository or key from Connections, review the spec, or wait for the current Delivery to finish — then try again.

For Hamster Cloud and OpenAI Agents, if your team has no GitHub connection, Deliver asks you to connect GitHub, even when GitLab or Cursor Origin is connected. To deliver to those, ask in the Brief's chat and name the repository, for example "Deliver to mygroup/myproject with Hamster Cloud".

When Auto Approve the Technical Spec is off and the Technical Spec still has unanswered questions or its investigation is still running, Deliver opens a Spec approval needed dialog instead of starting. Approve this time answers the open questions with the Technical Spec's recommended options and continues the Delivery. Review spec opens the Technical Spec so you can answer them yourself.

Watching delivery happen

A Delivery thread opens as soon as the job is dispatched. The agent's work streams in live:

  • Boot phases appear first — environment setup, context load
  • Each step the agent takes (reading files, writing code, running checks) appears as it completes
  • Tool calls and phase transitions render as distinct items so you can follow the agent's reasoning

You can leave the Delivery thread and come back. The transcript persists as a permanent record of what was built and why.

If the Plan includes Person or Tool Tasks, the Delivery pauses at each one and resumes once it's done. See Task Assignment.

Steering a live delivery

Send a message in the Delivery thread while the delivery is running to give Hamster a new instruction. Your message waits while the current turn finishes, then enters the coding session at a safe boundary, and the same delivery continues without restarting. On OpenAI Agents, the agent picks up your message when it finishes its current step and keeps working on the same branch.

Pending messages appear above the composer until Hamster receives them, then move into the transcript. After delivery ends, the composer shows that the delivery is no longer running.

While a Hamster Cloud Delivery is running, a status line above the composer shows what it's doing, and Stop ends the current run; send a message to resume it. Once nothing is running, Archive replaces Stop. Archiving permanently deletes the delivery's saved working state, so it can't be resumed, but the transcript stays readable.

OpenAI Agents runs have no Stop in the thread. Stop one from the Deliver button on the Brief. See Steering and Stopping.

After delivery completes

When the agent finishes, the final step in the Delivery thread shows the Result:

  • Draft pull request opened: #123 — clickable link straight to the pull request or merge request.
  • Branch pushed: feature/my-branch — appears instead when delivery pushes the branch without opening a pull request or merge request. It links to the compare page so you can review the diff right away.

No need to switch to the code host to find what was shipped — the link is right there in the thread.

On the Plan tab, the Deliver button shows delivery progress while the agent works and disappears once delivery completes. After a failed run it stays, so you can deliver again. Once a pull request or merge request exists, the control in the brief header shows its state — "Draft #42," "Open #42," "Merged #42" — with a link out to it. The brief status moves to Shipping while a Hamster Cloud delivery runs and to Delivered when it succeeds, on any code host. If the delivery fails or is cancelled, the status goes back to what it was. OpenAI Agents deliveries don't change the status, and merging a GitLab merge request never does, so move the brief yourself. See Brief Status.

If delivery fails

If the agent hits an error, the Delivery thread shows the failure inline. The card reads Delivery Failed; click it to open the thread and inspect what happened. Common causes:

  • A test or lint check failed during the Delivery run — review the agent's output for specifics
  • Push access changed — check that the code host Connection is still active under Knowledge > Connections and that the repository accepts writes. On GitLab, see Who Can Push. On Cursor Origin, check the owner eligibility and read-only mirror guidance, follow the error shown in Hamster, and retry once the issue is resolved.
  • A merge conflict or branch protection rule blocked the push — the thread will describe the blocker
  • On OpenAI Agents, the key, its quota, the model, or repository access stopped the run. For causes and fixes, see If a Delivery Fails.

When a delivery fails to start, hover Deliver on the Brief to read the cause. When Hamster gives up on a stuck OpenAI Agents run, the error points you to the session in the OpenAI dashboard.

Fix the underlying issue and re-deliver from the Brief workspace or chat.