A lightweight macOS menu bar app for managing your Claude Code and Grok CLI sessions — resume, focus, kill, and organize every AI coding session from one place.
If you run long-lived claude --resume / grok --resume sessions across many project directories, DevDeck gives you a single click to jump back into any of them, see which are live, and stop the ones you're done with.
- Auto-discovers every session — scans
~/.claude/projectsand~/.grok/sessions; no manual setup. Each session shows its project, git branch, message count, size, and last-used time. - One-click resume — opens Terminal in the project directory and resumes the session. If it's already running in a window, that window is brought to the front instead of spawning a duplicate. Background-agent sessions open the attach picker.
- Live running indicators — sessions with a live
claude/grokprocess are marked, and the menu bar icon shows how many are running. Auto-refreshes on an interval you choose. - Kill a session — stops its process and closes its Terminal window in one click. History is preserved — the session stays resumable.
- Delete a session — permanently removes its history (with confirmation). Your project files are never touched.
- Pin, rename, search, group by project — keep your active work at the top.
- Preferences — terminal choice (Terminal.app / iTerm2), refresh interval, show/hide dead sessions, group-by-project, launch at login.
- macOS 14 (Sonoma) or later, Apple Silicon
- Claude Code and/or Grok CLI installed (
claude/grokon yourPATH)
git clone https://github.com/dietghardev/devdeck.git
cd devdeck
./build.shbuild.sh compiles with swiftc (no Xcode project needed), generates the app icon, ad-hoc code-signs, and installs to /Applications/DevDeck.app. Launch it and look for the hammer icon in your menu bar.
To start it automatically at login, enable Launch at login in DevDeck's Preferences, or add it under System Settings → General → Login Items.
On first resume, macOS asks permission for DevDeck to control Terminal — allow it.
DevDeck reads Claude Code's and Grok's own on-disk session files (never a copy) — so it always reflects your real sessions and nothing is lost if you kill a session or restart your Mac. Running state is detected via pgrep + lsof; Terminal windows are driven with AppleScript. It's pure Swift/SwiftUI + AppKit with no third-party dependencies.
Sources/
DevDeckApp.swift — menu bar app entry, dynamic icon
Models.swift — Store, persistence
ClaudeScanner.swift — session discovery + enrichment
Launcher.swift — Terminal control, resume/focus/kill
Views.swift — session list UI
Preferences.swift — settings + launch-at-login
AboutView.swift — about window
build.sh — swiftc build + icon generation + install
Issues and PRs welcome. This is a community tool — if it saves you time, share it.
MIT © Shubham Kansal
