
Why Agent Deck?
Managing multiple AI coding sessions across projects can get overwhelming. Agent Deck provides a single dashboard to monitor and switch between all your sessions: Claude Code, Gemini CLI, Aider, Codex, or any terminal tool.
What it does:
- Organize sessions by project with collapsible groups
- See at a glance which agents are running, waiting, or idle
- Switch between sessions instantly with keyboard shortcuts
- Search and filter to find what you need
- Built on tmux for reliability
Features
π Session Forking (Claude Code)
Fork Claude conversations to explore multiple approaches in parallel. Each fork inherits full conversation context.

- Press
f to quick-fork, F for custom name/group
- Forks inherit context and can be forked again
- Auto-detects Claude session ID across restarts
π MCP Manager
Attach and detach MCP servers on the fly. No config editing required.

- Press
M to open, Space to toggle MCPs
- LOCAL scope (project) or GLOBAL (all projects)
- Session auto-restarts with new MCPs loaded
Adding Available MCPs:
Define your MCPs once in ~/.agent-deck/config.toml, then toggle them per project:
# Web search
[mcps.exa]
command = "npx"
args = ["-y", "exa-mcp-server"]
env = { EXA_API_KEY = "your-api-key" }
description = "Web search via Exa AI"
# GitHub integration
[mcps.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { GITHUB_PERSONAL_ACCESS_TOKEN = "ghp_your_token" }
description = "GitHub repos, issues, PRs"
# Browser automation
[mcps.playwright]
command = "npx"
args = ["-y", "@playwright/mcp@latest"]
description = "Browser automation & testing"
# Memory across sessions
[mcps.memory]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-memory"]
description = "Persistent memory via knowledge graph"
More MCP examples
# YouTube transcripts
[mcps.youtube-transcript]
command = "npx"
args = ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
description = "Get YouTube transcripts"
# Web scraping
[mcps.firecrawl]
command = "npx"
args = ["-y", "firecrawl-mcp"]
env = { FIRECRAWL_API_KEY = "your-key" }
description = "Web scraping and crawling"
# Notion
[mcps.notion]
command = "npx"
args = ["-y", "@notionhq/notion-mcp-server"]
env = { NOTION_TOKEN = "your-token" }
description = "Notion workspace access"
# Sequential thinking
[mcps.sequential-thinking]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-sequential-thinking"]
description = "Step-by-step reasoning"
# Context7 - code docs
[mcps.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp@latest"]
description = "Up-to-date code documentation"
# Anthropic docs
[mcps.anthropic-docs]
command = "npx"
args = ["-y", "anthropic-docs-mcp", "--transport", "stdio"]
description = "Search Claude & Anthropic docs"
π Search
Press / to search across sessions with fuzzy matching. Filter by status with ! (running), @ (waiting), # (idle), $ (error).
π― Smart Status Detection
Automatically detects what your AI agent is doing:
| Status |
Symbol |
Meaning |
| Running |
β green |
Agent is working |
| Waiting |
β yellow |
Needs input |
| Idle |
β gray |
Ready |
| Error |
β red |
Error |
Works with Claude Code, Gemini CLI, Aider, Codex, and any shell.
Installation
Works on: macOS β’ Linux β’ Windows (WSL)
curl -fsSL https://raw.githubusercontent.com/asheshgoplani/agent-deck/main/install.sh | bash
The installer downloads the binary, installs tmux if needed, and configures tmux for mouse/clipboard support.
Then run: agent-deck
Windows: Install WSL first.
Other install methods
Homebrew
brew install asheshgoplani/tap/agent-deck
Go
go install github.com/asheshgoplani/agent-deck/cmd/agent-deck@latest
From Source
git clone https://github.com/asheshgoplani/agent-deck.git && cd agent-deck && make install
Usage
agent-deck # Launch TUI
agent-deck add . # Add current directory as session
agent-deck add . -c claude # Add with Claude Code
agent-deck list # List all sessions
Keyboard Shortcuts
| Key |
Action |
j/k or β/β |
Navigate |
Enter |
Attach to session |
n |
New session |
g |
New group |
r |
Rename |
d |
Delete |
f |
Fork Claude session |
M |
MCP Manager |
/ |
Search |
Ctrl+Q |
Detach from session |
? |
Help |
Documentation
Project Organization
βΌ Projects (3)
ββ frontend β
ββ backend β
ββ api β
βΌ Personal
ββ blog β
Sessions are organized in collapsible groups. Create nested groups, reorder items, and import existing tmux sessions with i.
Configuration
Data stored in ~/.agent-deck/:
~/.agent-deck/
βββ sessions.json # Sessions and groups
βββ config.toml # User config (optional)
For custom Claude profile directory:
[claude]
config_dir = "~/.claude-work"
tmux Configuration
The installer configures tmux automatically. For manual setup, see the tmux configuration guide.
Development
make build # Build
make test # Test
make lint # Lint
Contributing
Contributions welcome! Fork, create a branch, and open a PR.
License
MIT License - see LICENSE