Skip to content

原文(日本語に翻訳)

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相当):

bash
# macOSサーバーへSSHでログインしてバックグラウンドエージェントを起動
ssh user@mac-server
claude --background "テストスイートを実行して"
 "Could not switch to audit session" エラーで起動失敗

After(修正後・2.1.199):

bash
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を利用していたユーザーです。

関連情報