omp packages

pi-fork-pane0.3.0

Split a tmux pane and fork the current pi session — or any picked session-tree point — into it

cyzlmh Published 27 days ago MIT ~283 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

pi-fork-pane

Split a tmux pane and fork the current pi session into it — a side-by-side copy of your conversation, ready to continue from the same context.

Install

pi install npm:pi-fork-pane

Then /reload or restart pi.

Usage

Inside a pi session running in tmux:

  • /fork-pane — split vertically (default), start a forked copy of the current session in the new pane
  • /fork-pane h — split horizontally instead

The fork is a full copy of the session file (same as pi --fork <file> / /clone): the new pane's pi starts with the complete conversation, and the two sessions diverge independently from there. Use /tree in the forked session to jump back to any earlier point.

/tree-pane

/tree-pane opens the same tree selector as /tree, but instead of switching the current session in place, it forks the picked entry into a new tmux pane — your current session stays exactly where it is. /tree-pane h splits horizontally.

The new pane gets a fresh session file containing the path from the root to the selected entry, so you can branch off an earlier point of the conversation side-by-side.

Inherited configuration

Both commands run the new pane with the current working directory and the startup CLI flags of this pi process (--model, --provider, --thinking, --tools, -e, --session-dir, --no-sandbox, …), so the fork runs with the same configuration it was started with — including flags registered by extensions. Flags that select or name a session (--session, --fork, --name, -c, -r) and one-shot actions (-p, --version, --list-models, …) are not forwarded, and neither is an initial prompt passed on the command line.

Settings files (~/.pi/agent/settings.json, project settings, AGENTS.md) are re-read by the forked pi automatically; only CLI flags needed explicit forwarding. Environment variables are subject to tmux's own environment handling for new panes — an API key exported only in the current shell after the tmux server started may not be visible in the new pane.

Requirements

  • pi running inside tmux (outside tmux the command reports an error and does nothing)
  • A persisted session (an ephemeral session with no file yet cannot be forked)

Why not pi-tmux / pi-side-agents / pi-agents-tmux?

Those packages are about agents dispatching work — running commands or spawning fresh child agents in tmux windows/panes. pi-fork-pane is the opposite direction: you, mid-conversation, splitting off a parallel copy of your own session to explore a tangent without losing your place. It composes fine with all of them.

Notes

  • When the forked pi exits, its pane closes. To keep a shell around afterwards, edit extensions/fork-pane.ts and append ; exec $SHELL to the pane command.

License

MIT