Hooks
What co-researcher runs automatically, and when. A hook is a command Claude Code fires at a fixed moment, without you asking for it.
> /plugin marketplace add poemswe/co-researcher > /plugin install co-researcher@co-researcher-marketplace
Ships with co-researcher. Installing the plugin gets these hooks.
What fires, and when
SessionStart
Fires once when a session begins, and again after a context compaction. It is where a plugin sets up its environment, or restores state the compaction dropped.
- Matches
startup|resume|clear|compact"${CLAUDE_PLUGIN_ROOT}/hooks/session-start.cmd"
Where it lives
- hooks/session-start.shGitHub
Read the script
#!/usr/bin/env bash # SessionStart hook for co-researcher plugin set -euo pipefail task_context="" if [ -n "${CLAUDE_CODE_TASK_LIST_ID:-}" ]; then safe_id=$(printf '%s' "${CLAUDE_CODE_TASK_LIST_ID}" | tr -d '\n\r' | sed 's/\\/\\\\/g; s/"/\\"/g') task_context="\nYou are resuming work on Task List: ${safe_id}. Use the 'Task' tools to check the status of your research." fi cat <<EOF { "hookSpecificOutput": { "hookEventName": "SessionStart", "additionalContext": "Co-Researcher is active. Core principles:\n1. **Systemic Honesty**: Never fabricate citations, data, or results. If you don't know, state it. Accuracy > Count.\n2. **Skill-First**: Before answering a research question, check the co-researcher skills and follow the matched skill's protocol exactly.\n3. **Methodological Rigor**: Adhere to the standards each skill defines (e.g., PRISMA for reviews, APA for citations).${task_context}" } } EOF exit 0
Read the script before you install anything that runs on your machine. This is the one part of a plugin that acts without being asked.
Co-Researcher is an academic research plugin for Claude Code, Gemini CLI, OpenAI Codex and OpenCode. It runs literature reviews, systematic reviews, peer review and citation checks inside the AI assistant you already use.

