Skip to content
agent-deck logo

agent-deck

Terminal session manager for AI coding agents. Use when user mentions "agent-deck", "session", "sub-agent", "MCP attach", or needs to (1) create/start/stop/restart/fork sessions, (2) attach/detach MCPs, (3) manage groups/profiles, (4) get session output, (5) configure agent-deck, (6) troubleshoot...

SKILL.md

Full skill instructions

Agent Deck

Terminal session manager for AI coding agents. Built with Go + Bubble Tea.

Version: 0.8.14 | Repo: github.com/​asheshgoplani/​agent-deck

Quick Start

# Launch TUI
agent-deck

# Create and start a session
agent-deck add -t "Project" -c claude /​path/​to/​project
agent-deck session start "Project"

# Send message and get output
agent-deck session send "Project" "Analyze this codebase"
agent-deck session output "Project"

Essential Commands

CommandPurpose
agent-deckLaunch interactive TUI
agent-deck add -t "Name" -c claude /​pathCreate session
agent-deck session start/​stop/​restart <name>Control session
agent-deck session send <name> "message"Send message
agent-deck session output <name>Get last response
agent-deck session current [-q|--json]Auto-detect current session
agent-deck session fork <name>Fork Claude conversation
agent-deck mcp listList available MCPs
agent-deck mcp attach <name> <mcp>Attach MCP (then restart)
agent-deck statusQuick status summary

Status: ● running | ◐ waiting | ○ idle | ✕ error

Sub-Agent Launch

Use when: User says "launch sub-agent", "create sub-agent", "spawn agent"

scripts/​launch-subagent.sh "Title" "Prompt" [--mcp name] [--wait]

The script auto-detects current session/​profile and creates a child session.

Retrieval Modes

ModeCommandUse When
Fire & forget(no --wait)Default. Tell user: "Ask me to check when ready"
On-demandagent-deck session output "Title"User asks to check
Blocking--wait flagNeed immediate result

Recommended MCPs

Task TypeMCPs
Web researchexa, firecrawl
Code documentationcontext7
Complex reasoningsequential-thinking

TUI Keyboard Shortcuts

Navigation

KeyAction
j/​k or ↑/↓Move up/​down
h/​l or ←/→Collapse/​expand groups
EnterAttach to session

Session Actions

KeyAction
nNew session
r/​RRestart (reloads MCPs)
MMCP Manager
f/​FFork Claude session
dDelete
mMove to group

Search & Filter

KeyAction
/Local search
GGlobal search (all Claude conversations)
!@#$Filter by status (running/​waiting/​idle/​error)

Global

KeyAction
?Help overlay
Ctrl+QDetach (keep tmux running)
qQuit

MCP Management

Default: Do NOT attach MCPs unless user explicitly requests.

# List available
agent-deck mcp list

# Attach and restart
agent-deck mcp attach <session> <mcp-name>
agent-deck session restart <session>

# Or attach on create
agent-deck add -t "Task" -c claude --mcp exa /​path

Scopes:

  • LOCAL (default) - .mcp.json in project, affects only that session
  • GLOBAL (--global) - Claude config, affects all projects

Configuration

File: ~/​.agent-deck/​config.toml

[claude]
config_dir = "~/​.claude-work"    # Custom Claude profile
dangerous_mode = true            # --dangerously-skip-permissions

[logs]
max_size_mb = 10                 # Max before truncation
max_lines = 10000                # Lines to keep

[mcps.exa]
command = "npx"
args = ["-y", "exa-mcp-server"]
env = { EXA_API_KEY = "key" }
description = "Web search"

See config-reference.md for all options.

Troubleshooting

IssueSolution
Session shows erroragent-deck session start <name>
MCPs not loadingagent-deck session restart <name>
Flag not workingPut flags BEFORE arguments: -m "msg" name not name -m "msg"

Report a Bug

If something isn't working, create a GitHub issue with context:

# Gather debug info
agent-deck version
agent-deck status --json
cat ~/​.agent-deck/​config.toml | grep -v "KEY\|TOKEN\|SECRET"  # Sanitized config

# Create issue at:
# https://github.com/asheshgoplani/agent-deck/issues/new

Include:

  1. What you tried (command/​action)
  2. What happened vs expected
  3. Output of commands above
  4. Relevant log: tail -100 ~/​.agent-deck/​logs/​agentdeck_<session>_*.log

See troubleshooting.md for detailed diagnostics.

Critical Rules

  1. Flags before arguments: session start -m "Hello" name (not name -m "Hello")
  2. Restart after MCP attach: Always run session restart after mcp attach
  3. Never poll from other agents - can interfere with target session

References