A terminal built for Claude Code. Deckard is a native macOS app that treats Claude Code sessions as first-class objects. Each tab knows whether Claude is thinking, waiting for input, or needs tool approval, and tracks context window usage so you know when a session is running low.
Run multiple sessions side by side in a single window with tabs, projects, and session persistence. Built with Swift and AppKit. Terminal rendering powered by SwiftTerm.
Open multiple Claude Code (and plain terminal) tabs per project. Switch between them with Cmd+1–9 or drag to reorder.
Each open directory gets its own set of tabs, persisted across restarts. Group related projects into collapsible sidebar folders for organization (e.g., by client).
Tab badges show whether Claude is thinking, waiting for input, needs tool permission, or has errored. Terminal tabs show real-time CPU and disk activity for the foreground process.
Browse all past Claude sessions with Cmd+Shift+E. View the full conversation timeline, resume or fork from any point, and bookmark favorites with a star toggle. Optionally summarize sessions and per-turn actions with Haiku — summaries are cached and incrementally updated when sessions are continued.
Ships with 486 built-in themes (Ghostty format) and loads custom themes from ~/.config/ghostty/themes. Search and preview in Settings. Status indicator shapes, colors, and blink are fully customizable.
A progress bar shows context window usage. A sparkline visualizes token rate over time, and rate limit indicators show 5-hour and 7-day quota consumption.
- Session persistence: Claude sessions resume via
--resume. Tab structure and working directories are preserved across restarts. - Customizable shortcuts: All keyboard shortcuts are rebindable in Settings > Shortcuts.
- tmux integration: When tmux is installed, terminal tabs are transparently wrapped in tmux sessions. Quit and relaunch Deckard to resume exactly where you left off — full shell state, scrollback, running processes, and environment preserved. tmux options are editable in Settings > Terminal. Works as a progressive enhancement; no tmux required.
- Drag and drop: Drag files from Finder into the terminal — paths are automatically shell-escaped and inserted.
- Auto-updates: Built-in update checking via Sparkle. New releases are delivered automatically.
- Terminal rendering: Powered by SwiftTerm, a self-contained terminal emulator with VT100/xterm emulation, IME support, and mouse reporting.
Homebrew:
brew install gi11es/tap/deckardManual download: grab the latest DMG from Releases.
- macOS 14.0 (Sonoma) or later
- Claude Code CLI installed
- Xcode 16+ (to build from source)
Clone and build. SwiftTerm is fetched automatically via Swift Package Manager:
git clone https://github.com/gi11es/deckard.git
cd deckard
xcodebuild -project Deckard.xcodeproj -scheme Deckard -configuration Debug buildThe built app will be in your Xcode DerivedData directory.
On launch, Deckard automatically installs two integrations into Claude Code (no manual setup needed):
- Lifecycle hooks — a shell script and entries in
~/.claude/settings.jsonthat notify Deckard when Claude starts thinking, finishes a response, needs tool approval, or encounters an error. Communication happens over a Unix domain socket. /deckardskill — a Claude Code slash command (~/.claude/commands/deckard.md) for filing bug reports and feature requests directly from a session.
These are installed idempotently on every launch and don't modify Claude Code itself.
MIT





