よくある質問
PRECCは安全ですか?
はい。PRECCはClaude Code公式のPreToolUseフックメカニズムを使用しています。Anthropicがまさにこの目的のために設計した拡張ポイントです。フックは:
- 完全にオフラインで動作(ホットパスでのネットワーク呼び出しなし)
- 5ミリ秒未満で完了
- フェイルオープン:問題が発生した場合、元のコマンドがそのまま実行される
- コマンドを変更するだけで、自ら実行することはない
- データはローカルのSQLiteデータベースに保存
PRECCは他のAIコーディングツールで動作しますか?
PRECCはClaude Code専用に設計されています。Claude Codeが提供するPreToolUseフックプロトコルに依存しています。Cursor、Copilot、Windsurf、その他のAIコーディングツールでは動作しません。
テレメトリはどのようなデータを送信しますか?
テレメトリはオプトインのみです。有効にすると送信されるもの:
- PRECCバージョン、OS、アーキテクチャ
- 集計カウント(インターセプトされたコマンド、アクティブ化されたスキル)
- 平均フックレイテンシ
コマンドテキスト、ファイルパス、プロジェクト名、個人を特定できる情報は送信しません。オプトイン前に precc telemetry preview で正確なペイロードを確認できます。詳細はテレメトリを参照。
PRECCをアンインストールするには?
PRECC is fully reversible — remove it in three steps:
-
フック登録を削除:
# Delete the hook entry from Claude Code's settings # (precc init added it; removing it disables PRECC) -
バイナリを削除:
rm ~/.local/bin/precc ~/.local/bin/precc-hook ~/.local/bin/precc-learner -
データを削除(任意):
rm -rf ~/.local/share/precc/ rm -rf ~/.config/precc/
ライセンスが期限切れになりました。どうなりますか?
PRECCはCommunityティアに戻ります。すべてのコア機能は引き続き動作します:
- 組み込みスキルはアクティブのまま
- フックパイプラインは正常に動作
precc savingsはサマリービューを表示precc ingestとセッションマイニングは動作
Pro機能は更新まで利用できなくなります:
precc savings --all(詳細な内訳)precc compressprecc gifprecc ghaprecc geofence- メールレポート
フックが動作していないようです。どうやってデバッグしますか?
Run precc doctor first — it automates every check below. To diagnose by hand:
-
フックが登録されていることを確認:
precc init -
フックを手動でテスト:
echo '{"tool_input":{"command":"cargo build"}}' | precc-hook -
バイナリがPATHにあることを確認:
which precc-hook -
~/.claude/settings.jsonのClaude Codeフック設定を確認。
PRECCはClaude Codeを遅くしますか?
いいえ。フックは5ミリ秒未満(p99)で完了します。Claudeが推論と応答生成に費やす時間と比べると知覚できません。
CI/CDでPRECCを使用できますか?
PRECCはインタラクティブなClaude Codeセッション向けに設計されています。CI/CDでは、フックするClaude Codeインスタンスがありません。ただし、precc gha はどの環境からでも失敗したGitHub Actionsの実行を分析できます。
マイニングされたスキルと組み込みスキルはどう違いますか?
組み込みスキルはPRECCに同梱され、一般的な間違ったディレクトリパターンをカバーします。マイニングされたスキルはあなたの特定のセッションログから学習されます。両方ともSQLiteに保存され、フックパイプラインで同一に評価されます。
スキルをチームと共有できますか?
はい。precc skills export NAME でスキルをTOMLにエクスポートしてファイルを共有できます。チームメンバーは skills/ ディレクトリに配置するか、ヒューリスティクスデータベースにインポートできます。
Why do I see zero tokens saved?
If precc savings reports 0 tokens despite an active Claude Code session burning input/output tokens, the hook is not firing. Three causes account for almost every reported instance:
-
You are on v0.3.42 or v0.3.43. These releases shipped a data-path regression where the hook wrote metrics to a directory that the CLI then read from a different directory — both ran, but the savings number stayed at 0. Fixed in v0.3.44 (data paths routed through
db::data_dir()). Upgrade with:precc update -
Your
settings.jsonis missing the hook entry. Runprecc doctor(available in v0.3.53+). It checks each precondition of the hot path — settings file, hook entry, binary on$PATH, heuristics DB, recent invocations — and reports the first one that fails:precc doctorIf doctor is not available because you are on an older release, run
precc initto (re)register the hook. -
Your session has not yet hit a skill trigger. PRECC only intercepts Bash commands matching one of the active skills. If your session has been pure file editing or pure web fetching against domains not covered by
webfetch-opencli, you have not yet given the hook anything to compress or rewrite. This is normal. Runprecc skills listto see what triggers exist.
If after upgrading and running precc doctor you still see zero savings, file an issue at https://github.com/peri-a-i/precc-cc/issues with the output of precc doctor.
My MCP server (e.g. lean-ctx) is pegging CPU. How do I kill it safely without taking Claude Code down with it?
PRECC does not ship or supervise MCP servers — but this is a recurring trap because some MCP binaries (notably lean-ctx) are also invoked as per-Bash-tool-call wrappers by the Claude Code harness, not just as long-running servers. A naive pkill <name> then matches many short-lived wrappers in addition to the server.
Identify the runaway PID, do not kill by name:
pgrep -f "^lean-ctx$" \
| xargs -I{} ps -o pid,%cpu,etime,args -p {} \
| sort -k2 -nr | head -3
The top row is the long-running server (large etime, high %cpu). Send SIGTERM to only that PID:
kill -TERM <pid>
Avoid these forms, all of which can also kill Claude Code or break in-flight tool calls:
pkill lean-ctx— matches transientlean-ctx -c <cmd>wrappers spawned per Bash tool call.pkill -9 -f lean-ctx— same broad match, plus ungraceful exit leaves the MCP stdio half-open.pkill -g <pgid>/kill -- -<pgid>— kills the whole process group, which includesclaudeitself when the MCP server shares a session with it.
If after a clean SIGTERM the server does not exit within a few seconds, escalate with kill -KILL <pid> on the same single PID (still not by name). Claude Code will lose those MCP tools until you restart it; it should not exit on its own.
This advice is independent of PRECC — but PRECC users frequently run lean-ctx, so it is worth documenting here.
What is OpenCLI and do I need it?
OpenCLI is a third-party Node.js tool that turns ~148 websites into structured-output CLI commands (opencli hackernews top, opencli reddit search <q>, opencli arxiv search <q>, …). PRECC ships two built-in skills that work with it:
webfetch-opencli-hint— fires oncurl/wget/http/fetchagainst any of 11 OpenCLI-supported domains andsuggest_fix-es the equivalentopencli <site> …command. Suggestion only; never modifies the command.webfetch-opencli-hackernews— auto-rewritescurl|wget news.ycombinator.comtoopencli hackernews topwith an inlinecommand -v openclifallback to the original command if OpenCLI isn’t installed.
You don’t need OpenCLI for PRECC to work. The hint skill costs nothing; the auto-rewrite skill is safe to ship default-on because of the fallback.
If you want OpenCLI’s WebFetch token savings, install it with:
precc init --opencli
That runs npm install -g @jackwener/opencli (Node.js 20+ required). For cookie-reuse on logged-in pages, also install OpenCLI’s Chrome extension separately — see the project README. The extension requests broad permissions (debugger, <all_urls>, cookies); review them before installing.
precc doctor reports OpenCLI’s presence on $PATH as an informational line:
i opencli: installed (webfetch-opencli skills will auto-rewrite)
or
i opencli: not installed (run `precc init --opencli` if you want WebFetch token savings)
Never marks doctor as failing — the integration is fully opt-in.