# shelbi reload

Respawn the Shelbi-owned tmux panes in place so a freshly installed binary takes effect.

```text
shelbi reload [OPTIONS] [TARGET] [NAME]
```

`shelbi reload` is the "I just rebuilt the binary, pick up the new code"
command. It respawns the Shelbi-owned panes in place (the sidebar, the hidden
tasks / review / machines panes, and the orchestrator pane) so a new binary
takes effect and edits to the orchestrator's instructions or the shared
preamble land without tearing down your tmux session.

The orchestrator's context survives the respawn. Before the old pane is
replaced, it's asked to write `agents/orchestrator/handoff.md` covering its
in-flight state; the new instance ingests that file (then deletes it) and
resumes mid-thought rather than cold. A missing or timed-out handoff degrades
to a cold start, never fatal.

The workspace panes are left alone: they re-shell into `shelbi` on every call
and pick up the new binary on their next invocation, so there's nothing to
restart there.

Use it any time `scripts/install.sh` (or your own build) has produced a new
binary and you want the long-lived TUI surfaces to start using it.

## Targets

Pass a target to reload just one part in place without bouncing the whole hub
(and, for `chat`, without losing the orchestrator's context). A targeted reload
respawns only the named pane and leaves every other pane and its state
untouched. Most targets skip the whole-hub self-heal below. `chat` first
self-heals the agent automation that it is about to redeploy.

| Target | Reloads |
| --- | --- |
| `chat` | The orchestrator chat pane. Carries the handoff forward exactly like the whole-hub reload, so the reloaded orchestrator keeps its mid-thought context instead of starting cold. |
| `tasks` | The tasks / kanban pane. |
| `activity` | The activity / events-feed pane. |
| `sidebar` | The workspace-roster sidebar pane. |
| `workspace <name>` | A single worker's pane. Local workers respawn with `--resume` so the agent keeps its conversation and its task wiring (`TASK_ID`, hub socket) is preserved. A missing or unknown name is a clear error. |
| omitted, or `all` | The whole-hub reload described above (the default). |

```bash
# Get the tasks pane back without touching the orchestrator's context.
shelbi reload tasks

# Respawn just the orchestrator, carrying its handoff forward.
shelbi reload chat

# Bounce one stuck worker pane.
shelbi reload workspace alpha
```

An unknown target, or a bare `workspace` with no name, errors with the valid
set so you can self-correct.

`shelbi reload` also sweeps any stray `.shelbi/project` marker files. Project
resolution reverse-looks-up against the registered project YAMLs, so these
markers are redundant.

Reload also self-heals the shipped agent workspaces before respawning the
orchestrator pane. User-customized `agents/*/instructions.md` files are
preserved. In `agents/orchestrator/instructions.md` and `zenmode.md`, Shelbi
upgrades only exact stock `pr-create`, `ci-watch`, and `pr-merge`
command snippets to carry the probe's repository, base, and head identity,
while leaving surrounding custom prose intact. Both unpinned and
head-only stock forms are upgraded. It also appends any
missing runner-critical orchestrator sections, such as `Polling-only event drain`,
instead of overwriting the whole file. Both a whole-hub reload and
`shelbi reload chat` apply these automation safeguards before the new
orchestrator starts.

## Flags

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `-p, --project <PROJECT>` | string | env / cwd lookup | Project to operate on. |

## Examples

Rebuild, install, and reload the TUI in one shot:

```bash
./scripts/install.sh && shelbi reload
```

Reload a specific project's panes from outside that project's directory:

```bash
shelbi reload --project shelbi
```

## See also

- [Install](/docs/guides/getting-started/install) — where `scripts/install.sh`
  is documented; `reload` is its TUI-side counterpart.
