Development
Hook
Hooks
What modelharness runs automatically, and when. A hook is a command Claude Code fires at a fixed moment, without you asking for it.
Install
> /plugin marketplace add vitaliikapliuk/modelharness > /plugin install modelharness@modelharness
Ships with modelharness. 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.sh"
Where it lives
- hooks/session-start.shRunsGitHub
Read the script
#!/usr/bin/env bash # SessionStart hook: stdout is appended to Claude's context at session start. set -euo pipefail DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cat "${DIR}/../core/modelharness-core.md"
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.
Ships withmodelharness
Make every model cheaper or better. Measured on four Claude models — none got worse. What it actually is: a zero-config Claude Code plugin.
Get the whole plugin

