Repository navigation
Highlights
Hetki v0.4.0 adds pane-level navigation, previews, automatic status collection, safer workspace saves, and clearer CLI diagnostics.
Picker and navigation
- Browse individual panes with aligned paths, foreground commands, and status indicators, including panes that share a directory.
- Switch between flat and session/window tree views with
Ctrl+T. Switch between All and Tracked scopes withTab. - Tracked scope shows status-tracked panes, not workspace ownership. View and scope changes retain the search query.
- Toggle an on-demand pane preview with
Alt+P. Previews show the visible screen, without scrollback. - Jump to the previous session with
Ctrl+O. The↶marker identifies its destination. - Hide redundant default-shell labels and show the active pane's command in tree windows.
- Reuse loaded state during view changes, retain status indicators, and reduce redundant queries and rendering work.
Automatic pane status
- Share cached status through an automatically started daemon for each tmux server.
- Support OSC7501 application reports, OSC133 shell lifecycle tracking, and optional screen profiles.
- Distinguish working, needs-input, idle, unknown, success, and failure states when the available evidence supports them.
- Add bounded status delivery and recovery after daemon failures. Recovery cannot reconstruct reports lost during an outage.
- Include an optional Kiro screen profile. Profiles require configuration and do not provide generic command-completion detection.
Workspace safety
- Preserve authored startup commands when an existing workspace matches live panes unambiguously. Ambiguous preservation fails before replacing the file.
- Preserve pane zoom and save readable layout presets. Presets approximate custom arrangements rather than preserve exact proportions.
- Compare supported legacy and tmux JSON layout observations by geometry, without runtime pane IDs causing false mismatches.
- Create replacement windows before deleting old windows during force reconciliation, preserving the existing session. See #13.
- Keep an already-matching
--dry-runread-only, without metadata changes or navigation. - Preserve literal startup-command text, including trailing semicolons and backslashes.
- Resolve directory inheritance consistently and improve explicit-file validation.
Updates and diagnostics
- Add
hetki update --headfor the latest pushedmaincommit. Hetki pins and verifies the commit before building. - Show errors and actionable hints on separate lines, with terminal-safe text.
- Keep expected interruption quiet without hiding independent failures.
- Build with Go 1.27.2, which fixes the standard-library vulnerabilities reported by the security scan.
Breaking changes and migration
Select workspaces explicitly
start and save now require exactly one --name (-n) or --path (-p). Positional selectors and automatic local-workspace discovery are removed.
# Named workspace in ~/.config/hetki/workspaces
hetki start -n work
hetki save -n work
# Explicit YAML file
hetki start -p ./work.yaml
hetki save -p ./work.yamlReplace hetki start work with hetki start -n work.
Replace targetless local starts with hetki start -p ./.hetki.yaml.
Replace hetki save . with hetki save -p ./.hetki.yaml.
Use the actual .yaml or .yml filename for your workspace.
Review paths and shortcuts
- Relative window paths resolve against the session root. Relative pane paths resolve against the effective window directory. Omitted paths inherit their parent directory.
- Explicit session roots must resolve to existing absolute directories. Use absolute paths where you need to retain another location.
- The picker starts in filter mode. Press
Escfor normal mode, then;for jump mode. - In normal mode,
Acreates a session andCtrl+Rrefreshes.R/Xrename/delete sessions, whiler/xtarget windows. - The
hetki switchcommand is removed. Use the picker or tmux'sswitch-client/attach-sessioncommands.
Update source installations
The Go module path is now github.com/MuhametSmaili/hetki. Source builds require Go 1.27.2 or newer.
go install github.com/MuhametSmaili/hetki@v0.4.0The updater no longer accepts --source or --pre. Release selection is stable-only. --head selects unreleased main code, not a stable source release.
If an older updater fails after the rename, use the new module path or the release binaries below.
Known limitations
- Mise-managed installations still require mise-managed updates. Mise-aware
hetki updatesupport is separate future work. - Force reconciliation is not transactional. Deleting a linked window can affect unrelated sessions. See #12.
- Named-layout changes alone are not yet enforced on existing windows. Raw JSON layouts remain unsupported as authored manifest input.
- Upstream tmux 3.4 can crash when deleting zoomed windows. This release avoids that crash in test teardown, not in tmux itself.
Downloads
The release provides binaries for macOS and Linux on amd64 and arm64, plus SHA-256 checksums and GitHub build attestations.