Highlights
This release fixes an important bug where users would see a TmuxObjectDoesNotExist traceback after detaching from a session that was killed during use. The fix comes via the libtmux 0.53.0 dependency update.
Bug Fixes
Fixed traceback on session load (#1002, #1003)
Fixed an issue where tmuxp load would display a traceback after users detached from a killed session.
The Problem
After running tmuxp load, users would see this traceback printed to their terminal after detaching:
Traceback (most recent call last):
File "~/.local/bin/tmuxp", line 7, in <module>
sys.exit(cli.cli())
...
File ".../tmuxp/cli/load.py", line 152, in _load_attached
builder.session.attach()
File ".../libtmux/session.py", line 332, in attach
self.refresh()
File ".../libtmux/neo.py", line 242, in fetch_obj
raise exc.TmuxObjectDoesNotExist(...)
libtmux.exc.TmuxObjectDoesNotExist: Could not find object
When It Occurred
Users encountered this when they:
- Loaded a tmux session via
tmuxp load - Worked in the session
- Killed the session (e.g., closed all windows) before detaching
- Detached from tmux
Root Cause
The issue was in libtmux's Session.attach() method, which called refresh() after the attach-session command returned. Since attach-session is a blocking interactive command, the session state can change arbitrarily during attachment — including being killed entirely. Attempting to refresh a non-existent session caused the exception.
Timeline
- Feb 2024: libtmux added
Session.attach()with therefresh()call - Nov 2025: tmuxp switched from the older
attach_session()toattach() - Users started experiencing the bug
Resolution
Fixed in libtmux 0.53.0 (libtmux#616) by removing the unnecessary refresh() call from Session.attach().
Dependency Updates
libtmux 0.52.1 → 0.53.0
Breaking Change: Minimum libtmux version bumped from 0.52.1 to 0.53.0.
libtmux 0.53.0 includes:
- Fix for
Session.attach(): Removes therefresh()call that causedTmuxObjectDoesNotExistexceptions when sessions were killed during attachment
Development Updates
- Bumped development dependencies
- Updated uv from 0.9.16 to 0.9.17
Installation
pip:
pip install --upgrade tmuxpuv:
uv add tmuxpuvx (one-time use):
uvx tmuxp load <config>pipx:
pipx upgrade tmuxpWhat's Changed
Full Changelog: v1.61.0...v1.62.0