VibeDeck

Control your coding agents from your Stream Deck

Visit Website
August 10, 2026 My Stream Deck was waiting for its moment. Coding agents gave it one.

My Stream Deck had been sitting on my desk, waiting for its moment. It was good hardware, but I hadn’t found the job that made it useful every day.

Then I started running several coding-agent sessions at once, and checking them became its own small job.

Claude Code might be working, Codex could be waiting for approval, and another session could already be done. The agents were meant to remove busywork, but I kept opening terminal tabs just to ask: does anything need me?

That became the job for my Stream Deck: show me where to look next without interrupting what I was doing.

I built VibeDeck so I could glance down and see which session needed me. Each active session can live on a physical key. I can see whether it is working, waiting, or done, press the key to jump to the right terminal, or use the Swarm key to open whichever session has been waiting longest.

VibeDeck supports Claude Code, Codex, Cursor, Copilot CLI, Antigravity, and OpenCode. The plugin has 22 actions and runs on macOS and Windows.

The funny part is that while I was building it, OpenAI released Codex Micro, a $230 control pad with live RGB agent status and tactile Codex controls.

I had wondered whether physical controls for coding agents were too niche, so the timing made me smile. Apparently the idea wasn’t as strange as it first sounded.

Codex Micro is dedicated hardware for Codex. VibeDeck takes a different route: it uses a compatible Stream Deck you may already own and supports six coding-agent CLIs.

I settled on $19 once, rather than making this another subscription. There is a 14-day trial with no card.

Short demo and details:

https://getvibedeck.com/

If you use physical controls while coding, what is the first agent status or action you would put on a key?

4 Comments

  1. 1
    "Does anything need me?" is such an accurate way to put it -- I've been solving the same underlying moment from a completely different angle. I built a status line for Claude Code / Copilot CLI that fills that exact dead-waiting-time with a disclosed sponsor line and splits what it earns with you, instead of just showing "thinking...". Same trigger (agent's idle, you're staring at a terminal), totally different answer to "what do I do with this moment" -- yours makes it actionable across sessions, mine tries to make it not-wasted while you wait on one. Would genuinely be curious whether VibeDeck's "waiting" state and Claude Code's own statusLine hook read the same underlying signal, or if you're polling something else entirely to tell working/waiting/done apart.
  2. 1

    The “couldn’t find the one I expected, so I built it myself” story is pretty relatable. I’m curious what people end up using Oxta for that you didn’t originally expect when you built it.

    1. 1

      Thanks! Just to clarify, did you mean Orca rather than Oxta?

      1. 1

        Ah, yes — Orca. My mistake 😄

About

My Stream Deck was sitting on my desk waiting for a real job. When I began running Claude Code, Codex, and other coding agents in parallel, I kept checking terminal tabs to see which session was working, waiting, or done