まず、この症状は「Claude Code の hook が関係しているらしいが、処理自体は止まらない」タイプではなく、少なくとも issue 上ではもっと厄介に見えます。Windows 環境で hook_non_blocking_error が繰り返し出て、設定した hook コマンドが実行されていないように見える、という報告が上がっています。
報告は 2 件あり、どちらも Windows 上の Claude Code に関するものです。#72636 では「configured hook commands を実行しない。hook runner が git を呼んで失敗を黙って飲み込む」と書かれています。#79847 では、Windows で fg: no job control が hook_non_blocking_error として再発し、同期 hook で繰り返し起きるとされています。
自分の環境で確認できたのは、Claude Code CLI のバージョンと settings.json の構造です。ここから言えるのは、少なくとも hook 設定自体は複数のイベントにまたがって置かれている、ということまでです。
$ claude --version
2.1.207 (Claude Code)
[settings_structure]
~/.claude/settings.json:
permissions: object
allow: array[73]
additionalDirectories: array[3]
model: str
hooks: object
Stop: array[1]
hooks: array[1]
...
PermissionRequest: array[1]
hooks: array[1]
...
PreToolUse: array[1]
matcher: str
hooks: array[1]
...
UserPromptSubmit: array[1]
hooks: array[1]
...
SubagentStop: array[1]
hooks: array[1]
...
effortLevel: str
voiceEnabled: bool
agentPushNotifEnabled: bool
~/git/papoo/newsbot_openai/.claude/settings.json: (存在しない)
~/git/papoo/newsbot_openai/.claude/settings.local.json: (存在しない)
ここで大事なのは、issue 側の観測と合わせると、hook_non_blocking_error は「単発の表示崩れ」ではなく、hook の実行経路そのものに問題がある可能性が高いことです。#79847 のコメントでは、セッションの transcript を調べたところ hook_non_blocking_error の 191 件すべてで stdout が空だったとされています。さらに、同じ設定の中で async: true の hook 呼び出し 9 件ではこのエラーが一度も出ていない、と書かれています。これは、少なくともその報告者の環境では、同期 hook に寄って症状が出ていたことを示しています。
ただし、ここから先は断定できません。自分の検証出力だけでは、あなたの環境で同じことが起きるかは分からないですし、#72636 と #79847 が同じ原因かどうかも、現時点では言い切れません。少なくとも issue 上では、どちらも Windows で hook 実行まわりが壊れて見える、という点は共通しています。
切り分けるなら、次の順で見るのが自然です。
まず、Windows かどうかです。両 issue とも Windows です。次に、同期 hook かどうかです。#79847 の報告では、"type": "command" の同期 hook で再現し、async では出ないとされています。最後に、hook_non_blocking_error が出たときに hook 側の出力が残っているかです。issue のコメントでは、stdout が空だったケースが大量に集計されています。
現時点で確認できる事実だけを並べると、hook_non_blocking_error は少なくとも Windows の Claude Code で起きており、同期 hook と相性が悪そうです。実際の修正方法までは、この材料だけでは書けません。未解決の症状として扱うのが安全です。
claude --version : 2.1.207 (Claude Code)
OS : Darwin 25.3.0 (arm64)
Python : 3.14.2
検証日時 : 2026-08-20T22:38:46+09:00