Intro
I’ve been using Claude Code heavily in my day to day workflows. It’s been great because my development workflow is also almost all in the terminal. I use nvim for coding and tmux for terminal multiplexing. Typically, I’ll have a couple main projects going at once in their own tmux sessions with each session having multiple windows and panes.
tmux-sessionizer is a vital part of this workflow. Having a terminal first, fuzzy-finding, tmux session swap utility allows me to manage many tmux sessions without having to have a bunch of terminal windows or tabs. If I ranked my command usage, I’m fairly confident that my tmux-sessionizer hot key is at the top.
However, the more I use Claude Code, the more active windows per-session I build up. In a typical project, I now might have a couple worktrees and claude sessions running in each of them. These claude sessions occasionally pause and need input. Hunting around for the claude sessions has become unmanageable the more I adopt a “power user” approach to coding agents.
So I built my own Claude session management utility in the spirit of quick swapping like tmux-sessionizer!
ClawdBay
ClawdBay is a CLI and TUI built to view, manage, and swap to coding agent tmux sessions. I built this in a couple of weekends using Go with the TUI built-in BubbleTea. I wanted to make sure that I had a set of core functionality that makes managing many parallel agent sessions easier for me:
- tmux first: the utility should be layered on top of tmux. My main workflow still remains in the terminal with tmux sessions. This tool should compliment that.
- Key-bind based invocation: I want to hit a key while I’m in my terminal, have ClawdBay popup with my sessions, and swap to the session + window I choose as fast as possible.
- Worktree integration: more of my workflows are moving towards using worktrees for parallel editing from an agent. The tool should present this in a clean way.
- Multi-agent: Claude won’t be the only agent (I’m already using Codex in personal work), the tool should be extendable to detect more than one agent.
All of these features are in the initial version of ClawdBay. I’ve incorporated it into my day to day workflow and it’s a great companion to tmux-sessionizer. Now my typical workflow when I’m running a bunch of agents in parallel is:
- Sending a prompt / answering a question in one session
- Hitting my hotkey to pop up ClawdBay
- Look for an idle session
- Jump to it and unblock it
- Repeat
This is pretty effective and faster than I was able to do before. Seeing a snapshot of my sessions and what their current status is great. Having a lightweight tool that’s terminal first is also great. I’ve tried out a few different session management GUIs and I’m not a fan (although the codex app is really good so maybe this is changing).
Demo
Here’s what it looks like in action:
Running the command standalone gives you a nice, full screen, TUI with the sessions. There are two main view:
- Repo View: this uses a configurable set of repositories that you care most about. Each repo keeps track of it’s worktrees and active sessions in the repo or worktree. Agent sessions have special indicators for their current status (RUNNING/IDLE/BLOCKED), giving you an at-a-glance view at what needs attention.
- Agent View: this looks for all active agent sessions in tmux. This is the comprehensive view for all of your coding agents. I use this one to quickly swap between any running agent sessions.
There’s also some other functionality in the CLI and TUI:
- Easy worktree creation and repo registration for the repo view to speed up your session creation
- Easily add a tmux window to an active session and jump into it to start up some new work or coding agent.
On top of calling the TUI directly, I add a tmux keymap to get a popup, tmux-sessionizer like functionality. Simply add something like this to get a “quick switch” hotkey to hit to swap sessions:
unbind F
bind-key F display-popup -E -d "#{pane_current_path}" "$HOME/go/bin/clawd-bay dash"
Try It Out!
ClawdBay is open source and available here: https://github.com/ronsanzone/clawd-bay
What Could Be Better?
I think this tool is a great extension to my existing workflows. Swapping between windows that matter and unblocking agents as I go has sped me up. However, I think it does encourage too many context switches that gets hard to mentally manage throughout the day, often leading to pretty exhausting days just because I’m managing a bunch of coding chats for hours.
I think my work patterns will eventually evolve to make a lot of the simpler coding changes I’m feeding to an agent much more automated. Companies fully bought into AI are already doing this, I anticipate most successful companies will follow suite. Being able to do that and focus on one or two deeper sessions seems better long term, but I still anticipate using this tool in that sort of environment. It’s lightweight and provides a contextual layer on top of the tmux-sessionizer style of terminal navigation that I’ve learned to love.