あなたの作業をマップに加える
Claude Code の設定に3つの hook を追加すると、セッションの開始、送信したメッセージ、ターンごとのトークン数が匿名で記録されます。セッション数だけでなく、長い作業の中の実際の負荷もマップに反映されます。参加は任意で、数行削除すれば無効になります。
1. hook をインストール
方法 A:Claude Code に任せるいちばん簡単
プロンプトをコピーして Claude Code に送ってください。エージェントがスクリプトをダウンロードして内容を見せ、設定をバックアップし、古い Hourglyph の hook があれば置き換え、新しいエントリを既存の設定にマージして diff を表示します。ファイルを書き込む前に Claude Code が許可を求めます。
このマシンの Claude Code に Hourglyph の hooks を設定してください(https://hourglyph.github.io/ja/setup/)。
目的:セッションの開始時刻、メッセージを送信した時刻、ターンごとのトークン数を、ピーク時間マップに匿名で送信すること。メッセージのテキスト、応答、コード、パスは送信しません。
手順:
1. スクリプトをダウンロードし、先に進む前に内容をすべて見せてください:
mkdir -p ~/.claude/hooks && curl -fsSL https://hourglyph.github.io/hook/hourglyph.sh -o ~/.claude/hooks/hourglyph.sh
(GitHub のソース:https://github.com/hourglyph/hourglyph.github.io/blob/main/public/hook/hourglyph.sh)。イベント名と4つのトークン数を送る以外に何もしていないことを確認してください。
2. ~/.claude/settings.json を読み込みます(ファイルがなければ {} とみなす)。ファイルがある場合は、まず ~/.claude/settings.json.bak にバックアップしてください。
3. 重複しないよう、hooks から古い Hourglyph のエントリ("hourglyph.sh" / "rpc/checkin" を含むコマンド)をすべて削除してください。
4. 上書きではなくマージしてください。ほかの設定と hook はすべて残し、hooks.SessionStart・hooks.UserPromptSubmit・hooks.Stop の各配列(なければ作成)に次の要素をそのまま追加します:
{
"SessionStart": [
{
"matcher": "startup",
"hooks": [
{
"type": "command",
"command": "sh \"$HOME/.claude/hooks/hourglyph.sh\" session",
"async": true
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "sh \"$HOME/.claude/hooks/hourglyph.sh\" message",
"async": true
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "sh \"$HOME/.claude/hooks/hourglyph.sh\" stop",
"async": true
}
]
}
]
}
5. 有効な JSON としてファイルを書き戻し、読み直してパースできることを確認してください。
6. curl と awk が使えるか確認してください(command -v curl awk)。
7. diff を見せ、すべてを削除する方法を教えてください:settings.json からこの3つのエントリを消し、~/.claude/hooks/hourglyph.sh ファイルを削除する。またはコマンド1つで:curl -fsSL https://hourglyph.github.io/hook/uninstall.sh | sh
それ以外は何も変更しないでください。データは次の新しいセッションから送信されます。方法 B:手動で設定
スクリプトをダウンロードします(GitHub でソースを見る、sh + awk で65行):
mkdir -p ~/.claude/hooks && curl -fsSL https://hourglyph.github.io/hook/hourglyph.sh -o ~/.claude/hooks/hourglyph.sh次に hooks ブロックを ~/.claude/settings.json に追加します(既存のものがあればマージ)。rpc/checkin を使う古い hook があれば削除してください。
{
"hooks": {
"SessionStart": [
{
"matcher": "startup",
"hooks": [
{
"type": "command",
"command": "sh \"$HOME/.claude/hooks/hourglyph.sh\" session",
"async": true
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "sh \"$HOME/.claude/hooks/hourglyph.sh\" message",
"async": true
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "sh \"$HOME/.claude/hooks/hourglyph.sh\" stop",
"async": true
}
]
}
]
}
}2. 送信される内容
| Hook | タイミング | 送信内容 |
|---|---|---|
SessionStart | 新しいセッションの開始 | {"p_event":"session"} |
UserPromptSubmit | メッセージを送信したとき | {"p_event":"message"} — テキストなし |
Stop | Claude が応答を終えたとき | 4つの整数:入力・出力・キャッシュ書き込み・キャッシュ読み取りのトークン数 |
- トークン数は、Claude Code が hook に渡すトランスクリプトファイルからスクリプトがローカルで集計します。外部に出るのは合計値だけで、テキスト、コード、パス、セッション ID は送信されません。
- すべての hook はバックグラウンド(
async: true)でタイムアウト5秒で動くため、Claude Code が遅くなることはありません。出力は破棄され、モデルのコンテキストには何も入りません。 - 時間帯・曜日・国はサーバー側で付与します(国はネットワークが接続に付けるヘッダーから判定)。IP アドレスは保存しません。
- スクリプト内のキーは Supabase の公開(publishable)キーです。イベントの送信しかできず、生データは読めません。ネットワークごとのイベント数には上限があります(下の注意事項を参照)。
3. 動作確認
新しいターミナルで claude を起動してメッセージを送り、1分ほど待ってからマップを開くと、メッセージとトークンのカウンターが増えています。有効な hook は /hooks コマンドで確認できます。
無効にする方法
コマンド1つで ~/.claude/settings.json から Hourglyph のエントリだけを削除し(バックアップは settings.json.hourglyph-bak)、スクリプト本体も削除します。ほかの hook や設定はそのまま残ります。GitHub でソースを見る。
curl -fsSL https://hourglyph.github.io/hook/uninstall.sh | shpython3 か node が必要です。どちらもない場合は何も変更せず、手動で削除すべき箇所を表示します。
または Claude Code に頼む
このマシンの Claude Code から Hourglyph の hooks を削除してください(https://hourglyph.github.io/ja/setup/)。
1. ~/.claude/settings.json を ~/.claude/settings.json.hourglyph-bak にバックアップしてください。
2. hooks から Hourglyph のエントリ("hourglyph.sh" / "rpc/checkin" を含むコマンド)だけを削除してください。ほかの hook と設定はそのまま残し、空になったグループやイベントは削除します。
3. 有効な JSON としてファイルを書き戻し、読み直してパースできることを確認してください。
4. ~/.claude/hooks/hourglyph.sh ファイルを削除してください。
5. diff を見せてください。手動で削除
~/.claude/settings.json から hourglyph.sh を含む3つのエントリを削除し、~/.claude/hooks/hourglyph.sh ファイルも削除してください。送信済みのデータは匿名で、あなたとは結び付いていません。
注意事項
sh・awk・curlが必要です。macOS、Linux、WSL には標準で入っています。WSL のない Windows では Claude Code が Git Bash で hook を実行し、そこにも3つとも含まれています。- 特定のプロジェクトの作業だけを記録したい場合は、同じブロックをそのリポジトリの
.claude/settings.jsonに置いてください。 - 1つのネットワークから受け付けるのは、1分あたりセッション開始8回、メッセージまたはターン30件までです。複数のプロジェクトを同時に進めても十分な量です。
- 設定は面倒?トップページの「今 Claude Code を使っています」ボタンを押すだけでも参加できます。
- Hooks のドキュメント:code.claude.com/docs/en/hooks。