pi-fork-pane
v0.3.0
Published
Split a tmux pane and fork the current pi session — or any picked session-tree point — into it
Maintainers
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-paneThen /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.tsand append; exec $SHELLto the pane command.
License
MIT
