r/tmux • u/Capital_Rip_2812 • 1d ago
r/tmux • u/TrekkiMonstr • Apr 21 '24
/r/tmux is back!
Hello all. I am /u/TrekkiMonstr, your new, occasionally-friendly mod. I wanted to make a post asking a question about a certain interaction between i3wm and tmux, when I saw that /r/i3wm is read-only, and /r/tmux was unmoderated with submissions restricted. I didn't want the history of the sub to be lost to Reddit's policies, so I submitted a /r/redditrequest, and here we are. I've unrestricted submissions, so.
Now, I'll note: I am completely unqualified for this. I'm pretty new to tmux, and I haven't modded a sub that had any real level of activity. Plus, at some point in the future, I do intend to leave this godforsaken website and nuke my account. So, if anyone has mod experience with a subreddit of similar size and subject matter to this one, please let me know via modmail if you'd be interested. I will warn you though, I'm here just to make sure the sub still exists. I'm not super interested in doing much active modding.
r/tmux • u/Agreeable-Bank3340 • 9h ago
Showcase Making tmux more accessible with menu options that can manage panes
Enable HLS to view with audio, or disable this notification
I have recently started improving tmux usage in my workspace productivity app called Oyren. Briefly, Oyren provides remote codespaces where users can vibecode and run agents 24/7 with no human needed in the loop for some time. My work is to make this length as long as possible without sacrificing quality and cost costraints. I think tmux is a great tool for this problem but it can be not beginner friendly. Especially for someone who is just a vibecoder and is new to development in general. What they need is agents running on their own. They might not be proficient with terminal usage in general. So I added a feature to my app to manage tmux panes and reorganise them as needed.
Would this make tmux easier for you to use?
r/tmux • u/BardarBagin • 1d ago
Question TMUX History: why is % for a vertical split and " for a horizontal split?
I always think that in TMUX, the double quote character (") looks like two panels side by side.
And percentage (%) to me looks more like two panels on top of each other.
Obviously these are the opposite way around in reality.
Is this just random or was this on purpose at some point? Curious if anyone knowns the history of these binds.
r/tmux • u/greenspywork • 17h ago
Question tmux over ssm redraw issue with vertical panes
I'm seeing a strange tmux display/rendering issue and am looking for ideas. This went away for at first when using iTerm 2, but then it started happening there as well.
Environment:
- Mac (apple terminal)
- AWS EC2 Ubuntu
- Connected via AWS SSM and also tested via SSH-over-SSM
- tmux 3.2a
- Vertical split panes (Ctrl-b %)
Problem:
- If I run `less file.py` (large file) in the RIGHT pane, the LEFT pane gets visually corrupted/redrawn.
- Content from the right pane appears to wrap into or overwrite parts of the left pane.
- Keystrokes are NOT sent to both panes.
- The panes are independent (`%0` and `%1`).
- The issue does NOT occur with a horizontal split (Ctrl-b ").
- The issue does NOT occur outside tmux.
- The issue persists when connecting via normal SSH-over-SSM, so it doesn't seem specific to the interactive SSM terminal.
What I've checked:
- synchronize-panes is off
- tmux panes have correct widths:
- %0 = 120 cols
- %1 = 119 cols
- window width = 240 cols
- `stty size` looks normal
- `wc -L` on the file is only ~122 chars, so not huge lines
- `seq 1 1000` in the right pane does NOT reproduce the issue
- `tmux kill-server` did not help
- Fresh tmux session did not help
- `$TERM` outside tmux: `xterm-256color`
- `$TERM` inside tmux: `screen`
- Added `set -g default-terminal tmux-256color` but behavior unchanged
- Mouse on/off did not resolve it
Additional observation:
- The issue appears to be triggered by full-screen/alternate-screen apps such as `less`, not normal streaming output.
- `Ctrl-L` in the left pane does not fully repaint the display correctly.
Has anyone seen a tmux rendering bug that only affects left/right pane splits, especially with `less` or other full-screen applications?
r/tmux • u/Large-Scratch2804 • 1d ago
Question TUI dash or simple bash for tmux advice
Any advice or opinion on dashvoard TUI
Y'all I'm wondering and looking for advice/feedback if building a simple TUI or having some custom tmux config for a dashboard that will open default tools in panes or some type of widget could be helpful. Wanted to get feedback or just chat about whether its worth building since I'm pretty busy with things.
Ive seen in the past when I briefly attempted to use Obsidian (which reminds me, I need to cancel that $4 subscription at some point) that other redditors set up visually appealing dashboards that seem to have info/links, though I can't name one.
Obviously I can't know if it would be useful in getting me into a workflow more quickly where I'm productive rather than scatterbrained or clueless like I am much of the time. Important to include in my question as well as to speak to the clueless aspect of me: does this exist? This is really my only motivation for potentially making one, but I don't feel like wasting time doing work making tools in order to do actual work more than I already do, and I'm able to decently maintain my tmux sessions, panes and windows in an organized chaos.
Would be cool to shoot the shit about this or collaborate in a public repo. I'm just gonna have Claude do the coding but I would like to take care with planning and iteration.
r/tmux • u/shreshthkapai • 3d ago
Showcase WMUX - A fast, persistent, customizable terminal multiplexer for Windows, Linux and macOS
github.comI released wmux v1.0.17, an open-source terminal multiplexer built around one consistent experience across Windows, Linux and macOS.
The architecture uses a persistent server with disposable clients. Sessions, windows, panes, scrollback and terminal state remain alive when the attached terminal closes.
Platform integration stays native. Windows uses ConPTY and named pipes, while Linux and macOS use PTYs and Unix sockets.
Current features:
- Persistent sessions, windows and panes
- Horizontal and vertical splits
- Mouse support, copy mode and paste buffers
- Customizable key tables, status bar, borders and themes
- Terminal color inheritance by default
- Native installers and a built-in updater
- Builds for Windows x64, Linux x64 and ARM64, macOS Intel and Apple Silicon
Release benchmark profile:
- VT parsing: 69.6 to 75.3 MiB/s
- Full-scene render p95: 448.2 µs
- 8-client render p95: 269.1 µs
- Peak live benchmark memory: 1.76 MiB or less
wmux is free, MIT licensed and available on GitHub: https://github.com/shreshthkapai
I would particularly appreciate bug reports from different operating system, terminal and shell combinations.
Showcase Open a folder under a tmux session from any where by your declared script
Not only tmux but basically everything you can imagine.
Write a toml file and boooommm.
That’s a new feature from our open source fuzzy finder launcher!
Cross OS, fast, free :)
This is the repository
r/tmux • u/TheWordBallsIsFunny • 7d ago
Question - Answered How to not load bash/zsh/fish/nushell config when displaying popup/floating window
I have the following that displays a popup of lazygit in the current directory, but I've noticed that my shell configuration (which has quite a bit of code to initialise) is always running before lazygit is actually ran:
bash
bind g display-popup -E -d "#{pane_current_path}" -h 90% -w 95% "lazygit"
Is there a way to make the popup not load my shell configuration, or run under a different shell? Unsure if this question really fits here but thought I'd give it a try anyways.
Solution
Display popups with an additional environment variable via -e that you check for in your shell:
```bash
tmux.conf
bind g display-popup -E -d "#{pane_current_path}" -e "TMUX_POPUP=true" -h 90% -w 95% "lazygit"
fish
config.fish
if not set --query TMUXPOPUP for script in $_fish_config_dir/conf.d//{,/*}.fish source $script end
other_expensive_calls
end ``` This also opens the gate for more granular control should it be desired.
r/tmux • u/pebble_climber • 7d ago
Tip Artmux (ar-tee-mux) ... but whatever ... who cares.
https://github.com/guidov/artmux
Use it, hate it , love it ...Don't care....
r/tmux • u/micahriggan • 10d ago
Showcase add tabs inside of panes
github.commade this so I could have multiple processes running in the same pane to preserve my layout without having smaller and smaller terminal splits. Sometimes I want to swtich between logs or an agent without changing my layout. sharing in case others want something similar
r/tmux • u/djhaskin987 • 10d ago
Showcase Muxxy: Like Slime, for AI + Tmux
blog.djhaskin.comr/tmux • u/oyren-ai • 11d ago
Showcase Tmux in cloud to run coding agents
Enable HLS to view with audio, or disable this notification
r/tmux • u/greenspywork • 12d ago
Tip Copy and Paste to Linux from Mac thru SSH
In case anyone runs into similar issues, I used the below .tmux.config to allow copying and pasting from a TMUX session running on Linux, which I SSH'd to from Mac. This is with mouse selection, and Cmd-c to copy. Automatic copy of whatever is selected doesn't work for me. Of course, if someone has a better set up, let me know.
# ~/.tmux.conf
set -g mouse off
set -g set-clipboard on
r/tmux • u/Papaoso23 • 12d ago
Showcase Made a tmux-sessionizer clone for kitty
Enable HLS to view with audio, or disable this notification
r/tmux • u/oyren-ai • 13d ago
Showcase Running tmux with AI agents remotely with 5+ AI Agent CLIs pre-configured
r/tmux • u/jhen_jie • 15d ago
Showcase I built a tmux-integrated SSH terminal for Vision Pro / iPad first, CLI-agent friendly
Enable HLS to view with audio, or disable this notification
I've been building this app for about a month, designed mainly for Vision Pro and iPad. iPhone is also supported. The idea: I wanted a multi-window remote terminal with tmux-first integration on mobile, so I can use it anywhere.
Highlights
- Vision Prop: Multi-scene windows. iPad: Multi-window via Stage Manager and tabs. iPhone: Tabs
- iCloud Keychain sync: a host only needs to be bound once, via mpx-cli or manually
- Mosh support (included in Pro)
- CLI-agent initial support (agent key bar and alerts) for Claude Code, Codex, Pi, and Grok Build
- Also supports herdr
Pro: one-time purchase, funds development; you can also build it yourself
GitHub: https://github.com/multiplex-term/Multiplex (License: Apache-2.0)
TestFlight: https://testflight.apple.com/join/91116D4n (Beta testing, v1.4.0, Pro can unlock without real payment in this mode)
App Store: https://apps.apple.com/app/id6790074057 (v1.3.1)
r/tmux • u/mandrulee • 15d ago
Tip PSA: send-keys silently truncates at 1024 bytes if the shell hasn't finished starting
Spent a day on this and there is no error message anywhere, so here it is.
bash
tmux new -d -s "$s"
tmux send-keys -t "$s" '<long command>' C-m
This worked for months. Then the command I was sending grew past ~1200 bytes, and the pane started showing it chopped off mid-word, with the shell sitting at a continuation prompt waiting for a quote to close. tmux exits 0. The shell is happy. Nothing logs anything.
Right after new -d the shell hasn't finished starting, so the tty is still in canonical mode, and the kernel truncates a single line of canonical input at 1024 bytes (MAX_CANON). The overflow isn't an error. It's discarded.
Two ways out:
- Sleep before sending. Works. I sent ~1800 B two seconds later and it arrived intact. But you've traded a silent truncation for a race, and the race has no error message either.
- Shorten the line. I moved a conditional argument into positional parameters instead of branching into two command strings:
bash
set --
[ -f "$catalog" ] && set -- -c "catalog=$catalog"
mycmd --flag "$@" "$id"
zsh and bash both fine, and "$@" expands to zero words when the file is missing. That took 1200 bytes down to a bit over 600.
Then I asserted on the length in a test, because this comes back the moment someone adds an argument. Assert on bytes, not characters: if your language counts UTF-16 code units, it will disagree with the kernel as soon as a path isn't ASCII.
Anyone know whether the limit is the same on Linux? I only hit this on macOS.
r/tmux • u/Klutzy_Bird_7802 • 17d ago
Showcase [oc] zap: cp/mv/rm replacement with live transfer stats
r/tmux • u/guillten • 17d ago
Showcase Another day another tmux app. It's Bitveins' turn
I've been using Bitveins daily since March, and I've recently open-sourced it. It's basically a web UI for tmux.
My dev setup is on a VPS. I used to connect to it with Termius but the screen is too small on smartphone, and typing long prompts through a terminal is painful, especially on a poor connection.
Bitveins is a bit of everything: a bit of Orca, a bit of Herdr, a bit of VSCode, a bit of T3code.
Also it's a webapp and a PWA, no need to install a native app.
It works natively with the smartphone keyboard and speech to text, using a simple textarea.
It detects coding agents running in tmux sessions (codex, hermes, antigravity and grok build).
It has a read-only git graph and diff viewer, push notifications, colored agent status, split panes, fullscreen mode, text editor, svg, image and video viewer.
You can paste images, create drop boxes.
It only listens on localhost, so for remote access you need something like Cloudflare Tunnel + Access or Tailscale in front of it.
https://github.com/rebasereality/bitveins

r/tmux • u/Mountain-Whole1168 • 18d ago
Showcase I built Hermes Valkyrie to manage Claude Code and Codex runs through tmux
I kept running into the same problem while using Hermes: it could not start Claude Code or Codex and bring back a response. I wanted Hermes to be able to launch the run, keep it visible, and bring back a useful report instead of leaving me to track everything myself.
So I built Hermes Valkyrie.
Repo: https://github.com/DylDigitals/hermes-valkyrie
Hermes Valkyrie is an open-source terminal loadout system upgrade for Hermes Agent setups. It uses tmux to give Hermes the ability to launch reusable coding harnesses and enhance them with our loadouts system.
The tmux part is the core reason I thought this might be relevant here: Hermes can launch the coding-agent run in a visible terminal session, keep it trackable, and then use watcher/closeout steps to bring back a report instead of making me manually babysit the pane.
I think it is really powerful to have Hermes launch Claude Code or Codex runs to do a long-form review while you keep working inside your Hermes ecosystem. It has been powerful so far, so I wanted to share this system.
I’m looking for feedback from people building or using Hermes, tmux, or coding-agent terminal workflows. This is currently coded for Discord, but I’m adding more chat channels as we speak.
I have a few main questions/concerns:
- Is this something anyone wants to integrate into their system?
- Is the onboarding clear?
- What would you need before trusting this in your own workflow?
r/tmux • u/GimmeIdeaForUsername • 20d ago
Question Help binding a CSI-u key sequence to C-w in tmux 3.7b
Hi, I'm trying to get a modified keypress from WezTerm → tmux → shell/application to work correctly, and I'm having trouble figuring out how tmux expects the sequence to be bound.
Setup
- OS: Linux 7.1.6-arch1-1
- Terminal: WezTerm
- tmux: 3.7b
- Shell: zsh
The key I'm trying to handle produces this sequence:
(obtained via running showkey -a in tmux)
^[[ 8 ; 5 u
or, in hex:
1b 5b 31 33 3b 35 75
What I'm trying to do
I want tmux to recognize this key sequence and turn it into:
C-w
I tried
bind-key -n "^[[8;5u" send-keys C-w
but that does not work
I'd appreciate any pointers or examples of the correct tmux configuration. Thanks!