<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: EUNGON KIM</title>
    <description>The latest articles on DEV Community by EUNGON KIM (@esteban-eg-kim).</description>
    <link>https://dev.to/esteban-eg-kim</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4198098%2Ff1049ec1-4e17-4730-8300-eae4fbc14040.jpg</url>
      <title>DEV Community: EUNGON KIM</title>
      <link>https://dev.to/esteban-eg-kim</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/esteban-eg-kim"/>
    <language>en</language>
    <item>
      <title>hivemux: a tmux sidebar that tells me which Claude Code session needs me</title>
      <dc:creator>EUNGON KIM</dc:creator>
      <pubDate>Wed, 21 Oct 2026 10:56:58 +0000</pubDate>
      <link>https://dev.to/esteban-eg-kim/i-built-a-tmux-sidebar-that-tells-me-which-claude-code-session-needs-me-50j6</link>
      <guid>https://dev.to/esteban-eg-kim/i-built-a-tmux-sidebar-that-tells-me-which-claude-code-session-needs-me-50j6</guid>
      <description>&lt;p&gt;Running one Claude Code session is easy. Running five at once is where it gets awkward: one is refactoring, one is writing docs, one is fixing a bug, and somewhere in those tabs a session stopped two minutes ago to ask "Do you want to make this edit?" Nothing moves until you find it.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;hivemux&lt;/strong&gt; for exactly that. It is a tmux sidebar that shows every Claude Code session, running, waiting for you, or done, and lets you jump to the one that needs you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fninorgagqyc2i5d0e641.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fninorgagqyc2i5d0e641.png" alt="hivemux sidebar in tmux: four projects and five Claude Code sessions in running, waiting, done and idle states" width="800" height="489"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is free, MIT licensed, and runs on macOS (Linux likely works but is untested).&lt;/p&gt;

&lt;h2&gt;
  
  
  What you see
&lt;/h2&gt;

&lt;p&gt;The sidebar sits on the left of every tmux window. Each project gets a colored box, and each Claude gets a card with its task name and how long it has been in its current state:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Running&lt;/strong&gt;: the card glows. Leave it alone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Waiting for you&lt;/strong&gt;: the card pulses amber and macOS sends a notification (except for the session you are already looking at).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Done&lt;/strong&gt;: a green badge waits until you have looked.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The task name is Claude's own conversation title. Double-click a card to rename it, and hivemux sends &lt;code&gt;/rename&lt;/code&gt; to that Claude.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting to the right session fast
&lt;/h2&gt;

&lt;p&gt;This is the part I use most:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Option+1&lt;/code&gt; … &lt;code&gt;Option+9&lt;/code&gt; jumps to that session.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Option+0&lt;/code&gt; jumps to whichever session has waited &lt;strong&gt;longest&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Or just click a card.&lt;/li&gt;
&lt;li&gt;The right of the tmux status line works like a food-court order board: a numbered badge for every task that needs input (amber, blinking) or just finished (green). Click one to go there.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So the loop becomes: keep working, glance at the sidebar or the status line, press &lt;code&gt;Option+0&lt;/code&gt;, answer, carry on.&lt;/p&gt;

&lt;h2&gt;
  
  
  It survives closing the terminal, and reboots
&lt;/h2&gt;

&lt;p&gt;Because everything lives in tmux, closing the terminal window does not stop anything. After a reboot, tmux-resurrect brings back the layout and hivemux runs &lt;code&gt;claude --resume &amp;lt;id&amp;gt;&lt;/code&gt; in each pane, so every Claude comes back in the same conversation.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;There is no daemon and no cloud service. hivemux is a set of shell and Python scripts built on two things that already exist:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Claude Code hooks.&lt;/strong&gt; Setup registers hooks so each session reports when it starts work, asks for input, or stops.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;tmux pane options.&lt;/strong&gt; The state is stored on the pane itself (&lt;code&gt;@claude_state&lt;/code&gt;), and every sidebar draws from that.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;hivemux has no server and no telemetry. Apart from installing (it downloads hivemux and two tmux plugins from GitHub) and checking the latest Claude Code version when you update Claude, it makes no network requests of its own.&lt;/p&gt;

&lt;p&gt;The installer adds clearly marked blocks to your tmux and shell config, and &lt;code&gt;hivemux uninstall&lt;/code&gt; removes exactly those.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bee office
&lt;/h2&gt;

&lt;p&gt;This one started as a joke and stayed. &lt;code&gt;hivemux office&lt;/code&gt; opens a small office where every Claude session is a bee:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgt831qzgcgjjdrqdgd4w.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgt831qzgcgjjdrqdgd4w.gif" alt="The hivemux bee office: bees typing at desks, one running to the question window in the boss room" width="640" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A working bee types at its desk, with small helper bees beside it for subagents.&lt;/li&gt;
&lt;li&gt;A waiting bee runs to the question window in the boss room and pops out in front when it has waited a while.&lt;/li&gt;
&lt;li&gt;A finished bee holds up a jar of honey, which goes into the honeycomb once you have looked. A Honey tab ranks bees by day, week and month.&lt;/li&gt;
&lt;li&gt;Click a bee to jump to its session.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the end of the day, &lt;strong&gt;Clock out&lt;/strong&gt; stops your Claudes and the bees walk home to a little village. &lt;strong&gt;Clock in&lt;/strong&gt; brings every one back in the same conversation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3e8n48zexjzbeotmhlto.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3e8n48zexjzbeotmhlto.gif" alt="Clocking out: the bees clap and walk home to the village" width="640" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is a silly way to see the same state as the sidebar, and it is oddly useful on a second monitor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;You need tmux 3.3+, jq, git, python3 and a logged-in Claude Code. &lt;a href="https://ghostty.org" rel="noopener noreferrer"&gt;Ghostty&lt;/a&gt; is recommended, but any terminal works if you start tmux yourself.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://hivemux.dev/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or with Homebrew:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;esteban-eg-kim/tap/hivemux
hivemux setup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then open a project and start Claude:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hm ~/code/api
hm ~/code/web
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Watch the sidebar, and press &lt;code&gt;Option+0&lt;/code&gt; when something is waiting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://hivemux.dev" rel="noopener noreferrer"&gt;hivemux.dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs: &lt;a href="https://hivemux.dev/docs/" rel="noopener noreferrer"&gt;hivemux.dev/docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Guide: &lt;a href="https://hivemux.dev/guides/run-multiple-claude-code-sessions/" rel="noopener noreferrer"&gt;How to run multiple Claude Code sessions at once&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Source: &lt;a href="https://github.com/esteban-eg-kim/hivemux" rel="noopener noreferrer"&gt;github.com/esteban-eg-kim/hivemux&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you try it, I would love to hear what works and what does not, here in the comments or in a &lt;a href="https://github.com/esteban-eg-kim/hivemux/issues" rel="noopener noreferrer"&gt;GitHub issue&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>tmux</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
