Six coding agents
One combined inbox or separate keys.
22 actions · $5/month · 7-day trial
See which of six coding agents needs you, select that session, and keep controlling it from Stream Deck.
Card required. No charge for 7 days, then $5/month. Cancel anytime.

One combined inbox or separate keys.
Tap once. The rest of the deck follows.
No product telemetry or VibeDeck account.
What your subscription unlocks
Select a session from its live card, then use the rest of your keys and Stream Deck+ dials to control that target.
Use one prioritized inbox or one key per agent. Tap to select and focus; hold a completed card to dismiss it.
A pulsing amber border, “stuck 12m” label, and one-time sound flag a working turn past its threshold. Set the 10-minute global default or override each key. Hold sends Ctrl-C in iTerm2, tmux, or Ghostty when dictation is off; elsewhere it focuses. VibeDeck never interrupts automatically.
See working, waiting, and done totals on one urgency-colored key. Tap the oldest waiting session or cycle live sessions; filter by agent. The last completion gets a flourish, with an optional chime.
Handle supported prompts directly, including managed Codex sessions on macOS; other Codex sessions keep terminal prompts.
Control Claude Code or managed macOS Codex from a key. Unmanaged and Windows Codex sessions open the native picker.
Switch Claude models and managed macOS Codex models directly. Other Codex sessions keep the native picker.
Apply saved effort/model presets directly to Claude Code or managed Codex sessions on macOS.
Send your own text, such as /compact, while keeping your chosen Stream Deck title and icon.
Hold a session key to speak. Preview the transcript or English translation in the terminal, then tap to run it.
See Claude Code 5-hour, weekly, or Fable usage and Codex weekly usage without another dashboard.
Track Claude Code’s 5-hour or weekly limit pace from statusline data. See %/h with a sparkline or weekly pace with seven daily bars; self-calibrating HOT and CRIT tiers compare your burn with what can last until reset. Read-only: it never changes model or effort.
Choose global approval, question, error, and stuck-turn alerts, or mute every VibeDeck alert instantly.
Prevent idle sleep on macOS and Windows. An optional, administrator-approved mode can also keep supported laptops awake with the lid closed.
Clear the desktop without stopping the agent. Minimize the selected session’s window where strict terminal targeting is available, then tap its session card to return.
52-second showcase
Watch real VibeDeck key states move from working to waiting, selection, control, and completion.
Your subscription covers two activated devices, macOS and Windows installers, signed updates, and compatibility work across six changing agent CLIs.
14-day refund window after your first charge. Local tax may apply.
Activate the same license on two computers and deactivate either one when you move.
Use the macOS 13+ and Windows 10+ installers included with your order.
VibeDeck verifies update signatures and file hashes before installation.
Compatibility work continues as Claude Code, Codex, Cursor, Copilot CLI, Antigravity, and OpenCode change.
Hands-free prompting · explicit send
Dictation is opt-in and off by default. Hold a session key while you speak; VibeDeck sends the audio to the Whisper-compatible endpoint you choose and types the result into that session without pressing Enter.
Your terminal is the preview: edit the text, dictate another segment, or discard it. Nothing runs until you tap the same session key or Push Dictation. Translation support depends on the configured endpoint. Dictation works on macOS and Windows where supported terminal text injection is available.
Compatibility
The agent integration reports when a session is working, done, or waiting for you. Your terminal only determines how precisely VibeDeck can focus, type into, and minimize that session.
| Feature | Claude Code | Codex | Cursor | Copilot CLI | Antigravity | OpenCode |
|---|---|---|---|---|---|---|
| Session cards + sounds | Full event set | Core events | Core events; no question event | Core lifecycle events | Statusline states | Full event set |
| Approve / Deny from Stream Deck | Yes; Always uses the exact provider scope | Allow/Deny on macOS + Windows; Always requires managed macOS | No; use Cursor | No; permission alerts only | No; approval alerts only | Yes; Always uses exact provider patterns |
| Effort + model | Yes, through the terminal | Direct on managed macOS; native picker otherwise | Not available | Not available | Not available | Not available |
| Usage meter | 5-hour, week, and Fable | Weekly | Not available | Not available | Not available | Not available |
| Resume a closed session | macOS, iTerm2, Terminal.app, or Ghostty 1.3+ | Not available | Not available | Not available | Not available | Not available |
Status monitoring works whether the agent runs in a terminal or an IDE. Terminal support only changes focus, text-entry, and window controls. Completed sessions still accept controls; error sessions do not.
Terminal compatibility
Status monitoring works with every supported agent. Your terminal only changes how precisely VibeDeck can focus, type into, and minimize the selected session.
Best all-round control: iTerm2 on macOS and Windows Terminal x64 on Windows. Ghostty 1.3+ and WezTerm are also strong macOS choices; tmux is the reliable exact-pane fallback inside other terminals.
Swipe the table to compare every column →
| Terminal | System | Tap to focus | Commands + dictation | Interrupt | Minimize | Setup |
|---|---|---|---|---|---|---|
| iTerm2 | macOS | Exact tab and pane | Exact session | Yes | Selected window | Approve macOS permissions |
| Ghostty 1.3+ | macOS | Exact when one pane owns the working directory | Native text, submit, and clear | Yes | Unavailable | Approve macOS permissions |
| Terminal.app | macOS | Exact tab | Foreground tab | No | Selected window | Approve Accessibility |
| tmux | macOS, inside any terminal | Exact pane; host-window raise is best effort | Exact pane, even in a background window | Yes | iTerm2 host only | None |
| WezTerm | macOS | Exact pane when its CLI target is available; app fallback otherwise | Exact pane or foreground fallback | No | Unavailable | None |
| kitty | macOS | Exact window after opt-in; app fallback otherwise | Exact window after opt-in; foreground fallback otherwise | No | Unavailable | Enable kitty remote control |
| VS Code / Cursor terminal | macOS | Exact with companion bridge; app fallback otherwise | Exact with bridge; foreground fallback otherwise | No | Unavailable | Bridge not currently distributed |
| Warp | macOS | App only | Foreground terminal | No | Unavailable | Use tmux for exact pane control |
| Alacritty | macOS | App only | Foreground terminal | No | Unavailable | Use tmux for exact pane control |
| Windows Terminal x64 | Windows | Exact captured tab | Exact captured tab | No | Pending rebuilt x64 helper | Elevated tabs cannot be controlled |
| Other Windows terminals / ARM64 | Windows | Not supported | Not supported | No | Unavailable | Use Windows Terminal x64 |
Dictation types text without pressing Enter. Enabling hold-to-dictate uses the hold gesture, so hold-to-interrupt is unavailable on that session key. Unknown macOS terminals need tmux for reliable focus and typing.
See terminal setup instructionsVisible setup
Download the installer and find your key in the email from “VibeDeck <[email protected]>”. Install VibeDeck, then activate it from the Install Hooks setup page.
Open the Install Hooks Property Inspector, choose only the detected agents you want, and preview the configuration files VibeDeck will extend. Nothing is selected by default.
Install the selection, restart affected agent sessions, and send one prompt. Your first live session card confirms the connection.
Codex Direct Control · macOS only
VibeDeck runs the server side automatically (state lives under ~/.vibedeck/codex-control/). Your only step: attach your codex command — one PATH line, explained on the install page.
Unmanaged sessions and Windows keep model, effort, and presets in Codex's native picker. Installed Codex hooks can answer Allow once or Deny from the deck on macOS and Windows; session-wide Always requires a managed macOS session. Already-open managed macOS sessions must restart to become directly controllable.
Not yet available on Windows — planned for a future update.
Checking status…
Open this page from a VibeDeck key while the plugin is running on your computer to see status.
Controls that follow your session
The last session you tap becomes the target for Effort, Model, Agent Config, and Custom Command. A white ring shows exactly what the next control will affect.
Tap a done card to select and focus it; the card stays available instead of clearing. You can prepare the next turn with Effort, Model, Agent Config, or Custom Command. Hold a done or error card when you want to dismiss it.
Enable hold-to-dictate from the Push Dictation settings, then choose your microphone and either your own OpenAI API key or a compatible local Whisper server. Translation mode asks the configured endpoint to translate speech to English. Audio is recorded only while held, the temporary file is deleted after every attempt, and the terminal never runs the result until you tap.
VibeDeck installs only after you choose agents and preview the files. Existing hook arrays are preserved, conflicting single-slot entries are skipped, and invalid configurations are left untouched. A backup is created before changes; the latest ten installation backups are retained.
Requires a compatible Stream Deck device, Stream Deck 6.9 or newer, and macOS 13+ or Windows 10+. Stream Deck+ is optional and adds dial control for Reasoning Effort and Model.
Custom signals
A Signal ID is the address you choose for a Custom Signal button. Send a state to that address from a hook, build, test, or deploy script and the right key changes instantly.
signalId: "tests"→Unique ID, one key. Reuse release on two buttons when you want both to update together.
Add the action to any free Stream Deck key.
Use a memorable address such as agent-progress.
Call the VibeDeck helper from your workflow. Delivery is silent and never changes its exit status.
Pick your recipe
Choose an agent and operating system. Add these non-blocking calls alongside the matching native lifecycle hooks; do not replace VibeDeck's installed hooks.
Merge these event groups into the matching arrays in hooks. Keep every existing setting and hook, including VibeDeck-installed entries.
{
"hooks": {
"UserPromptSubmit": [{
"hooks": [{
"type": "command",
"command": "$HOME/.vibedeck/vibedeck-signal.sh agent-progress working 'Agent is building'"
}]
}]
}
}
Coverage: Claude exposes working, needs-you, done, error, and session-end events.
The installed signal helper discovers VibeDeck's current loopback port and per-process token automatically.
Questions
$5/month. Card required. No charge for 7 days, then $5/month. Cancel anytime using the link in a Paddle receipt email or by emailing [email protected]. Your subscription unlocks all 22 actions, including Swarm, Burn Rate, Minimize Window, and Keep Awake. The refund window lasts 14 days after your first charge. If a subscription lapses, VibeDeck's actions lock until it is renewed; see Terms.
No. Push Dictation is included with VibeDeck, but voice processing is not. Use your own OpenAI API key or a compatible local Whisper server. Audio is sent to your configured endpoint when recording finishes. The resulting terminal text is never executed until you tap.
Yes for managed Codex sessions on macOS: VibeDeck directly controls approvals, reasoning effort, models, and presets. Unmanaged sessions and Windows keep Codex's native picker and terminal prompts as the fallback.
Keep Awake prevents idle sleep on macOS and Windows while long-running work finishes. The optional lid-close mode requires administrator approval and depends on the laptop and power configuration.
No. It minimizes the selected session’s window while the agent keeps running. Exact targeting follows the terminal table; Windows support remains pending until the rebuilt x64 helper ships.
Tap a session card first. Reasoning Effort, Model, Agent Config, and Custom Command then act on that selected Claude Code or Codex session where supported. Custom Command can target other agents when terminal text injection is available.
Choose separate global sounds for approval, question, error, and stuck-turn alerts, preview them, use a short custom WAV, disable a category, reset defaults, or mute every VibeDeck alert from one key.
Never on launch. You explicitly select agents in the Install Hooks Property Inspector, preview the affected files, and then confirm the installation.
VibeDeck adds its entries alongside existing hook arrays. Invalid files and single-slot conflicts are left untouched and shown as Needs review.
No. Configure only the ones you use. Agent-specific keys stay independent.
Status delivery quietly fails and your coding agent continues. Permission connections return control to the agent’s normal prompt.
Up to 2 devices at a time. Deactivate an old machine from the setup page. If it is gone, contact activation support from the email used at checkout — never send the license key.
No. VibeDeck is an independent product and is not affiliated with Elgato, Anthropic, OpenAI, Cursor, GitHub, Google, or OpenCode.
Why VibeDeck exists
“Running several coding agents made me faster. Constantly checking which terminal was working, finished, or waiting for me became a job of its own.”
Put all 22 actions on two compatible Stream Deck setups.
Card required. No charge for 7 days, then $5/month. Cancel anytime.
Support
Confirm the Stream Deck app is running, VibeDeck is enabled, and start a fresh agent session after setup.
Email [email protected] with your agent, operating system, and exact error. Never send API keys or tokens.