Control Claude Code entirely through a Stream Deck and voice dictation. Designed for accessibility and hands-free coding.
TerminalDeck connects your Elgato Stream Deck MK.2 to Claude Code, letting you:
- Open/switch terminal windows without touching the keyboard
- Launch Claude Code with a single button press
- Respond to prompts (Yes, No, Yes to All, Cancel) hands-free
- Navigate conversation history (up/down arrows)
- Submit prompts and run commands
- Toggle voice dictation for truly hands-free coding
┌─────────┬─────────┬─────────┬─────────┬─────────┐
│ Open │ Switch │ Launch │ New │ Close │
│ Terminal│ Window │ Claude │Terminal │ Session │
├─────────┼─────────┼─────────┼─────────┼─────────┤
│ Yes │ Yes to │ No │ Cancel │ Tab │
│ [Y] │ All │ [N] │ ESC │ ->| │
├─────────┼─────────┼─────────┼─────────┼─────────┤
│ Dictate │ Submit │ UP │ DOWN │ Delete │
│ MIC │ ENTER │ │ │ DEL │
└─────────┴─────────┴─────────┴─────────┴─────────┘
- macOS 12.0 (Monterey) or later
- Elgato Stream Deck MK.2 (15-key) - other models not yet supported
- For development: Node.js 20+, Rust (latest stable)
git clone https://github.com/sidmohan0/terminaldeck.git
cd terminaldeck
npm install
npm run tauri:devIn the app settings, you can configure:
- Terminal App: Terminal, iTerm, or Warp
- CLI Tool: Claude or Codex
TerminalDeck uses:
- HID API to communicate directly with Stream Deck hardware
- AppleScript to control terminal applications and send keystrokes
- Tauri for the native macOS app wrapper
- Ensure Stream Deck is plugged in before launching the app
- Check System Settings → Privacy & Security → Input Monitoring - add TerminalDeck
- Try clicking "Connect Stream Deck" from the tray menu
- Unplug and replug the Stream Deck, then reconnect
- Check that TerminalDeck is connected (tray icon menu)
- Ensure Accessibility permissions are granted in System Settings
- For dictation: verify your macOS dictation shortcut matches the app setting
TerminalDeck uses AppleScript to control your terminal. On first use, macOS will prompt for permissions. Grant access in:
- System Settings → Privacy & Security → Accessibility
- System Settings → Privacy & Security → Automation
| Layer | Technologies |
|---|---|
| Frontend | React 19, TypeScript, Vite |
| UI | shadcn/ui, Tailwind CSS |
| Backend | Tauri v2, Rust |
| Hardware | hidapi (Stream Deck communication) |
See CONTRIBUTING.md for development setup and guidelines.
MIT - Sid Mohan
Built on the Tauri React Template by Danny Smith.