Releases: zkzofn/pier
Release list
v1.3.1
^Tchecks before it promises. Claude Code starts fine with
--channels plugin:telegram…when the plugin is off or its bot token is
missing — the session just never gets the channel (with no token the
plugin's MCP server exits within a second; only/mcpshows it). The
picker now keeps^Toff in either case and says what's missing:
telegram plugin not enabled · /pluginorno telegram token · /telegram:configure. Enter and restore-all run the same check.- The picker's hints sit on two lines: the first names what
Enterand
^Sdo on the▸row, the second the keys that don't depend on it —
^T: telegram,Tab: name(only where there is a session to name),
Esc: close. The header showstelegram ✓only while it's on; the
tgabbreviation is gone. - The new-session popup grew from 18 to 22 rows (17 list rows instead of
13).pier ensurerefreshes the tmux block on the next attach, as usual. - Known, from the telegram plugin (0.0.7): one Claude Code session at a
time holds the bot, and any new Claude Code session with the plugin
enabled takes it over — the earlier session's channel goes quiet.
v1.3.0
- The picker creates, it never switches. Inside tmux the new-session
picker now lists every running session — the one you are in on top, marked
▌, with the cursor on it — andEnteron a running session starts
another Claude Code session in that session's directory instead of jumping
back into it (jumping is the sidebar's job).^Sstill opens a terminal
there, andTabnow names the new session on running-session rows too.
Soprefix+NEnteris "one more Claude Code here". - Names follow the directory on every row,
-2,-3, … past taken ones: a
third agent in~/dev/suite1issuite1-3, neversuite1-2-2. - Fixed: since 1.0.0 the picker dropped the session it was opened from, which
left no row for its directory at all — no way to open a terminal or a
second agent where you already are. - Outside tmux (bare
pier)Enteron a running session still attaches to
it: without a sidebar, that is the way back into a session.
v1.2.0
Two picker fixes that make ^S behave — and make the picker teach itself.
^S on a running session opens a terminal there. Since 1.0.0 the picker's cursor boots on the first running session, and ^S on such a row silently jumped instead of creating anything — "new session → ^S" hopped to a different session on every try. ^S now means "terminal session at this row's directory" on every row; Enter still jumps back in.
The picker explains itself. The bottom hint follows the cursor and says what Enter/^S will do to that row (jump · terminal there · resume). The ? cheatsheet says keys act on the ▸ row and gains the missing ^T line; both READMEs now spell out that picker keys are pressed inside the popup — no prefix needed.
Upgrade: pier upgrade (or brew upgrade zkzofn/tap/pier).
v1.1.1
A tmux client picks its server from $TMUX, $TMUX_TMPDIR or -L, so pier setup can reload a different server than the one you are looking at — and it used to say nothing about which one.
The reload line now names the socket:
tmux: config reloaded on the running server (/private/tmp/tmux-501/default)
No behaviour change otherwise.
v1.1.0
Update notices that actually reach you, and a command to act on them.
pier upgrade— asks the Homebrew tap right now (no waiting for the daily check) and runs the upgrade. Source installs get thegit pull && make setupinstructions instead- Sidebar notice — while the tap carries a newer pier, every sidebar shows an
↑ <version> · pier upgradeline at the bottom - The gap this closes: the daily check only ran on a bare
pier, so anyone whose habit istmux attach+prefix+Nnever heard about a new version — and never got the new tmux settings either.pier ensure, which runs from the attach / session-change hook no matter how you use pier, now quietly refreshes the managed~/.tmux.confblock (keeping the binary path it already records) and reloads tmux - Config writes are atomic, since that refresh can fire from several attaching clients at once
- README gained an Updating section
PIER_NO_UPDATE_CHECK=1 silences every notice.
Updating from an older pier
brew update && brew upgrade zkzofn/tap/pierv1.0.0
pier itself is now the way you start a session — the shell wrapper people used to hand-roll is built in.
The entry point
pier— outside tmux it opens the picker and attaches to whatever you pick; inside tmux it runsclaudein the current pane.pier -r,pier --continue, … pass straight through toclaude(pier keeps only-v/-h), and an unknown bare word prints usage instead of starting a session- First run is a short wizard: it offers to wire tmux and the Claude Code hooks (same as
pier setup), then to write a shell alias —clby default — as a marked block in your login shell's rc file (zsh / bash / fish).pier alias <name>changes it later - Update check — once a day a
pierstart compares your version against the Homebrew tap and offersbrew upgrade(source installs get a one-line notice).PIER_NO_UPDATE_CHECK=1turns it off. After an upgrade the first run refreshes pier's~/.tmux.confblock, keeping whatever binary path it already points at
Leaving a session is clean
set -g detach-on-destroy offplus apane-exitedhook (pier reap): a session ends the moment only its sidebar is left, and your client moves to the most recent session instead of being dropped out of tmux — plainexitnow behaves likeprefix+x- When the last session closes, the standalone attach erases tmux's
[exited]line, so the terminal looks as it did before pier ran
Picker
- Running sessions are listed above the directories, with the sidebar's own status icons —
Enteron one jumps back into it. Typing filters both groups; the cursor starts on the first running session - The plain-shell option (
^S) is called a terminal session everywhere
Also in this release (never published separately)
- v0.11.0 — explicit resume from the picker: a
↻ resumebutton per casualty directory, an↻ restore allrow,^Tfor the telegram channel - v0.10.0 — crash and OS-shutdown detection that makes those offers possible
v0.9.0
Highlights since v0.4.1
- Shell sessions:
^Sin the new-session picker starts a plain shell instead of Claude Code (v0.7.0); shell sessions are listed and jumpable in the sidebar, marked$(v0.8.0) - prefix+N opens the new-session picker from anywhere (v0.8.0)
? helpat the bottom of the sidebar (or?) pops up a keybinding cheatsheet (v0.9.0)- Sidebar labels show the prompt each session is working on, blanking after
/clear(v0.5.0) - prefix+x kills the current session and jumps to the next one in sidebar order (v0.6.0, v0.6.1)
pier setupnow upgrades its managed tmux.conf block in place, picking up new bindings (v0.8.0)