@romansix/pi-tmux

Pi coding agent extension: tmux session management per project

Package details

extension

Install @romansix/pi-tmux from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@romansix/pi-tmux
Package
@romansix/pi-tmux
Version
1.1.0
Published
Mar 13, 2026
Downloads
57/mo · 15/wk
Author
indigoviolet999
License
Apache-2.0
Types
extension
Size
40.7 KB
Dependencies
1 dependency · 4 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-tmux

A pi coding agent extension that manages a tmux session per project (one per git root).

Install

pi install npm:@romansix/pi-tmux

Or try without installing:

pi -e npm:@romansix/pi-tmux

Features

tmux tool

Provides a tmux tool for the agent with these actions:

  • run — Run a command in a new tmux window. When the command finishes, the agent is automatically notified with the exit code and recent output, so it doesn't need to wait around.
  • attach — Open a new terminal tab/window attached to the session. Supports iTerm2, Terminal.app, kitty, ghostty, WezTerm, and tmux nesting. Falls back to printing the attach command for unsupported terminals.
  • peek — Capture recent output from tmux windows. Use window to target a specific window, or omit for all.
  • list — List all windows in the session.
  • kill — Kill the entire session.
  • mute — Suppress silence notifications for a window. Use when a command is expected to have long silence periods, not waiting for input.

Each command's script is echoed before execution (cat "$0") so you can see exactly what's running — including heredocs and complex constructs that set -x would miss.

Silence detection

When running commands that might prompt for input (installers, interactive tools, confirmations), the agent can set silenceTimeout to be notified when the command goes quiet.

Parameter Description Default
silenceTimeout Initial seconds of silence before notifying. 0 or omitted to disable.
silenceBackoffFactor Multiply the interval after each notification. 1.5
silenceBackoffCap Max silence interval in seconds. 300 (5 min)

The notification includes a peek of the window output so the agent can decide whether to act or mute the window.

Commands

  • /tmux — Open a terminal tab attached to the project's tmux session
  • /tmux:cat — Select a tmux window and bring its output into the conversation
  • /tmux:clear — Kill idle tmux windows (shells with no running child processes)

Credits

Inspired by normful/picadillo's run-in-tmux skill.

License

Apache 2.0