原文(日本語に翻訳)
macOSでバックグラウンドエージェントがSSH経由でコールドスタートする際に「Could not switch to audit session」というエラーで失敗する問題を修正(2.1.196で発生した回帰)
原文(英語)
Fixed background agents failing to cold-start over SSH on macOS with "Could not switch to audit session" (regression in 2.1.196)
概要
macOS環境において、SSH経由でbackground-agentデーモン(およびそのワーカー)が初回起動(コールドスタート)する際に「Could not switch to audit session」というエラーで失敗する問題が発生していました。これはバージョン2.1.196で導入された変更によって生じた回帰(デグレード)で、SSHログインセッションにはmacOSの監査セッション(audit session)が通常のGUIログインとは異なる形で扱われることに起因していました。この修正により、SSH経由でのバックグラウンドエージェントのコールドスタートが正常に行えるようになりました。
基本的な使い方
Before(修正前・2.1.196〜2.1.198相当):
# macOSサーバーへSSHでログインしてバックグラウンドエージェントを起動
ssh user@mac-server
claude --background "テストスイートを実行して"
→ "Could not switch to audit session" エラーで起動失敗After(修正後・2.1.199):
ssh user@mac-server
claude --background "テストスイートを実行して"
→ 正常にコールドスタートし、バックグラウンドエージェントが起動する実践例
リモートのMacをSSH経由でビルド・CIサーバーとして利用する場合
CI用のmacOSマシンにSSHで接続し、バックグラウンドエージェントとしてビルドやテストを実行させる運用では、2.1.196〜2.1.198の環境ではこのエラーによりバックグラウンドエージェントのコールドスタート自体ができない状態でした。2.1.199に更新することで、この運用が再び可能になります。
ヘッドレスなmacOSマシンでの自動化ワークフロー
物理的なログインをせず、SSHのみでアクセスするヘッドレスMac miniなどでbackground-agentデーモンをコールドスタートさせるケースでも、修正後は正常に起動できます。
2.1.196〜2.1.198からのアップグレードを検討している場合
2.1.196で導入された回帰であるため、これらのバージョンをSSH経由のmacOS運用で使っていた場合は、2.1.199以降へのアップデートでこの問題が解消されます。
注意点
- 本問題は「コールドスタート」(デーモンやワーカープロセスが存在しない状態からの初回起動)時に限定して発生していました。既に起動済みのデーモンに対する操作には影響していません。
- 「audit session」はmacOSのセキュリティ監査サブシステムに関連する概念で、SSHセッションとGUIログインセッションとで扱いが異なるため、SSH特有の問題として顕在化していました。
- 2.1.196より前のバージョンではこの問題自体が存在しなかった(回帰前の挙動)ため、影響を受けるのは2.1.196〜2.1.198を利用していたユーザーです。