Web UI for running AI coding assistants against GitHub issues and PRs.
AI coding CLIs run in terminals. GitHub issues and PRs live in browsers. Working on GitHub repos with these tools means switching between the two and manually providing context.
Clump embeds AI coding terminals in a web UI alongside GitHub data. It fetches issues and PRs via the GitHub API, spawns CLI processes, and saves transcripts to disk. Sessions are linked to the issues or PRs they analyze, so you can see what analyses have been run on a given issue. You can run multiple sessions in parallel across tabs, browse session history, and search past transcripts. A scheduler handles cron-based recurring runs.
Clump supports multiple AI coding assistants through a unified adapter system:
- Claude Code - Anthropic's CLI for Claude (default)
- Gemini CLI - Google's Gemini CLI
- Codex CLI - OpenAI's Codex CLI
Each CLI has different capabilities. Clump detects what's installed and shows available options. You can switch between CLIs when starting new sessions.
- Browse GitHub issues and PRs with their comment threads
- Run AI coding sessions in embedded terminals (Claude, Gemini, or Codex)
- Keep multiple sessions open in tabs
- Save transcripts and search past sessions
- AI-generated issue metadata (priority, difficulty, risk, type, status, tags)
- Filter issues by metadata properties in the UI and scheduled jobs
- Schedule recurring analyses with cron expressions and metadata filters
- Track token usage and estimated costs
Get started by selecting a repository from the dropdown. The welcome screen shows available repos and quick actions.
Browse and analyze GitHub issues with full comment threads. Each issue shows related sessions and quick-action buttons.
Review PRs with diff stats, branch info, and comments. Start code review sessions directly from the UI.
Running sessions appear in the sidebar. Click to view the terminal output and interact with Claude Code.
Search and filter past Claude Code sessions. View transcripts with tool usage, costs, and linked issues/PRs.
Set up recurring analyses with cron expressions. Track last run status and next scheduled execution.
Configure Claude Code behavior: permission mode, allowed tools, model selection, and more.
Quick access to all actions with Ctrl+K. Jump to issues, PRs, sessions, or run commands.
- Python 3.11+
- Node.js 18+
- At least one supported CLI installed and authenticated:
- Claude Code (
claudecommand) - Gemini CLI (
geminicommand) - Codex CLI (
codexcommand)
- Claude Code (
- GitHub personal access token
git clone https://github.com/anthropics/clump.git
cd clump
./run.sh- Add a repository (owner/name + local path)
- Browse issues or PRs
- Click "Analyze" to start a Claude Code session
- Type in the terminal
- Open more tabs for parallel sessions
- Search past sessions in the Analyses tab
Everything lives in ~/.clump/:
~/.clump/
├── repos.json # Repository list
└── projects/{hash}/
├── data.db # SQLite (sessions, tags, schedules)
└── sessions/{id}/transcript.jsonl
Each repo gets its own database.
backend/.env:
# GitHub token
GITHUB_TOKEN=ghp_...
# CLI command paths (defaults shown, override if needed)
CLAUDE_COMMAND=claude
GEMINI_COMMAND=gemini
CODEX_COMMAND=codex
# Claude Code settings
CLAUDE_PERMISSION_MODE=acceptEdits
CLAUDE_ALLOWED_TOOLS=Read,Glob,Grep,Bash(git:*)
CLAUDE_MAX_TURNS=10
CLAUDE_MODEL=sonnetBrowser (React + xterm.js)
│
│ HTTP + WebSocket
▼
FastAPI backend
├── GitHub API proxy
├── CLI adapter system (Claude, Gemini, Codex)
├── PTY manager (spawns CLI processes)
├── Transcript parser (JSONL → structured data)
├── Sidecar metadata (AI-generated issue analysis)
├── Scheduler (cron jobs with metadata filters)
└── SQLite per repo
GET/POST /api/repos- List/add reposGET /api/repos/:id/issues- List issuesGET /api/repos/:id/issues/:num- Issue with commentsGET /api/repos/:id/pulls- List PRs
POST /api/sessions- Start terminal sessionGET /api/sessions- List active sessionsDELETE /api/sessions/:id- Kill sessionWS /api/sessions/:id/ws- Terminal I/O
POST /api/headless/run- Run and wait for resultPOST /api/headless/run/stream- Stream NDJSON output
GET /api/analyses- Search past sessionsGET /api/analyses/:id- Get transcript and metadataPATCH /api/analyses/:id- Update summary/tags
GET/POST /api/schedules- Manage cron jobsPOST /api/schedules/:id/run- Trigger manually
GET /api/cli/available- List installed CLIs and capabilities
GET /api/stats- Usage analyticsGET /api/tags- Tag managementGET /api/commands- Available slash commands
When you analyze an issue, Clump stores AI-generated metadata in .clump/issues/{number}.json:
- priority: critical, high, medium, low
- difficulty: trivial, easy, medium, hard, complex
- risk: low, medium, high
- type: bug, feature, refactor, docs, chore, question
- status: open, in_progress, completed, wontfix
- affected_areas: list of codebase areas
- tags: custom labels
This metadata powers filtering in the issue list and scheduled job targeting. For example, a scheduled job can use priority:high,critical -type:docs to only process high-priority non-documentation issues.
Each CLI adapter translates Clump settings to CLI-specific flags:
Claude Code:
--allowedTools/--permission-mode- Permissions--session-id/--resume- Continue conversations-p- Headless mode with JSON output--max-turns- Limit execution depth--model- Model selection
Gemini CLI / Codex CLI:
- Adapters map equivalent functionality where available
- Not all features are supported by all CLIs







