# ExplainGitHub API

## ExplainGitHub API lets you build repo-aware AI features

Use repository context to power codebase chat, developer copilots, support tools, and internal workflows.

### Customer-facing developer products

Add “ask this repository”, PR summaries, issue copilots, or codebase chat directly into your product experience.

### Internal engineering and support tools

Help engineering, support, QA, or ops teams get answers from private repositories without manually searching code and docs.

### Docs, onboarding, and automation

Power docs assistants, developer onboarding flows, CI helpers, or internal automation that needs repository context.

## Agent
Sign in to use agent
Connect your GitHub account to start asking repository-aware questions in the agent tab.

### Pull requests
Connect your GitHub account to start asking repository-aware questions in the pull requests tab.

#### Pull request
- #4977 fix(docker): upgrade Node.js from 20 to 22 LTS
- #4982 fix: guard os.getcwd() against deleted CWD (FileNotFoundError)
- #4984 fix(security): validate RETAINDB_BASE_URL against SSRF before requests
- #4985 fix(gateway): rewrite transcripts atomically
- #18405 fix(tui): copy selection on Ctrl+C in approval overlay instead of denying
- #18406 fix(docker): expand ~ in user-configured volume mounts
- #18407 feat(moa): config-driven multi-provider routing for references and aggregator
- #18388 fix(weixin): add rewrite_markdown config option for text selection
- #18099 fix(gateway): harden internal background events
- #18381 feat(devops): add proxy-tester skill
- #17871 feat(cli): support multi-select in model picker
- #5175 feat(skills): add autoresearch — autonomous git-based experiment loop
- #4986 fix(security): validate HONCHO_BASE_URL against SSRF before requests
- #4989 fix(gateway): queue pending interrupt messages FIFO (#4947)
- #4990 feat(cli): add /resume interactive picker and numeric selection (#4988)
- #4995 feat(hermes_suite): add HermesSuite web command centre
- #18397 fix: harden Hermes observability instrumentation
- #18398 feat: support docker_env dict for container env vars
- #18399 feat: load base ~/.hermes/.env as fallback for profiles
- #18400 chore: increase default child agent timeout to 1 hour
- #18401 feat: add create_forum_thread Discord action
- #18403 feat(patch): hashline anchor-based editing mode
- #15971 fix(image-gen): preserve xAI API error status
- #18385 fix(feishu): keep topic replies in active threads
- #10061 fix(timezone): propagate configured timezone to agent prompt and terminals
- #17128 fix(tui): avoid creating chat sessions on dashboard mount
- #5007 feat: add Avian as LLM provider
- #5010 feat(tools): add Patchright as browser provider
- #5013 test(signal): cover /approve bypass during active session
- #18395 fix: dedupe BlueBubbles webhook deliveries
- #13377 feat(mem0): add self-hosted support via MEM0_HOST / host config
- #15672 feat(datagen): add optional TOON encoding for tool results
- #18389 fix(curator): defer first run and add --dry-run preview (#18373)
- #5020 feat: /browser connect auto-launches Chrome with persistent Hermes profile
- #5014 fix(signal): restore read receipts for direct messages
- #5015 feat: add RedPill as a supported inference provider
- #5018 fix(security): reject non-regular tar members in tirith installer + eliminate all shell=True usage in tools/
- #18391 fix(error_classifier): compress context on 500 when session is large
- #4870 feat(gateway): add SimpleX Chat adapter
- #8298 fix(gateway): add inactivity timeout for /background tasks
- #8290 fix(cron): protect tick loop from cascading mark_job_run failures
- #17471 fix(tools): support memory read and delimiter guard
- #5024 feat(approval): add structured approval provenance for gateway prompts
- #5025 fix: exclude infrastructure dirs from --clone-all when cloning default profile
- #5026 fix(profiles): #5022 prevent clone-all from copying full infrastructure
- #18383 fix(memory): keep inline memory-context mentions visible
- #18384 fix(cli): wrap long approval commands in prompt
- #15675 feat(cli): add affordance gap logging command
- #18166 fix(memory): respect toolsets and reconnect openviking
- #18157 fix: make memory and plugin encoding robust

### Deployments
Connect your GitHub account to start asking repository-aware questions in the deployments tab.

### Issues
Connect your GitHub account to start asking repository-aware questions in the issues tab.

#### Issue
- #4979 \[Bug\]: WhatsApp adapter missing send_voice() override — voice messages sent as text
- #18019 \[Bug\]: Stream stalled mid tool-call
- #4988 \[Feature\]: /resume with no arguments should show an interactive session picker
- #18402 \[Feature\]: hermes update should show what changed (skill names, config migration details, offer to reset user-modified skills)
- #18404 hermes memory status says "Built-in: always active" even when built-in store is disabled — confusing UX
- #18375 \[Bug\]: Security scan approval overlay: Ctrl+C treated as "deny" prevents copying command text
- #358 Feature: Hashline Editing — Content-Addressable Line Editing with CRC32 Anchors (inspired by OpenPlanter)
- #5000 Qodo AntiSlop scan found 27 issues across 10 recent PRs
- #5011 不支持图片和对话时光标不支持鼠标定位
- #18394 \[Bug\]: TUI backspace cannot delete newline characters in composer input
- #18396 \[Feature\]: Add reply_to_text support for Matrix platform
- #17992 DeepSeek V4 /anthropic: signed thinking blocks stripped, causing HTTP 400
- #15037 feat(config): support per-model max_tokens in custom_providers config
