Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.9.11 instead.
Reason given by maintainers: Crashes on import with Python 3.9. Use 0.9.3.

telepane

A mouse-driven tmux control dashboard for your terminal. The send box is the core function. Select a pane in the tree. Type a message. Telepane sends the message to that pane. You control an agent or a REPL in a different pane. You do not leave your current pane.

Telepane uses Textual. The mouse and the keyboard both work.

┌──────────────┬──────────────────────────────────────┐
│ ● main    2w │ tmux 3.7  pid 1690  4 sess 9 win     │
│  ▸ 0:edit 2p │ target %6  (pane: edit.1)            │
│   ◆ %0 nvim  │ cmd claude  pid 51231  size 120×40   │
│   ◇ %1 bash  │ ┌ preview ─────────────────────────┐ │
│ ○ work    1w │ │ > waiting for input…             │ │
│   ▸ 0:sh  1p │ └──────────────────────────────────┘ │
│              │ target: %6                           │
│              │ ┌ message ─────────────────────────┐ │
│              │ │ run the tests and report back    │ │
│              │ └──────────────────────────────────┘ │
│              │        [x] Enter  [Clear] [ Send ▶ ] │
└──────────────┴──────────────────────────────────────┘

Install

pip install telepane            # or: pipx install telepane  /  uv tool install telepane

Telepane needs Python 3.9 or higher. Telepane needs a tmux server that runs.

On Python 3.10 or higher, markdown highlighting installs automatically. The tree-sitter dependency has no wheel for Python 3.9.

PNG screenshots need one more package. The cairosvg package needs the native cairo library. To install the extra, run this command:

pip install "telepane[png]"

Use

telepane          # launch the dashboard (run it in its own pane)
telepane -v       # version
  • Click a session, window, or pane in the left tree to select the target.

  • Type a message in the message box. Press Enter to send it. You can also click Send ▶ or press Ctrl+S.

  • The ⏎ to send / ⏎ to newline switch changes the function of Enter:

    • ⏎ to send: Enter sends the message. Shift+Enter adds a new line.
    • ⏎ to newline: Enter adds a new line. Shift+Enter sends the message.

    Shift+Enter needs a terminal that reports extended keys.

  • Drag the ┆ divider to resize the sidebar. Drag the ┄ divider to resize the pane viewer and the message box. The message box goes from one input line to the full height. At full height, the box hides the viewer. Telepane saves both sizes.

  • Markdown highlighting in the message box is on by default. To disable it, open Settings with the , key. Python 3.10 or higher gets highlighting automatically.

Telepane always sends your text and an Enter key to the target pane. The Enter key submits the message in that pane.

Keys

Key Action Key Action
Ctrl+S send message n new session
r refresh R rename session/window
s split pane → k kill selected
v split pane ↓ , settings
f focus tree i focus input
q quit

Telepane saves settings to ~/.config/telepane/config.json.

Pair with your agent

You do not have to set any of this up yourself. Tell your coding agent:

Install telepane from pip and set me up for agent pairing.

The repo ships a Claude Code plugin with an agent-pairing skill. The skill teaches the agent the full workflow: terminal and tmux setup, worker agents in side panes (claude, codex, gemini, copilot, opencode, cursor-agent, and others), briefing, and teardown. You steer any of those agents mid-session with telepane: click the pane, type, press Enter.

claude plugin marketplace add imantsk/telepane
# then inside claude: /plugin install telepane

Why not just switch panes?

You can. But you sometimes control several agents across many panes. One control surface is faster in this case. It lists all the panes. It shows the state of each pane. You type to any pane and you keep your place.

Design notes

  • Every tmux call is an argv list through subprocess. Telepane uses no shell.
  • Telepane addresses panes by the stable tmux ids ($, @, %).
  • Telepane delivers text with send-keys -l -- (literal).

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

telepane-0.9.2.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

telepane-0.9.2-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

Details for the file telepane-0.9.2.tar.gz.

File metadata

  • Download URL: telepane-0.9.2.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for telepane-0.9.2.tar.gz
Algorithm Hash digest
SHA256 23246c20b5fa71371ba839e7105536f07ae4cfc6dab12d9b428a969eda4d408c
MD5 90f476d09db34ebd0dd25551c7b5a0e7
BLAKE2b-256 ffafbb4cd119ab24473913250ec7eb768b3e1dfa4672f61bc5514761bfe65102

See more details on using hashes here.

Provenance

The following attestation bundles were made for telepane-0.9.2.tar.gz:

Publisher: release.yml on imantsk/telepane

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file telepane-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: telepane-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 27.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for telepane-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a38e39a8756a9ee0c5f105455fe8aeadf150ac89455447e0c3fc599254e16e6b
MD5 18a465c503dc0eb5186e4686fbabfe66
BLAKE2b-256 808528a8999d1868263bc9a74688274551996c880debd2d298febe932fb69a6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for telepane-0.9.2-py3-none-any.whl:

Publisher: release.yml on imantsk/telepane

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.9.11

2 files

0.9.10

2 files

0.9.9

2 files

0.9.8

2 files

0.9.7

2 files

0.9.6

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

This release

0.9.2 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page