Session Steward について
Session Steward は、Codex と Claude Code のローカルセッションを管理するツールです。ブラウザー、ターミナル、MCP から複数のワークスペースを確認でき、事前に確認できる計画、ローカルバックアップ、実行後の検証を備えています。
主な機能
- 01複数ワークスペースのセッション検索
- 02メッセージ・ファイル・コマンドの履歴確認
- 03ストレージとトークン使用量の確認
- 04クリーンアップ計画の確認とバックアップ
- 05実行後の検証と復元
活用シーン
- 01非アクティブまたは大容量のセッションを抽出
- 02Codex と Claude Code の古いセッションを整理
- 03削除対象の関連レコードを確認
- 04必要に応じたセッションデータの復元
MCP 対応
ローカル MCP サーバーを通じて、セッションの検索・確認、保持対象の指定、クリーンアップ、バックアップの復元、スケジュール管理をクライアントに提供します。クリーンアップ、復元、スケジュール管理は破壊的操作として扱われます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Session Steward
Session Steward は、Codex と Claude Code 用のローカルセッションマネージャーです。ワークスペース全体から古いセッションやサイズの大きいセッションを見つけ、残す価値があるかを判断し、認識した関連レコードをクリーンアップできます。ブラウザー UI またはターミナル CLI で、あるいは ChatGPT や Claude と MCP を通じて利用できます。
Codex ではセッションを削除でき、Claude Code ではプロジェクトを消去できます。組み込みの削除機能は、削除対象がすでに決まっている場合に役立ちます。両方のツールにまたがる多数のセッションを確認する必要がある場合に、Session Steward が役立ちます。
- ワークスペース全体から、非アクティブまたはサイズの大きいセッションを見つけます。Codex と Claude Code を切り替え、アーカイブ状態、名前、セッション ID で絞り込めます。
- 判断する前にセッションを開きます。最近のメッセージ、ファイル変更、コマンド、コマンド結果を要約したタイムラインに加え、認識されたストレージとトークン使用量を確認できます。
- 先に確認するプランに基づいて、選択したセッションをクリーンアップします。ローカルバックアップ、事後検証、クリーンアップで対応が必要になった場合の復元も含まれます。
Session Steward をローカルで試す
グローバルにインストールせずに、ブラウザーアプリを一度実行して試せます。
Session Steward には Node.js 24.15 以降が必要です。
npx session-steward@latest
ブラウザーアプリは 127.0.0.1 のみで待ち受け、セッションの内容をアップロードしません。

継続して利用する場合は、グローバルにインストールします。
npm install --global session-steward
グローバルインストールにより、4 つのコマンドが利用できます。
| コマンド | 用途 |
|---|---|
session-steward | ブラウザーインターフェース |
session-steward-cli | 対話型ターミナルと JSON 出力 |
session-steward-mcp | MCP セッション管理 |
session-steward-scheduler | セッションの自動クリーンアップ |
Session Steward は macOS、Linux、Windows に対応しています。session-steward を実行すると、ブラウザーインターフェースが開きます。使用中はターミナルを開いたままにしてください。停止するには Ctrl+C を押します。
古い Codex セッションと Claude Code セッション、サイズの大きい Codex セッションと Claude Code セッションを見つける
Session Steward は、Codex と Claude Code がすでに使用しているローカルセッションフォルダーを読み取ります。デフォルトでは ~/.codex と ~/.claude を検索し、同じインターフェースからプロバイダーを切り替えられます。
次の操作ができます。
- 非アクティブ状態、特定のワークスペース、アクティブまたはアーカイブ済みの状態、名前、セッション ID で絞り込みます。
- セッションとワークスペースごとに、認識されたセッション所有のストレージを確認し、サイズで並べ替えます。
- 最近のメッセージ、ファイル変更、コマンド、コマンド結果のセッションタイムラインを参照します。
- 新規入力、キャッシュ済み入力、キャッシュへの書き込み、出力、記録された推論トークンを確認します。
- セッションまたはワークスペースに Keep のマークを付けて、手動およびスケジュールされたクリーンアップの対象から除外します。
ワークスペースに Keep を設定すると、そのフォルダーとその配下のフォルダー、および今後そこで作成されるセッションが対象になります。Keep が影響するのは Session Steward によるクリーンアップのみです。Codex または Claude Code は、引き続き独自のデータを削除できます。
セッションを 1 つずつ削除するだけではだめですか?
ネイティブの削除コマンドは、削除対象がすでに決まっている場合に便利です。ただし、複数のワークスペースを横断して確認し、クリーンアップする作業には対応していません。
セッションには、トランスクリプト以外のデータが含まれる場合があります。プロバイダーやストレージのバージョンによっては、履歴やレジストリエントリー、ログ、チェックポイント、その他の関連レコードも含まれます。JSONL ファイルを手動で削除すると、それらのレコードが残る可能性があります。
Session Steward はファイルパスではなく、セッションを起点に処理します。対応している関連レコードを見つけ、1 つのクリーンアッププランにまとめて表示し、認識できないストレージには手を加えません。古いセッションがすべて安全に削除できると決めつけずに、複数の候補をまとめて確認できます。
ブラウザー、CLI、または MCP を使用する
ブラウザー
次を実行します。
session-steward
Codex または Claude Code を選択し、一覧を絞り込むか検索して、判断に迷うセッションを開いてください。クリーンアップするセッションを選択すると、確認を求める前に、ブラウザーに対象のレコードが表示されます。
ブラウザーを自動的に開かずに起動するには、session-steward --no-open を使用します。ターミナルに表示されたローカルアドレスを開いてください。
ターミナル CLI
対話型ターミナルを起動します。
session-steward-cli
Codex の代わりに Claude Code を使用するか、別のツール向けに限定された JSON の結果を返します。
session-steward-cli --provider claude-code
session-steward-cli --json --limit 10
--inactive-days 60、--archive-status archived、--workspace /path/to/project などのオプションで絞り込みます。タイムラインには --events、トークン使用量には --tokens、サイズの大きいセッションを先に表示するには --sort size を使用します。すべてのオプションを確認するには、session-steward-cli --help を実行してください。
ChatGPT、Codex、または Claude Code と MCP を使用する
ローカル MCP サーバーに一度接続します。
codex mcp add session-steward -- session-steward-mcp
または、Claude Code に接続します。
claude mcp add --scope user session-steward -- session-steward-mcp
レジストリのインストーラーを使うと、グローバルインストールせずに npx session-steward@latest mcp で同じサーバーを起動できます。
クライアントに、非アクティブなセッションの検索、Codex と Claude Code 間で認識されているセッションストレージの比較、セッションの確認、ワークスペースの保持、指定したセッションのクリーンアップ、バックアップの復元、クリーンアップスケジュールの管理を依頼できます。
Session Steward は、クリーンアップ、復元、スケジュール管理を破壊的な MCP アクションとして扱うため、クライアントは設定済みの承認ポリシーを適用できます。
クライアントを閉じた後も、自動クリーンアップはバックグラウンドで続行されます。MCP またはブラウザーからスケジュールを作成、管理できます。Session Steward をアンインストールする前に、スケジューラーを停止してください。
session-steward-scheduler --stop
別の MCP クライアントを使う場合は、session-steward という名前のローカル stdio サーバーを、コマンド session-steward-mcp で設定してください。
MCP プロセスは、Session Steward に保存されたプロバイダーフォルダーを使用します。保存済みのフォルダーがない場合は、デフォルトを使用します。サーバーコマンドでは --codex-home または --claude-home を使って起動時のフォルダーを指定でき、manage_settings ツールでは保存済みのフォルダーを変更できます。ブラウザーまたは CLI で一時的に指定したフォルダーは、その後の MCP プロセスには引き継がれません。
MCP サーバーはローカルで動作しますが、セッションの詳細にはメッセージ、コマンド、ファイル名、ワークスペースのパスが含まれる場合があります。MCP クライアントがその情報を AI プロバイダーに送信することがあります。
削除する前に内容を確認する
手動でクリーンアップする場合:
- セッションを選択します。
- 選択したセッションのうち、まだアクティブな可能性があるものを閉じます。
- Session Steward が作成したクリーンアップ計画を確認します。
- 計画を承認します。
- Session Steward がローカルの復旧用バックアップを作成します。
- 確認済みの計画に含まれる、サポート対象のレコードのみを削除します。
- それらのレコードが削除されたことを確認します。
すべてのインターフェースで、データを変更する前に選択したセッションが再検証されます。Session Steward が選択したセッションのアクティブ状態を検出できる場合、事前チェックまたはクリーンアップは停止します。検出できない場合は、選択したセッションが閉じていることを確認するよう警告します。
標準クリーンアップと徹底クリーンアップ
標準クリーンアップでは、選択したセッションに属する、対応済みのトランスクリプト、履歴、レジストリエントリ、ログ、リンクされたアーティファクトが削除されます。通常はこちらを使用します。
徹底クリーンアップでは、認識された、セッションに属する追加データも削除されます。Codex の場合、対応済みの Desktop リファレンス、メモリー出力、目標レコードが含まれることがあります。Claude Code の場合、認識されたファイルチェックポイントが含まれます。
検出されたストレージ構成が対応していない場合、徹底クリーンアップは利用できません。標準クリーンアップでは、Session Steward が安全に識別できるレコードを削除できます。
バックアップと復元の動作
復元用バックアップは、アクティブなプロバイダーフォルダー内の session-steward-backups/ に保存されます。
ブラウザーまたは対話型ターミナルからのクリーンアップで確認が必要な場合、復元するかどうかを決めるまでバックアップは保持されます。ブラウザーには 復元 が表示され、ターミナルでは restore コマンドで使用するバックアップが報告されます。MCP およびスケジュールされたクリーンアップでは、自動的な復元が試みられます。
クリーンアップが正常に完了すると、Session Steward は可能な場合、復元用バックアップを削除します。復元を行う際は、まず現在のファイルの一時的な安全用バックアップを作成し、復元に成功すると両方のバックアップの削除を試みます。復元またはバックアップの削除を完了できない場合、復元データは保持され、その旨が Session Steward から報告されます。
クリーンアップで変更されないもの
- サインインデータと保存済み API 認証情報
- 設定、プラグイン、キャッシュ、カスタムプロンプトファイル
- プロジェクトファイル、Git リポジトリ、ワークツリー
- 確認済みのクリーンアップ計画に含まれないセッション
- ChatGPT または Claude アカウントに保存された会話
- Claude Code のワークツリー、ブランチ、リポジトリ、リモートセッション、SSH セッション、Cowork データ
プロバイダーフォルダーとプラットフォームのサポート
ブラウザーにはアクティブなプロバイダーフォルダーが表示されます。変更を選択すると、別の既存フォルダーを選択し、以降のブラウザー、ターミナル、MCP セッション用に保存できます。
ブラウザーで一度だけ別のフォルダーを指定するには、次のようにします。
session-steward --codex-home /path/to/.codex
session-steward --claude-home /path/to/.claude
CLI コマンドと MCP コマンドでは、同じフラグを使用できます。フォルダーの指定はそのプロセスにのみ適用され、保存済みのフォルダーは置き換えません。
Codex と Claude Code の CLI セッションは、macOS、Linux、Windows でサポートされています。ローカルの Claude Desktop セッションは、macOS と Windows でもサポートされています。Windows でのデフォルトのプロバイダーフォルダーは %USERPROFILE%\.codex と %USERPROFILE%\.claude です。スタンドアロン版と Microsoft Store 版の両方の Claude Desktop データ保存場所が検出されます。
WSL 内では、Session Steward は Linux のホームフォルダーを使用します。Windows プロファイル内のセッションを管理するには、Windows から実行してください。
Claude Desktop セッションをアーカイブしても、削除はされません。クリーンアップの対象として明示的に含めるまで、引き続き利用できます。Session Steward は Claude のワークツリーを削除しません。
更新またはアンインストール
session-steward update
npm uninstall --global session-steward
npm でルートアクセスが必要な場合、更新コマンドは sudo を使って再試行する前に確認を求めます。
アンインストールしても、プロバイダーのセッション、復元用バックアップ、保存済みのフォルダー設定は削除されません。
トラブルシューティング
- ブラウザーが開かない:
session-steward --no-openを実行してから、ターミナルに表示されたローカルアドレスを開いてください。 - セッションが見つからない: 選択したプロバイダーと表示されたホームフォルダーを確認してください。変更を使用するか、一度だけ適用するホームフォルダーの指定を渡してください。
- 徹底クリーンアップを利用できない: 認識されないストレージは変更されませんが、標準クリーンアップは引き続き利用できる場合があります。
- Node.js のバージョンが古すぎる: Node.js 24.15 以降をインストールし、Session Steward を再度実行してください。
ベンチマーク
Node.js 24.15.0 を搭載した arm64 Mac での現在のベンチマーク結果:
| シナリオ | 規模 | 時間 | 測定されたメモリ増加量 |
|---|---|---|---|
| ページネーションによるセッション一覧表示 | 50,003 セッション | 26 ms | ヒープ 0.16 MB |
| セッションサイズのインデックス作成 | 20,003 セッション | コールド時 85 ms、ウォーム時 9.7 ms | 最大 RSS 30 MB |
| トランスクリプトのみの検出 | 5,003 セッション | 662 ms | ヒープ 4.02 MB |
スケールベンチマークを実行するには:
npm run benchmark:scale
npm run benchmark:overview
npm run benchmark:size
npm run benchmark:discovery
npm run benchmark:transcripts
結果はハードウェア、ディスク速度、セッションの配置によって異なります。テストとベンチマークでは一時的な合成データを使用し、ローカルのセッションを読み取ったり変更したりすることはありません。
サポート
バグの報告、プロバイダーのリクエスト、または Session Steward が認識しないストレージ形式の共有には、GitHub Issues をご利用ください。リリース履歴については、変更履歴をご覧ください。
Session Steward は独立したプロジェクトであり、OpenAI または Anthropic とは提携しておらず、承認も受けていません。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。