From oh-my-harness
Stops Claude Code agents, kills tmux sessions/panes, and safely removes git worktrees/branches with warnings for unapplied changes.
npx claudepluginhub hoya324/oh-my-harness --plugin oh-my-harnessThis skill uses the workspace's default tool permissions.
Stop agents, kill tmux session, and clean up worktrees.
Kills orphaned Claude Code subagent processes detached from terminals. Use after Task tool spawns accumulate or for prune/cleanup requests. Safe anytime.
Manages multiple local CLI agents in tmux sessions: start/stop/monitor/assign tasks with cron-friendly scheduling. Use for parallel agent workflows and log tailing.
Decommissions bOpen team agents by coordinating plugin/code removal with Satchmo and ClawNet infrastructure teardown with Johnny, including bots, sandboxes, and BAP identities.
Share bugs, ideas, or general feedback.
Stop agents, kill tmux session, and clean up worktrees.
Usage: /agent-stop [agent-id|all] Example: /agent-stop all Example: /agent-stop 2
Read agent state from .claude/.omh/agents.json. If no file exists, report "No active agents." and exit.
Parse arguments: Determine which agent(s) to stop from $ARGUMENTS (default: all).
Read useWorktree from agents.json to know whether worktree cleanup is needed.
Check for unapplied changes (only when useWorktree is true):
For each agent being stopped:
git log "main..omh/agent-{i}" --oneline
If there are unmerged commits, warn the user using AskUserQuestion:
Agent {i} has {N} unmerged commit(s):
{commit list}
What would you like to do?
apply — run /agent-apply {i} first, then stop
discard — throw away these changes and stop
cancel — abort, do nothing
Never silently discard work. Always wait for explicit user choice.
Kill tmux panes for target agents:
# Stopping all agents:
tmux kill-session -t "{tmuxSession}"
# Stopping a specific agent:
tmux send-keys -t "{tmuxSession}:0.{i-1}" C-c
tmux send-keys -t "{tmuxSession}:0.{i-1}" "exit" Enter
Remove worktrees (only when useWorktree is true):
git worktree remove .claude/.omh/worktrees/agent-{i} --force
git branch -D "omh/agent-{i}"
Skip this step entirely when useWorktree is false.
Update agent state:
.claude/.omh/agents.json"stopped", keep remaining entriesReport cleanup summary to user.
useWorktree is true