By afarntrog
Tracks every Claude Code session as a GitHub Issue in the repository you are currently working in. Creates a new issue per session, appends every prompt and response as comments.
A Claude Code plugin that automatically tracks every session as a GitHub Issue in the repository you're currently working in.
| Event | Action |
|---|---|
| Session starts | Creates a new GitHub Issue in your working repo: Claude Session — <project> [timestamp] |
| You submit a prompt | Appends a 🧑 Prompt comment to the issue |
| Claude responds | Appends a 🤖 Claude Response comment to the issue |
| Session ends | Closes the issue |
Each session gets its own issue. Resume a session? The existing issue is reused — no duplicates.
An issue in your repo will look like:
Claude Session — my-app [2026-04-12 14:32:00]
Session ID: `abc123...`
Started: 2026-04-12 14:32:00
Working Directory: /Users/me/projects/my-app
---
Every prompt and response in this session will be appended as comments below.
Followed by comments:
🧑 Prompt — 14:32:05
Add a dark mode toggle to the settings page
🤖 Claude Response — 14:32:12
I'll add a dark mode toggle...
gh auth login --scopes "repo"
git remote get-url origin)# 1. Add this repo as a plugin marketplace source
/plugin marketplace add afarntrog/claude-issue-tracker-plugin
# 2. Install the plugin from the marketplace
/plugin install claude-issue-tracker@claude-issue-tracker
Clone this repo and add to your .claude/settings.json:
{
"plugins": ["/path/to/claude-issue-tracker-plugin"]
}
Just use Claude Code normally in any GitHub-backed repo. Sessions are tracked automatically.
/claude-issue-tracker:session-status
The plugin uses four Claude Code hooks:
| Hook | Trigger | Action |
|---|---|---|
SessionStart | New session begins | Detects git remote, creates issue, saves state |
UserPromptSubmit | You send a prompt | Appends prompt as a comment |
Stop | Claude finishes a response | Reads transcript, appends response as a comment |
SessionEnd | Session ends | Closes the issue |
All hooks run asynchronously and never block Claude.
| Path | Purpose |
|---|---|
~/.claude/plugins/claude-issue-tracker/state/ | Per-session JSON state files |
~/.claude/plugins/claude-issue-tracker/tracker.log | Hook execution log |
Issue not being created?
~/.claude/plugins/claude-issue-tracker/tracker.log for errorsgh auth status shows you're authenticated with repo scopegit remote get-url originNo response comments appearing?
Stop hook reads the transcript file to extract Claude's response. Check that transcript_path is being provided in the hook input and the file is readable.Seeing duplicate issues?
session_id creates at most one issue. State is stored in ~/.claude/plugins/claude-issue-tracker/state/.MIT
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub afarntrog/claude-issue-tracker-plugin --plugin claude-issue-trackerSession feedback analysis - capture skill bugs, enhancements, and positive patterns as GitHub issues
Auto-captures Claude Code sessions as narrative worklogs and detects user steering patterns
Automatically backup your work with git commits after each Claude session
Session transcript timeline viewer for Claude Code and Codex agent sessions
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Easily create hooks to prevent unwanted behaviors by analyzing conversation patterns