explaingit

eduwass/tmux-palette

Analysis updated 2026-05-18

284TypeScriptAudience · developerComplexity · 2/5Setup · easy

TLDR

A Raycast-style command palette for tmux that lets you search and run terminal commands, custom scripts, and popup tools by typing a few letters.

Mindmap

mindmap
  root((tmuxpalette))
    What it does
      Command palette UI
      Fuzzy search actions
      Custom JSON palettes
    Tech stack
      TypeScript
      Bun
      tmux
    Use cases
      Popup tools
      GitHub PR picker
      Theme switching
    Audience
      Terminal power users
      Developers
      tmux users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Search and run common tmux actions like splitting panes or switching windows without memorizing shortcuts.

USE CASE 2

Build a custom palette that lists your open GitHub pull requests and opens one in the browser.

USE CASE 3

Open tools like htop, lazygit, or fzf scripts in a centered tmux popup.

USE CASE 4

Switch between twelve built-in color themes with a live preview picker.

What is it built with?

TypeScriptBuntmux

How does it compare?

eduwass/tmux-paletteeli-labz/third-eyeyangshun/tree-node-cli
Stars284285285
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyeasy
Complexity2/51/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires the Bun JavaScript runtime and tmux 3.4 or newer for popup support.

In plain English

tmux-palette is a command palette for tmux, the terminal multiplexer that lets you split your terminal into multiple panes and manage sessions. Think of it like a Spotlight or Raycast-style search bar, but for tmux actions: you press a keyboard shortcut, a popup appears, you type a few letters to filter commands, and hit enter to execute. This replaces the need to remember tmux keyboard shortcuts for common tasks like splitting panes, switching windows, or detaching sessions. Beyond built-in tmux commands, it lets you define your own custom palettes as simple JSON files. These custom commands can open tools like system monitors or code viewers in a floating popup, or run any shell command and display its output as a list of options to pick from. For example, you could create a palette that lists your open pull requests and opens the selected one in a browser, all from within your terminal session. A built-in theme picker lets you change tmux's color scheme with live preview, and includes twelve curated themes. You would use this if you spend a lot of time in the terminal and find yourself frequently running tmux commands, wanting a faster and more discoverable way to navigate your terminal sessions. The project notes it is currently in beta and stable for daily use, but the feature set is still settling. It is written in TypeScript and runs on the Bun JavaScript runtime with no other runtime dependencies. Installation can be done manually by cloning the repository, through the Tmux Plugin Manager, or with a guided setup flow where you paste a prepared prompt into an AI coding agent to walk through installing the tool, binding a key, and picking a theme. The codebase is intentionally kept small, at roughly two thousand lines, which the README says makes it easy to audit, fork, or patch. Example custom palettes are included in the repository so users can copy ready-made configurations instead of writing their own from scratch.

Copy-paste prompts

Prompt 1
Help me bind tmux-palette to Ctrl+Space in my .tmux.conf file.
Prompt 2
Show me how to write a custom palette JSON file that lists my Docker containers.
Prompt 3
Walk me through installing tmux-palette using the Tmux Plugin Manager.
Prompt 4
How do I create a scriptable palette that runs a shell command and lists its output?
Prompt 5
Explain how to hide built-in tmux-palette items using hidden.json.

Frequently asked questions

What is tmux-palette?

A Raycast-style command palette for tmux that lets you search and run terminal commands, custom scripts, and popup tools by typing a few letters.

What language is tmux-palette written in?

Mainly TypeScript. The stack also includes TypeScript, Bun, tmux.

How hard is tmux-palette to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is tmux-palette for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.