tmux-deck 0.1.10

A Tmux session manager. Monitoring multi session Realtime preview.
tmux-deck-0.1.10 is not a library.

Tmux Deck

tmux-deck is a tmux session manager. Monitoring multi session Realtime preview.

Features

  • ๐Ÿ—‚๏ธ Tmux Session Management(New, Rename, Kill)
  • ๐Ÿ“„ Easy management Windows and Panes between Sessions
  • ๐Ÿ‘€ Realtime Preview
  • ๐Ÿค– Claude Code status markers (working / waiting / done) driven by hooks
  • โš™๏ธ Easy Configure

Quick Start

tmux-deck

session manager

Using in tmux popup

Add following key-bind in your .tmux.conf, tmux-deck would start up on tmux popup.

bind SPACE run-shell "tmux popup -w80% -h80% -E tmux-deck"

popup

Installation

cargo

cargo install tmux-deck     # build from source
cargo binstall tmux-deck    # prebuild-binary

nix run

You can try tmux-deck easily following.

nix run github:takeshid/tmux-deck

Also you can config it like following in your .tmux.conf.

bind SPACE run-shell "tmux popup -w80% -h80% -E nix run github:takeshid/tmux-deck"

flake.nix

if youde use flake, you can add tmux-deck in your flake.nix

{
  inputs = {
    tmux-deck.url = "github:takeshid/tmux-deck";
  };
  outputs = {
    devShells = nixpkgs.lib.mkShell {
        packages = [
        ]
        ++ tmux-deck.packages.x86_64-linux
    };
  };
}

Claude Code Integration

tmux-deck highlights tmux entities that are running Claude Code. By default it detects the claude process and shows a โ—. If you also install the Claude hooks, the marker reflects what Claude is doing in each pane. States are distinguished by the marker shape (the colour is always the same), so they stay legible on any terminal palette:

Marker State Meaning
โ ‹โ ™โ นโ€ฆ (animated) Working A prompt was submitted / a tool is running
โ—† Waiting Claude is waiting on you (permission / idle prompt)
โœ“ Done Claude finished its turn
โœ— Error The turn ended with an error
โ— Running Claude process detected, no hook state yet

Windows and sessions roll up to the most attention-worthy state of their children (waiting > error > working > done).

Setup

Install the hooks into Claude Code's user settings (~/.claude/settings.json):

tmux-deck hook install

Use --project to write to the project-local .claude/settings.json instead. The command is idempotent and preserves any existing settings.

How it works

hook install registers tmux-deck hook report for the UserPromptSubmit, PreToolUse, PostToolUse, Notification, Stop, SubagentStop and SessionEnd events. On each event Claude runs the reporter, which records the calling pane's state (keyed by $TMUX_PANE) under $XDG_STATE_HOME/tmux-deck/claude/. The TUI reads those files on each refresh and updates the markers. Stale files are cleaned up automatically, and nothing is shown for panes that never ran Claude โ€” so the integration is entirely opt-in.

Comparison with Similar Project

tmux-deck takes a different approach compared to other tmux session managers.

Feature tmux-deck tmuxinator tmuxp
Language Rust Ruby Python
Interface TUI (Interactive) CLI CLI
Realtime Preview โœ… โŒ โŒ
Multi-session Preview โœ… โŒ โŒ
Runtime Dependencies None (single binary) Ruby runtime Python runtime
Configuration Format TOML YAML YAML/JSON
Session Definition Interactive Declarative (YAML) Declarative (YAML/JSON)
Save/Restore Sessions Planned โœ… โœ…
Freeze Existing Session - โœ… โœ…

Why tmux-deck?

๐Ÿ”ด Realtime Preview

The most distinctive feature of tmux-deck. Preview the actual content of all your tmux sessions in real-time. No more blindly switching between sessions.

๐Ÿš€ Zero Configuration

Start using immediately without writing any configuration files. Just run tmux-deck and manage your sessions visually.

๐Ÿ“ฆ Single Binary

No runtime dependencies. No Ruby, no Python, no gem/pip packages. Just download and run.

๐ŸŽฏ Interactive TUI

Visual tree structure of sessions, windows, and panes. Navigate with keyboard shortcuts and see changes instantly.

โšก Fast & Lightweight

Written in Rust for maximum performance and minimal resource usage.

When to use others?

  • tmuxinator/tmuxp: When you need declarative session definitions that can be version-controlled and shared across teams. Ideal for reproducible development environments.
  • tmux-deck: When you need real-time visibility into multiple sessions and prefer interactive management over configuration files.

Status

  • Session Management(New, Rename, Kill)
    • Realtime Preview
    • Search and Filtering(fuzzy find)
    • Saving and Restoring sessions
    • Sort
      • Most Recently Used
      • Alphabet
      • Pinning
  • Multi Preview
    • Injection command to pane
    • Zoom preview
    • Pinning
  • Configure
    • Keybinding
    • Layout
    • Color Theme
  • Misc
    • LLM Integration
      • Claude Code status markers via hooks
    • Installation for nix

License

MIT License. See LICENSE.