I got tired of multiplexing 10 kitty tabs each running a Claude Code session, round-robining through that shitty Ink-based TUI to figure out which agent needs me. A magit-style porcelain with single-key bindings makes me feel more like a CEO and less like a terminal babysitter.
Active (12)
infra
user/chijoshi/mcu-heartbeat [working] implement heartbeat monitoring
user/chijoshi/infra-docs [idle] Remove the human readable version
ai-platform
user/chijoshi/fix-prod-soc.. [idle] There are two problems with the mind dashboard
Archive (3)
firmware - feature/das-fsd
neuralinux - replace-hugo
Auto-discovers your Claude Code sessions from ~/.claude/projects/. Groups by repo. Branch color = state. TAB to fold. RET to open the Claude Code session. i to send a prompt without leaving the dashboard. c to tell the agent to commit. That's it.
(use-package magent
:load-path "~/magent"
:commands (magent)
:hook (after-init . magent))Requires magit-section. Works with Evil.
RET open agent (via claude-code.el)
i send input
c tell agent to commit
P tell agent to open PR
r resume (work or repo)
d diff unstaged
= diff since agent started
w new worktree + agent
N new work (existing dir)
D archive (offers worktree cleanup)
! shell command in worktree
b browse backlog org files
? help
magent-org-dispatch from an org TODO creates a worktree and launches an agent with the heading as the prompt.
Scans ~/.claude/projects/ for Claude Code session JSONL files. Reads first 8K + last 32K (not the whole file). Extracts session ID, branch, last prompt, last output. Sends prompts to idle sessions via claude -p --resume <id>. Auto-archives branches merged into main.
Three states: working (green), idle (grey), done (purple).
No daemon. No database. Persistence is just overrides (start-commit, done state) on top of discovery.