Matches all tools
Hooks run on every tool call, not just specific ones
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.
AI engineering intelligence for Plouto. Workspace observability and policy push-down for AI coding agents — see what your team actually spent on Claude Code, push down a recommended model strategy, track compliance and effect.
One line, cross-agent (Claude Code, Cursor, Codex):
npx plugins add PloutoAI/plouto-plugin
The runner auto-detects which agent tools you have on PATH and installs Plouto into each. Restart your agent to load.
After install, drop your workspace credentials into the agent's environment (find them in your dashboard under Connect):
export PLOUTO_API_URL=https://api.plouto.ai
export PLOUTO_TOKEN=<your-bearer-token>
Legacy SCALENE_API_URL / SCALENE_TOKEN are honored as fallbacks.
That's it. The plugin registers SessionStart, PreToolUse, SessionEnd and StopFailure hooks. Each Claude Code session auto-syncs when it ends.
If you'd rather install through Claude Code's native marketplace flow:
/plugin marketplace add PloutoAI/plouto-plugin
/plugin install plouto
Same plugin, slightly more keystrokes.
| Hook | What it does |
|---|---|
SessionStart | Fetches the workspace's recommended-model strategy, writes it to .claude/settings.local.json for the next session, and flags an in-session mismatch. |
PreToolUse | When the active model is off-policy, surfaces a non-blocking dialog explaining the recommendation. The user can Allow (logged as off-policy) or Deny (and /model-switch). |
SessionEnd | Reads the session's JSONL and POSTs metadata (no prompt text, no tool args, no file contents) to the Plouto dashboard. |
StopFailure | Records rate-limit hits so the dashboard can show Claude Code outage exposure. |
There's also a /plouto slash command for setup, manual sync, audit, and dashboard links.
The sync script runs entirely on your machine. Only metadata crosses the network:
| Exported | Never exported |
|---|---|
| Session ID, timestamps | Prompt text |
| Token counts (input / output / cache) | Response text |
Model id (e.g. claude-opus-4-7) | File contents |
Tool name (e.g. Edit, Bash) | Tool inputs or outputs |
| Stop reason, content block types | Thinking blocks |
| Git branch, project path | Any conversation content |
The privacy whitelist is enforced on your machine, not the server. The sync script is stdlib Python with zero dependencies. Audit it under plouto/bin/.
The plugin pings ${PLOUTO_API_URL}/api/ingest/event on session start, on session end (full sync), and on rate-limit stop. The pings always include the session id and timestamp; the SessionEnd path additionally posts the privacy-bounded metadata above. Disable by unsetting PLOUTO_TOKEN.
npx claudepluginhub ploutoai/plouto-plugin --plugin ploutoAI coding scorecard — auto-sync Claude Code sessions to getscalene.com
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Memory compression system for Claude Code - persist context across sessions
Editorial "Web Designer" bundle for Claude Code from Antigravity Awesome Skills.
Complete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, and rules evolved over 10+ months of intensive daily use