Claude Code Agent TeamsはZellijに未対応 — 現状と回避策
Agent Teamsのsplit-paneが対応するのはtmuxとiTerm2だけで、Zellijは2026年3月からfeature requestのままです。ZellijでのふるまいとシムのしくみをIssueから読み解きます。
Zellijでは何が起きるか
Agent Teamsのsplit-pane表示が使えるのは、tmuxとiTerm2(it2 CLI付き)です。Zellijでのsplit-pane対応は、2026年3月7日に立てられたfeature requestのまま進んでいません。
Claude CodeをZellij内で使うとき、Agent Teamsはin-processで動きます。in-processはどの端末でも動くと公式にあります。teammateは専用ペインではなく、メインターミナルのエージェントパネルに並びます。このほか、in-process特有の制約があります(後述)。
Zellijで選べる3つの使い方
in-processのまま使う
既定の表示です。上下矢印でteammateを選び、Enterでやり取りします。どの端末でも動きます。再開やバックグラウンドのsubagentには制約があります。
tmuxセッションで使う
split-pane表示を使いたいときの公式の経路です。ZellijをやめてtmuxかiTerm2に移ります。
シムで偽装する
tmuxのふりをさせてZellij上でsplit-paneを出す非公式の方法です。Claude Codeの更新で壊れる前提で使います。
split-paneが出ない理由はteammateModeの仕様にある
表示モードはteammateModeで決まります。値は4つあり、Zellijに関わるのは判定の条件です。
| 値 | split-paneになる条件 |
|---|---|
in-process(既定) | split-paneになる条件ならない。どの端末でも動く |
auto | split-paneになる条件tmuxの中で起動したとき、またはiTerm2でit2がPATHにあるか、tmuxが入っているとき |
tmux | split-paneになる条件tmuxまたはiTerm2を端末から判定して使う |
iterm2 | split-paneになる条件iTerm2のネイティブ分割(it2 CLI必須) |
autoの条件にZellijはありません。Zellijセッションの中でautoにしても、その外側がtmuxでもiTerm2でもなければin-processで動きます。設定したのにペインが分かれないときは、まずこの条件を疑います。
条件の書き方はページごとにわずかに違います。Agent Teamsのページは「tmux、またはiTerm2でit2が入っている場合」、設定リファレンスは「iTerm2でit2がPATHにあるかtmuxが入っている場合」です。iTerm2を使う人だけに効く差です。
iTerm2のネイティブ対応は、v2.1.186(2026年6月22日)のteammateMode: "iterm2"で入りました。it2 CLIの導入と、iTerm2側のPython API有効化(Settings → General → Magic)が前提です。非対応の端末はVS Code統合ターミナル、Windows Terminal、Ghosttyと明記されています。
手元の確認(v2.1.287)
--teammate-modeフラグは、公式docsに「実験的でclaude --helpには出ない」とあります。v2.1.287の--helpを確かめると、teammateを含む行は0件でした。
claude --version
claude --help | grep -c -i teammate2.1.287 (Claude Code)
0フラグを一時的に試したいときはclaude --teammate-mode autoのように渡します。この値は設定ファイルのteammateModeより優先されます。
Agent Teamsの有効化とin-processの制約
Agent Teamsは実験的機能で、既定では無効です。CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1を設定ファイルか環境変数に入れないと、セッション開始時にチームが組まれません。Claudeはteammateを起動も提案もしません。ペインが分かれない原因を探す前に、まずここを見ます。
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
},
"teammateMode": "in-process"
}in-processのteammateには、split-paneにない制約があります。/resumeと/rewindではteammateが復元されません。再開後にリードが、すでに存在しないteammateへメッセージを送ろうとすることがあります。teammateが起動するsubagentはフォアグラウンドで動きます。定義にbackground: trueがあるとエラーになります。
agent定義の扱いも違います。in-processでは定義の本文が既定のシステムプロンプトに追記され、mcpServers欄は無視されます。MCPサーバーはプロジェクトとユーザーの設定から読まれます。split-paneのteammateでは、本文が既定のプロンプトの代わりに使われます。
Zellijではペインが分かれないので、エージェントパネルがteammateへの窓口になります。挙動を知っておくと迷いません。アイドルのteammateの行は、パネル全体がアイドルになって30秒後に隠れ、次のターンで戻ります。アイドルが3体を超えると、余りはN idle agentsの1行にまとまり、Enterで展開できます。行が消えても、teammateは停止していません。隠れただけです。選んだteammateはxで止め、Ctrl+Tでタスクリストを切り替えます。
コスト面では、in-processのteammateのリクエストはメイン会話のキャッシュTTLの枠に入りません。保持は既定で5分で、Claudeのサブスクリプションでも同じです。1時間にしたいときは、subagentPromptCacheTtlを1hにします。
split-paneを待たずに済ませる方法もあります。サブエージェントは1セッションの中で完結します。別々に動かしたセッション同士は、クロスセッションメッセージで結果を渡せます。Gitワークツリーを使えば、チーム調整なしで複数のClaude Codeセッションを自分で動かせます。Zellijに手でセッションを並べる人は、この方法でsplit-paneなしに作業を進められます。
Zellij対応のfeature requestは何を求めているか
Issue #31901のタイトルは「Native Zellij support as alternative to tmux for Agent Teams and /terminal-setup」で、ラベルはenhancement area:tui area:agents、状態はopenです。要望は3点あります。
- Agent Teamsのteammate起動先として、tmuxの代わりにZellijを使えるようにする
/terminal-setupの対応端末一覧にZellijを加える- ZellijがサポートするKitty keyboard protocolを正しく扱う
提案された実装は、tmuxを$TMUXで検出しているのと同じ要領で$ZELLIJを検出する形です。zellij action new-tab --name <agent>とzellij action write-charsでteammateを起動し、独立したコマンドの実行にはzellij run --を使います。
反応は増え続けています。2026年7月5日のコメントでは👍が53件でしたが、その後も増えています。コメントは3件で、動機はそれぞれ違います。
Issue #31901の動き
- 2026-03-07Issueが立つ
Issue作者は、自作プラグイン
zellij-workflowを挙げ、Zellijがzellij action系のCLIで操作しやすいことを根拠に提案しています。 - 2026-04-01レイアウト面の要望と、シムの紹介
tmuxを使うある利用者は、
select-layoutが正しいチェックサムのレイアウト文字列を要求するため、5〜7体のエージェントを並べる配置を組むのに手間取ると述べています。ZellijならKDL形式のレイアウトファイルで「メイン1カラム+2×3グリッド」を宣言的に書けるという主張です。同日のうちに別の参加者が、tmuxコマンドをzellij actionに翻訳する第三者公開のシムを紹介しています。 - 2026-06-22iTerm2が公式対応
v2.1.186で
teammateMode: "iterm2"が入ります。 - 2026-07-05Ghosttyユーザーの視点
Ghosttyはsplit-pane非対応で、tmuxからZellijに乗り換えた人にとっては、Zellij経由がsplit-paneチームに至る唯一の経路だと述べています。約10のリポジトリをまたいでZellijを使う日常のため、in-processへのフォールバックでは機能の主な価値を失うとのことです。
2つのコミュニティ製ツールは役割が違う
Issueに出てくる統合は2つあり、役割が違います。取り違えると期待した結果になりません。
zellij-workflowは、Issue作者が公開している第三者のClaude Codeプラグインです。MITライセンスで、公式の保証はありません。導入は/plugin installで、Issue作者のマーケットプレイスを指定します。できるのはZellijのタブやペインを作ること、タブ名に状態アイコン(準備完了・作業中・入力待ち・圧縮中)を出すことです。アイコンはPreToolUse・PostToolUse・Stopのフックとwasmプラグインで更新されます。コマンドは/run-in-new-tabと/start-issue-in-new-tabで、Agent Teamsのteammateを分割表示する機能ではありません。Zellijで複数のClaude Codeセッションを手で並べる人のための道具です。
split-paneをZellijで出すのは、tmuxコマンドをzellij actionに翻訳するシムのほうです。第三者が公開しているもので、tmux前提の判定を通します。コメント投稿者は、これでsplit-paneが動いたと報告しています。
シムが無理をしている点
7月5日のコメントは、シムの内部を具体的に挙げています。
つまり、tmux向けのコマンドが上流で変わるたびに壊れることがある作りです。同じコメントも「新しいtmuxコマンドが上流に入ると、Zellijユーザー全員のteammateが静かに壊れる」と懸念しています。CIや本番相当のワークフローに組み込む前に、単発のテストタスクで確かめるのが現実的です。
見る点は3つです。ペインがteammateの終了後に閉じるか。teammateが増減しても配置が崩れないか。in-processのときと同じ結果が返るか。
Zellij対応はなぜ止まっているのか
コメントは「実装の大半は回避策を消す作業」と見ています。ただ、これは投稿者側の見立てで、Anthropicからの返信はIssueに付いていません。
よくある質問
Zellijを使っていてもAgent Teamsの機能は同じですか
メッセージの送受信と共有タスクリストの使い方は同じです。違うのは見え方で、ペインが分かれずエージェントパネルで切り替えます。制約は前述のin-processの節のとおりです。
/terminal-setupでZellijのShift+Enterは有効になりますか
/terminal-setupの対象一覧にZellijは含まれません。tmuxの設定はClaude Code tmux設定にあります。Ctrl+Jまたは\とEnterは、どの端末でも設定なしで改行になります。
まとめ
Zellijユーザーの判断材料は2つあります。in-processでは/resumeと/rewindでteammateが戻らないこと。シム経由のsplit-paneは、tmuxコマンドの変更で静かに壊れることがあることです。この2点が許容できるかで、表示方法が決まります。表示モードの設定はteammateMode、動かないときの切り分けはAgent Teamsのトラブルシューティングにあります。