View as markdown

hive run

The low-level dispatcher. It resolves a task, figures out which stage it’s in, auto-rebases the worktree onto the latest default branch when needed, runs that stage’s agent, commits the result, and reports the next step. Most of the time you’ll reach for the friendlier stage verbs (hive brainstorm | plan | develop | open-pr | review | finalize | archive) or hive tuihive run is what they call underneath, and what you use for recovery or scripting.

Usage

hive run <slug>
hive run <slug> --project <name>
hive run <slug> --stage <stage>
hive run <slug> --json
hive run <slug> --no-rebase

You can also pass an exact task-folder path instead of a slug.

Options

Flag What it does
--project <name> Disambiguate when the same slug exists in more than one project.
--stage <stage> Disambiguate when the same slug exists in more than one stage.
--no-rebase Skip the auto-rebase pre-step for this run only.
--json Emit the typed hive-run envelope (current marker, a rebase block, and a next_action hint) instead of human text.

Auto-rebase

Before running an execute, open-pr, review, artifacts, or finalize stage, hive run checks whether the task’s branch has fallen behind the default branch and rebases it if so. This stops reviewers from seeing “phantom” deletions of code that landed on main after the branch was created. If the rebase hits conflicts, Hive dispatches the project’s dev agent to resolve them; if anything goes wrong it aborts cleanly and continues against the old base (fail-soft). Use --no-rebase for a one-off skip, or set rebase.enabled: false in the project’s config to turn it off permanently.

Examples

# Run whatever stage this task is currently in
hive run add-inbox-filter-260603-abcd

# Recover a stuck task without the rebase ceremony, machine-readable
hive run add-inbox-filter-260603-abcd --no-rebase --json

# Disambiguate a slug shared across two projects
hive run fix-login --project myapp

When a task is complete and ready to advance, hive approve moves it to the next stage.