## 経緯
[[Claude Code]]を解約して[[Codex CLI]]に移行したので、[[Codex CLI]]でも以下のような対応をしたい。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" />
<span class="link-card-v2-site-name">Minerva</span>
</div>
<div class="link-card-v2-title">
📜2025-07-02 Claude Codeで人間が確認待ちの状態になっている場合に通知させる
</div>
<div class="link-card-v2-content">以前、Claude Codeの作業完了時にGhosttyのOSC 9シーケンスやAppleScriptで通知を試みたが安定しなかったため、Hooks機能とAppleScriptによるmacOS通知を設定した。通知の挙動やトラブル時の対処法も記載した。環境はmacOS 15.5、Ghostty 1.1.4、Claude Code 1.0.40で確認した。</div>
<img class="link-card-v2-image" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/activity.webp" />
<a data-href="📜2025-07-02 Claude Codeで人間が確認待ちの状態になっている場合に通知させる" class="internal-link"></a>
</div>
%%[[📜2025-07-02 Claude Codeで人間が確認待ちの状態になっている場合に通知させる]]%%
以下の記事が良さそうだったので真似てみる。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://blog.lai.so/content/images/size/w256h256/2025/03/my-github-icon-2024.png" />
<span class="link-card-v2-site-name">laiso</span>
</div>
<div class="link-card-v2-title">
新Codex CLIの使い方
</div>
<div class="link-card-v2-content">
GPT-5の公開(2025年8月7日)に合わせ、Codex CLIがChatGPTのPlusやProサブスクリプションに追加料金なしで利用可能になりました。これによりAPI課金を使わずに導入できるようになり、新規ユーザーが増 ...
</div>
<a href="https://blog.lai.so/codex-rs-intro/"></a>
</div>
## 環境
| 対象 | バージョン |
| ------------- | ------ |
| [[macOS]] | 15.7 |
| [[Ghostty]] | 1.2.0 |
| [[Codex CLI]] | 0.39.0 |
## 設定の追加
`~/.codex/config.toml` に `notify` を追加する。`★` のところだけでOK.
```toml
network_access = true
model = "gpt-5-codex"
# ★これを追加
notify = ["bash", "/Users/tadashi-aikawa/.codex/notify_macos.sh"]
[tools]
web_search = true
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp@latest"]
```
`~/.codex/notify_macos.sh` の中身。
```bash
#!/bin/bash
# JSONから最後のエージェント発言を抽出
LAST_MESSAGE=$(echo "$1" | jq -r '.["last-assistant-message"] // "Codex task completed"')
# osascriptで通知表示
osascript -e "display notification \"$LAST_MESSAGE\" with title \"Codex\""
# 音
afplay /System/Library/Sounds/Blow.aiff
```
> [!question]- ホームディレクトリはベタ書きするしかないのか?
> `~/` や `${HOME}/` は認識しない。[[Bash]]に環境変数渡せばいけるのかもしれないが、ベタ書きで問題ないならこの方が楽。
> [!unresolved]
> `config.toml` をバージョン管理したいが、`projects` の `trust_level` なども含められているのが微妙なので、以下のissueが対応されてから。
>
> - [Per-project config · Issue #3120 · openai/codex](https://github.com/openai/codex/issues/3120)
## トラブルシューティング
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" />
<span class="link-card-v2-site-name">Minerva</span>
</div>
<div class="link-card-v2-title">
📝ターミナルからosascriptで通知しようとしても何も起こらない
</div>
<div class="link-card-v2-content">macOS 15.5やGhosttyでosascript display notificationコマンドを実行しても通知が表示されない場合の対処法である。おやすみモードやスクリプトエディタの通知設定が原因であることが多い。</div>
<img class="link-card-v2-image" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/troubleshooting.webp" />
<a data-href="📝ターミナルからosascriptで通知しようとしても何も起こらない" class="internal-link"></a>
</div>
%%[[📝ターミナルからosascriptで通知しようとしても何も起こらない]]%%
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" />
<span class="link-card-v2-site-name">Minerva</span>
</div>
<div class="link-card-v2-title">
📝Codex CLIでAIの回答・作業が完了しても通知されない
</div>
<div class="link-card-v2-content">Codex CLIでnotifyによる通知が動作しない場合、config.tomlの記載位置が誤っているとグローバル設定と認識されず通知されない。エラー表示もなく、正しい位置にnotifyを記載することで解決できる。macOSやGhostty環境で発生する事象である。</div>
<img class="link-card-v2-image" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/troubleshooting.webp" />
<a data-href="📝Codex CLIでAIの回答・作業が完了しても通知されない" class="internal-link"></a>
</div>
%%[[📝Codex CLIでAIの回答・作業が完了しても通知されない]]%%
## 参考
- [Codex CLIを使いこなすための機能・設定まとめ](https://zenn.dev/dely_jp/articles/codex-cli-matome)