インストール - Zed

2026年2月21日 (土) 16:31時点におけるWiki (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

概要

Zedは、人間やAIとの高性能なコラボレーションを実現するために設計された次世代コードエディタである。
Atomエディタの共同創設者であるNathan Sobo氏らによって開発されており、複数のCPUコアとGPUを効率的に活用するために、Rustで記述されている。

Zedの主な特徴として、高速性と軽量性が挙げられる。
エディタのコア部分はRustで記述されており、パフォーマンスを重視して設計されている。
また、モダンなユーザインターフェースを採用しており、使いやすさも追求している。

Zedは協調作業に焦点を当てており、リアルタイムでの共同編集機能を備えている。
これにより、複数の開発者が同時に同じコードベースで作業することが可能になる。

AIアシスタント機能も統合されており、コーディング中に支援を受けられるようになっており、コードの補完・提案、エラーの検出等に便利である。
今後リリースされるLLMをワークフローに統合して、コードの生成、変換、解析を行うこともできる。


Zedエディタは、複数のLLMプロバイダと連携可能なAI機能を備えており、LLMの利用方法は大きく以下の3つに分類される。

  • Zedホスト型モデル
    Zedのサブスクリプション (Pro等) を通じて提供されるモデル群
    認証とサブスクリプションが必要となる。

  • 自前のAPIキーによる接続
    Anthropic、OpenAI、Google等の各プロバイダから直接APIキーを取得して、Zedに登録して使用する方式
    サブスクリプションは不要

  • 外部エージェント (ACP)
    Claude Agent (Claude Code)、Gemini CLI、OpenCode等を、ACP (Agent Client Protocol) 経由でZedのAgent Panel内から直接実行する方式


前提条件

  • Zedエディタのバージョン
    最新の安定版を推奨する。ACP機能 (Claude Agent連携等) はバージョン 0.202.7以降で利用可能である。

  • APIキーの取得
    Claudeを利用する場合は Anthropic Console からAPIキーを取得する。
    例えば、GLMを利用する場合は、Z.AI (旧 bigmodel.cn) からAPIキーを取得する。

  • 設定ファイルの場所
    Zedの settings.jsonファイル は、コマンドパレットから zed: open settings を実行することで開くことができる。



Zedのインストール

インストールスクリプトを使用してインストール (推奨)

Zedをインストールする。

# 安定版
curl -f https://zed.dev/install.sh | sh
# プレビュー版
# 安定版より約1週間早くアップデートが行われている
curl -f https://zed.dev/install.sh | ZED_CHANNEL=preview sh


ただし、以下に示すLinuxディストリビューションおよびアーキテクチャは、ソースコードからビルドする必要がある。

  • x64またはAarch64以外のアーキテクチャ (例: x86, RISC-V)
  • 全てのアーキテクチャ上のRHEL 8.x系 (例: RHEL 8, Rocky Linux 8、AlmaLinux 8、Amazon Linux 2等)
  • AArch64上のRHEL 9.x系 (例: RHEL 9, Rocky Linux 9、AlmaLinux 9、Amazon Linux 2023等)


手動でインストール

この方法は、x64およびAarch64のみ可能である。

Zedの公式Webサイトにアクセスして、Zedをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf zed-linux-<アーキテクチャ>.tar.gz


解凍したディレクトリを任意のディレクトリに配置する。

mv zed-linux-<アーキテクチャ> <任意のディレクトリ>


デスクトップエントリファイルを作成する。

vi ~/.local/share/applications/Zed.desktop


 # ~/.local/share/applications/Zed.desktopファイル
 
 [Desktop Entry]
 Version=1.0
 Type=Application
 Name=Zed
 GenericName=Text Editor
 Comment=A high-performance, multiplayer code editor.
 TryExec=/<Zedのインストールディレクトリ>/bin/zed
 Exec=/<Zedのインストールディレクトリ>/bin/zed %U
 Icon=/<Zedのインストールディレクトリ>/share/icons/hicolor/512x512/apps/zed.png
 Categories=Utility;TextEditor;Development;IDE;
 Keywords=zed;
 MimeType=text/plain;application/x-zerosize;x-scheme-handler/zed;
 StartupNotify=true
 Actions=NewWorkspace;

 [Desktop Action NewWorkspace]
 Exec=/<Zedのインストールディレクトリ>/bin/zed --new %U
 Name=Open a new workspace


Zedの起動時において、以下に示すようなエラーが出力される場合は、Zedをソースコードからインストールする。
このエラーは、システムのGLIBCが古いことを意味する。

/lib64/libc.so.6: version 'GLIBC_2.29' not found


ソースコードからインストール

Rust / Cargoのインストール

Rust / Cargoをインストールする。

# RHEL
sudo dnf install rust-toolset cargo-c

# SUSE
sudo zypper install rust cargo


Rustを最新にアップデートする。

rustup update


また、RustupをダウンロードしてRustをインストールすることもできる。

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh


rustc、cargo、rustup等の全てのRustツールチェーンが、~/.cargo/binディレクトリにインストールされる。
したがって、開発者はこのディレクトリを環境変数PATHに含めるのが一般的である。

インストールした後、自動的に環境変数 PATH の設定が行われるが、なんらかの理由により失敗することがある。
もし、手動で設定する場合は、~/.profileファイル等に環境変数 PATH を設定する。

vi ~/.profile


 # ~/.profileファイル
 
 export PATH="$HOME/.cargo/bin:$PATH"


Rustが正常にインストールされているかどうかを確認する。

rustc --version


全てのRustツールチェーンをアンインストールする場合は、以下に示すコマンドを実行する。

rustup self uninstall


Zedのインストール

ZedのGuthubにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf zed-<バージョン>.tar.gz
cd zed-<バージョン>


以下に示すいずれかの方法を選択して、Zedのビルドに必要な依存関係のライブラリをインストールする。

  • スクリプトの使用
    script/linux

  • パッケージ管理システムから手動でインストール
# RHEL
sudo dnf install git tar jq cmake gcc clang  alsa-lib-devel libzstd-devel openssl-devel sqlite-devel fontconfig-devel \
                 libxkbcommon-x11-devel wayland-devel vulkan-loader

# SUSE
sudo zypper install git tar gzip jq make cmake gcc gcc-c++ clang libzstd-devel openssl-devel fontconfig-devel sqlite3-devel \
                    alsa-devel libxkbcommon-x11-devel wayland-devel libvulkan1


Cargoを使用して、Zedをビルドおよびインストールする。

# リリースビルド
# リリースビルドの主要なユーザインターフェースはcli crateである
cargo run -p cli

# デバッグビルド
cargo run


Zedの実行テストを行うこともできる。

cargo test --workspace


Zedは、X11およびWaylandの両方をサポートしている。
デフォルトでは、実行時に検索に成功したものを選択する。

もし、Waylandを使用しており、X11モードで実行する場合は、環境変数 WAYLAND_DISPLAY"" に設定する。

export WAYLAND_DISPLAY=""
/<Zedのインストールディレクトリ>/bin/zed



Zedのアンインストール

デフォルトのインストールスクリプトを使用してZedをインストールした場合、zedコマンドに --uninstall オプションを指定することによりアンインストールできる。

zed --uninstall
# または
~/.local/bin/zed --uninstall
# または
~/.local/zed.app/bin.zed --uninstall
# または
/<Zedのインストールディレクトリ>/bin/zed --uninstall


また、Zedの設定を保持するかどうかを選択する。

Zedの設定とデータを手動で削除する場合は、以下に示すディレクトリを削除する。

rm -r ~/.config/zed



Claudeの設定

APIキーによる直接接続

AnthropicのAPIキーを使い、Zedの[Agent Panel]から直接Claudeモデルを利用する方法である。
この方式では、Anthropicに対してAPI使用料が直接発生する。

APIキーの登録

APIキーの登録には、UIから行う方法と環境変数を使う方法の2通りがある。

UI経由での登録を以下に示す。

  1. [Cmd] + [?]キー (MacOS) または [Ctrl] + [?]キー (Windows / Linux) で[Agent Panel]を開く。
  2. 右上のドロップダウンメニューから、[agent: open settings]を選択する。
  3. [LLM Providers]セクションの右にある[Add Provider]ボタンを押下する。
  4. プロバイダ一覧から Anthropic を選択して、APIキーを入力する。


APIキーはOSのキーチェーン (MacOS) または シークレットストレージ (Linux) に保存され、settings.jsonファイル には書き込まれない。

環境変数による登録を以下に示す。
~/.profileファイルや~/.zprofileファイル等にAPIキーを設定する方法でも認識される。

 export ANTHROPIC_API_KEY="sk-ant-xxxxxxxxxxxxxxxxxxxxx"


Zedは起動時にこの環境変数を自動的に読み取る。

モデル定義 (Thinking付き)

Claude 4.6世代では、Adaptive Thinkingが推奨されている。
これはモデルが自動的に思考の必要性と深さを判断するモードであり、従来の手動設定 ("type": "enabled" + budget_tokens) よりも柔軟である。

設定対象モデルの一覧
モデル APIモデル文字列 Thinking 最大入力トークン 最大出力トークン
Claude Opus 4.6 claude-opus-4-6 Adaptive Thinking対応 200,000 (1M Beta対応) 128,000
Claude Sonnet 4.6 claude-sonnet-4-6 Adaptive Thinking対応 200,000 (1M Beta対応) 64,000
Claude Haiku 4.5 claude-haiku-4-5 非対応 200,000 8,192


※注意
Extended Thinkingは、Haiku 4.5には搭載されていないが、高速・低コストな推論モデルとして十分な利用価値がある。

settings.json に以下を記述する。

 {
   "language_models": {
     "anthropic": {
       "available_models": [
         {
           // Opus 4.6 - Adaptive Thinking (推奨モード)
           // モデルが自動的に思考の深さを判断する
           "name": "claude-opus-4-6",
           "display_name": "Claude Opus 4.6 (Thinking)",
           "max_tokens": 200000,
           "max_output_tokens": 128000,
           "mode": {
             "type": "adaptive"
           }
         },
         {
           // Sonnet 4.6 - Adaptive Thinking (推奨モード)
           // Opus級の性能をSonnet価格帯で実現
           "name": "claude-sonnet-4-6",
           "display_name": "Claude Sonnet 4.6 (Thinking)",
           "max_tokens": 200000,
           "max_output_tokens": 64000,
           "mode": {
             "type": "adaptive"
           }
         },
         {
           // Haiku 4.5 - Thinkingなし (高速・低コスト用途)
           // コミットメッセージ生成やスレッド要約など軽量タスク向け
           "name": "claude-haiku-4-5",
           "display_name": "Claude Haiku 4.5",
           "max_tokens": 200000,
           "max_output_tokens": 8192
         }
       ]
     }
   }
 }


Adaptive Thinkingではなく、思考トークンのバジェットを手動で指定したい場合は、"type": "thinking""budget_tokens" を設定する。
ただし、Opus 4.6 / Sonnet 4.6ではAdaptive Thinkingが公式に推奨されている。

 {
   "name": "claude-sonnet-4-6",
   "display_name": "Claude Sonnet 4.6 (Manual Thinking)",
   "max_tokens": 200000,
   "max_output_tokens": 64000,
   "mode": {
     "type": "thinking",
     "budget_tokens": 8192
   }
 }


Claude Agent (ACP経由)

この方法については、後述のACPの設定セクションで詳述する。


GLMの設定

GLMのThinkingモードについて

GLM-4.7 および GLM-5 には Thinking (深層思考) モードが搭載されており、いずれもデフォルトで有効である。
GLM の Thinking は以下の3種類から構成される。

GLM Thinking モードの種類
種類 導入バージョン 概要
Interleaved Thinking GLM-4.5 ツールコールの前後および結果受信後に都度推論を挟む仕組み
複雑なマルチステップタスクにおいて、各段階の判断精度が向上する。
Preserved Thinking GLM-4.7 会話の各ターンで生成された思考ブロックをコンテキスト内に保持し続ける仕組み
通常のモデルはターンごとに推論をリセットするが、
この機能により長いコーディングセッション中の文脈整合性が大幅に向上する。
APIでは "clear_thinking": false で有効になる。
Turn-level Thinking GLM-4.7 リクエスト単位で Thinking の有効/無効を切り替え可能にする機能
簡単な質問ではオフにして高速応答を得つつ、
複雑なデバッグではオンにして精度を上げるといった使い分けが同一セッション内で可能


ClaudeのThinkingとの比較を以下に示す。

ClaudeのAdaptive Thinkingがモデルに思考量を「お任せ」する設計であるのに対し、
GLMは、より細粒度な制御 (ターンごとのオン / オフ、思考履歴の保持) を開発者に委ねる設計となっている。

ただし、これらの細かい制御パラメータ (clear_thinkingthinking.type) は、Z.AIのAPIレベルで処理されるため、
Zedの settings.jsonファイル からは直接指定できないことに注意すること。

APIキーの登録

Z.AIにアクセスしてアカウントを作成し、APIキーを取得する。
GLMは、Zedのビルトインプロバイダとしては登録されていないため、OpenAI互換プロバイダ機能を利用して接続する。

APIキーの設定は、[Agent Panel]の設定UI ([agent: open settings] -> [Add Provider] -> [OpenAI Compatible]) から行う、または、settings.jsonファイル に直接記述する。

モデル定義

設定対象モデルの一覧
モデル APIモデル文字列 Thinking パラメータ規模 最大入力トークン 最大出力トークン
GLM-5 glm-5 デフォルト有効 744B (40B active, MoE) 200,000 128,000
GLM-4.7 glm-4.7 デフォルト有効 357B (MoE) 200,000 128,000


APIエンドポイントの選択

Z.AIには用途別に異なるエンドポイントが用意されている。

Z.AI APIエンドポイント
用途 エンドポイントURL
GLM Coding Plan (コーディング特化サブスクリプション) https://api.z.ai/api/coding/paas/v4
汎用API https://api.z.ai/api/paas/v4/


自身の契約プランに応じて適切な方を選択する。

settings.jsonファイル に、以下に示す設定を記述する。

 {
   "language_models": {
     "openai_compatible": {
       "Z.ai": {
         // GLM Coding Plan 利用時のエンドポイント
         // 汎用APIの場合は https://api.z.ai/api/paas/v4/ を指定する
         "api_url": "https://api.z.ai/api/coding/paas/v4",
         "available_models": [
           {
             // GLM-5 - ThinkingはAPI側でデフォルト有効
             // 744Bパラメータ (40B active)、複雑なシステム設計向け
             "name": "glm-5",
             "display_name": "GLM-5",
             "max_tokens": 200000,
             "max_output_tokens": 128000,
             "max_completion_tokens": 128000,
             "capabilities": {
               "tools": true,
               "images": false,
               "parallel_tool_calls": true,
               "prompt_cache_key": true
             }
           },
           {
             // GLM-4.7 - ThinkingはAPI側でデフォルト有効
             // Preserved Thinking / Turn-level Thinkingを搭載
             "name": "glm-4.7",
             "display_name": "GLM-4.7",
             "max_tokens": 200000,
             "max_output_tokens": 128000,
             "max_completion_tokens": 128000,
             "capabilities": {
               "tools": true,
               "images": false,
               "parallel_tool_calls": true,
               "prompt_cache_key": true
             }
           }
         ]
       }
     }
   }
 }


OpenRouter経由での利用

Z.AIの直接接続に加えて、OpenRouter経由でもGLMを利用可能である。
OpenRouterはZedにビルトインサポートされているため、設定がやや簡便になるメリットがある。

  1. [Agent Panel]設定 ([agent: open settings]) を開く。
  2. [LLM Providers]から OpenRouter を追加して、OpenRouterのAPIキーを入力する。
  3. モデルセレクタのドロップダウンにGLM系モデルが表示される。


環境変数 OPENROUTER_API_KEY を設定しておくことでも認識される。


ACP (Agent Client Protocol) の設定

ACP (Agent Client Protocol) は、Zedが策定したオープンスタンダードであり、任意の外部エージェントをZedの[Agent Panel]内でネイティブに実行するためのプロトコルである。
ターミナル上のCLIツールとは異なり、ファイル差分のチャンク単位での確認・承認、チェックポイント機能、Zed内蔵ツール (リンター、Language Server等) との統合といったメリットがある。

現在、Zedでは以下に示す外部エージェントがサポートされている。

ACP対応外部エージェントの一覧
エージェント 概要 認証方式
Claude Agent Claude Code SDKベースのAnthropic製コーディングエージェント Anthropic APIキー または Claude Pro/Maxサブスクリプション
Gemini CLI Google製のACPリファレンス実装 Googleアカウント
OpenCode オープンソースのプロバイダ非依存コーディングエージェント 各LLMプロバイダのAPIキー または OpenCode Zen
Codex OpenAI製のコーディングエージェント OpenAI APIキー
GitHub Copilot GitHub / Microsoft製のAIコーディングアシスタント GitHubアカウント


※注意
Zedと外部エージェント間のやり取りはUIレベルのみであり、課金や利用規約は各エージェントプロバイダとの間で直接成立する。
Zedは外部エージェントの利用に対して課金せず、Zedのゼロデータ保持契約やプライバシー保証はZedホスト型モデルにのみ適用される。

Claude Agent (Claude Code連携)

Claude Agentは、Claude Code SDKをベースとしたACPアダプタを通じてZed内で動作する。

Zedのファーストパーティエージェントと並行して利用でき、同一の[Agent Panel]内で切り替えながら使用可能である。

セットアップ手順
  1. [Cmd] + [?]キー (MacOS) または [Ctrl] + [?]キー (Windows / Linux) で[Agent Panel]を開く。
  2. 右上の[+]ボタンを押下する。
  3. 表示されるメニューから、[Claude Code]を選択する。
  4. 初回起動時には、@zed-industries/claude-agent-acp が自動的にインストールされる。
    この管理版には、Claude Code CLIのベンダー版が含まれており、グローバルにインストール済みのClaude Codeがあっても、Zedはこの管理版を優先する。


認証の設定

Zed 0.202.7以降、Claude Agentの認証は[Zed Agent Panel]のAPIキー設定とは完全に独立している。
つまり、[Agent Panel]の設定で登録したAnthropic APIキーは、Claude Agent側には使用されない。

認証を行うには、Claude Agentのスレッドを開いた状態で以下のコマンドを実行する。

/login


このコマンドにより、以下に示す2つの認証方式から選択できる。

  • APIキー認証
    AnthropicのAPIキーを直接入力する方式
    API使用料が発生する。

  • Claude Pro / Maxサブスクリプションによるログイン
    [Log in with Claude Code]を選択すると、既存のClaude Pro / Maxサブスクリプションを利用してログインできる。


キーボードショートカットの設定

Claude Agent スレッドを素早く開くためのキーボードショートカットを設定できる。
コマンドパレットから zed: open keymap file を実行して、keymap.jsonファイル に設定を記述する。

 [
   {
     "bindings": {
       // MacOS : [Cmd] + [Alt] + [C]キーでClaude Agentスレッドを新規作成
       "cmd-alt-c": ["agent::NewExternalAgentThread", { "agent": "claude_code" }]
     }
   }
 ]


Claude Code実行ファイルのオーバーライド

Zedが使用するClaude Codeの実行ファイルを、独自にインストールしたバージョンに差し替える場合は、settings.jsonファイル に設定を記述する。

 {
   "agent_servers": {
     "claude": {
       "env": {
         "CLAUDE_CODE_EXECUTABLE": "/path/to/alternate-claude-code-executable"
       }
     }
   }
 }


Gemini CLI連携

ACPを通じて、Gemini CLIも同様にZed内で動作させることができる。

  1. [Agent Panel]を開いて、[+]ボタンから[Gemini CLI]を選択する。
  2. 初回起動時に、Gemini CLIが自動的にセットアップされる。


キーボードショートカットを設定する場合は、keymap.jsonファイル に設定する。

 [
   {
     "bindings": {
       // MacOS : [Cmd] + [Alt] + [G]キーでGemini CLIスレッドを新規作成
       "cmd-alt-g": ["agent::NewExternalAgentThread", { "agent": "gemini" }]
     }
   }
 ]


OpenCode連携

OpenCode は、オープンソースのAIコーディングエージェントであり、ACP に完全対応している。
特定のLLMプロバイダに依存せず、Claude、GPT、Gemini、GLM等、任意のモデルを切り替えて利用できる点が大きな特徴である。

ターミナルネイティブな設計思想を持ちつつ、ACPを通じてZedの[Agent Panel]内でもネイティブに動作する。

インストール

OpenCodeは事前にシステムへインストールしておく必要がある。

# インストールスクリプト (全プラットフォーム共通)
curl -fsSL https://opencode.ai/install | bash

# npm (Linux)
npm i -g opencode-ai@latest

# Homebrew (MacOS) - anomalyco tap (推奨、常に最新)
brew install anomalyco/tap/opencode

# Homebrew (MacOS) - 公式 formula (更新頻度はやや低い)
brew install opencode

# Windows(Scoop)
scoop install opencode

# Windows(Chocolatey)
choco install opencode


インストール後、以下のコマンドで正常にインストールされたことを確認する。

opencode --version


セットアップ手順

OpenCodeのZedへの統合には、ACPレジストリ / Extension経由と手動設定の2つの方法がある。

  • ACPレジストリ / Extension 経由 (推奨)
    Zed 0.221.x以降では、ACPレジストリが外部エージェントのインストール方法として推奨されている。
    この方法では、プラットフォームに応じたバイナリのダウンロードや起動設定が自動的に行われるため、手動設定は不要である。

    1. コマンドパレットから zed: extensions を実行して、[Extensions]パネルを開く。
    2. 検索バーで OpenCode を検索する。フィルターで Agent Servers を選択すると見つけやすい。
    3. OpenCodeのExtensionを見つけたら、[Install]ボタンを押下する。
    4. インストール完了後、[Agent Panel]の[+]ボタンのメニューに OpenCode が追加される。

    この方法でインストールした場合、ZedがOpenCodeのバイナリ管理とバージョン更新を自動的に行う。
    これは、システムにグローバルインストールしたOpenCodeとは独立して動作する。

  • 手動設定 (settings.jsonファイル)
    システムにインストール済みのOpenCodeを直接利用する場合、または、Extensionが利用できない環境では、settings.jsonファイル に設定を記述して、
    手動でACPエージェントサーバとして登録する。
     {
       "agent_servers": {
         "OpenCode": {
           "command": "opencode",
           "args": ["acp"]
         }
       }
     }
    


上記の設定により、opencode acp コマンドがACP互換のサブプロセスとして起動され、JSON-RPC over stdioでZedと通信する。
スレッドの開始は、コマンドパレットから agent: new thread を実行し、エージェント選択でOpenCodeを指定する。

キーボードショートカットの設定

OpenCodeスレッドを素早く開くためのキーボードショートカットを設定できる。

keymap.jsonファイル に設定を記述する。

 [
   {
     "bindings": {
       // MacOS : [Cmd] + [Alt] + [O]キーでOpenCodeスレッドを新規作成
       "cmd-alt-o": [
         "agent::NewExternalAgentThread",
         {
           "agent": {
             "custom": {
               "name": "OpenCode",
               "command": {
                 "command": "opencode",
                 "args": ["acp"]
               }
             }
           }
         }
       ]
     }
   }
 ]


※注意
Extension経由でインストールした場合と手動設定の場合で、keymap.jsonファイル の記述形式が異なる場合がある。
Extension経由の場合は、エージェント名をレジストリ登録名で指定する形式になることがある。

使用するモデルの設定

OpenCode はプロバイダ非依存であり、使用するモデルはOpenCode側の設定ファイル (~/.config/opencode/opencode.jsonファイル) で管理する。

 {
   // Claudeを使用する場合
   "model": "anthropic/claude-sonnet-4-6"
 
   // GLMを使用する場合
   // "model": "z-ai/glm-4.7"
 }


OpenCodeのTUI上で /connect コマンドを実行してプロバイダの認証を行う、または、環境変数 (ANTHROPIC_API_KEY 等) を設定しておくことにより、各プロバイダのAPIが利用可能になる。

OpenCode独自のOpenCode Zenサービスを利用する場合は、opencode.ai/authにアクセスして、APIキーを取得する。

対応機能

OpenCodeは、ACP経由で以下に示す機能をサポートしている。

  • ビルトインツール (ファイル操作、ターミナルコマンド実行等)
  • カスタムツール および スラッシュコマンド
  • OpenCodeの設定ファイルで構成したMCPサーバ
  • プロジェクト固有のルール (AGENTS.md)
  • カスタムフォーマッタおよびリンター
  • エージェント機能とパーミッションシステム


※注意
一部のビルトインスラッシュコマンド (/undo/redo 等) は、ACP経由では現時点で未サポートである。

デバッグ

OpenCodeとZed間のACP通信に問題が発生した場合は、コマンドパレットから dev: open acp logs を実行することにより、送受信されているJSON-RPCメッセージを確認できる。
このログは、GitHub Issueへの報告時にも有用である。

ACP利用時の制限事項

外部エージェント (Claude Agent、Gemini CLI、OpenCode 等) は、Zedのファーストパーティエージェントと比較して、一部の機能が制限される場合がある。

具体的には、以下に示す機能が外部エージェントでは利用できない可能性がある。

  • スレッド履歴からの復元
  • チェックポイント機能
  • トークン使用量の表示
  • 過去メッセージの編集
  • 一部のスラッシュコマンド (各エージェントの SDK / ACP 実装がまだ対応していないもの)


これらの機能の対応状況はエージェントごとに異なり、今後のアップデートで順次拡充される見込みである。


デフォルトモデルとお気に入りの設定

日常的に複数のモデルを切り替えて使う場合は、デフォルトモデルの指定とお気に入り登録を行うと効率的である。

[Agent Panel]のモデルセレクタは [Cmd] + [Alt] + [/]キー (MacOS) / [Ctrl] + [Alt] + [/]キー (Linux) で開くことができ、
お気に入りモデル間は [Alt] + [Tab]キー (MacOS) / [Alt] + [L]キー (Linux) で素早くサイクルできる。

 {
   "agent": {
     // デフォルトモデルの設定
     // [Agent Panel]を開いた際に最初に選択されるモデル
     "default_model": {
       "provider": "anthropic",
       "model": "claude-sonnet-4-6"
     },
 
     // お気に入りモデルの設定
    // [Alt] + [Tab]キー (MacOS) / [Alt] + [L]キー (Linux) で素早く切り替え可能
     "favorite_models": [
       { "provider": "anthropic", "model": "claude-opus-4-6" },
       { "provider": "anthropic", "model": "claude-sonnet-4-6" },
       { "provider": "anthropic", "model": "claude-haiku-4-5" },
       { "provider": "openai_compatible", "model": "glm-4.7" },
       { "provider": "openai_compatible", "model": "glm-5" }
     ],
 
     // コミットメッセージ生成やスレッド要約には、Haikuを割り当て (低コスト)
     "inline_model": {
       "provider": "anthropic",
       "model": "claude-sonnet-4-6"
     },
     "commit_message_model": {
       "provider": "anthropic",
       "model": "claude-haiku-4-5"
     }
   }
 }



Agent Profile (ツールプロファイル) の活用

Zedの[Agent Panel]には、タスクの性質に応じたプロファイルが用意されている。

[Shift] + [Tab]キー でプロファイル間を素早く切り替えることができる。

標準プロファイル
プロファイル名 概要 主な用途
Write ファイル書き込みおよびターミナルコマンド実行を含む全ツールが有効 コード生成、リファクタリング、ファイル操作
Ask 読み取り専用ツールのみ有効 コードベースに関する質問、コードレビュー (変更リスクなし)
Minimal ツールなし LLMとの一般的な会話 (コードベースの知識が不要な場合)


カスタムプロファイルの作成は、コマンドパレットから agent: manage profiles を実行する、または、
[Cmd] + [Alt] + [P]キー (MacOS) / [Ctrl] + [Alt] + [P]キー (Linux) で開くプロファイル管理モーダルから行える。


settings.jsonの統合例

上記の設定を全て統合した settings.jsonファイル の全体を以下に示す。

 {
   // ====================================================================
   // LLM プロバイダ設定
   // ====================================================================
   "language_models": {
 
     // --- Anthropic(Claude)---
     "anthropic": {
       "available_models": [
         {
           "name": "claude-opus-4-6",
           "display_name": "Claude Opus 4.6 (Thinking)",
           "max_tokens": 200000,
           "max_output_tokens": 128000,
           "mode": {
             "type": "adaptive"
           }
         },
         {
           "name": "claude-sonnet-4-6",
           "display_name": "Claude Sonnet 4.6 (Thinking)",
           "max_tokens": 200000,
           "max_output_tokens": 64000,
           "mode": {
             "type": "adaptive"
           }
         },
         {
           "name": "claude-haiku-4-5",
           "display_name": "Claude Haiku 4.5",
           "max_tokens": 200000,
           "max_output_tokens": 8192
         }
       ]
     },
 
     // --- Z.AI(GLM)--- OpenAI互換プロバイダとして接続
     "openai_compatible": {
       "Z.ai": {
         "api_url": "https://api.z.ai/api/coding/paas/v4",
         "available_models": [
           {
             "name": "glm-4.7",
             "display_name": "GLM-4.7",
             "max_tokens": 200000,
             "max_output_tokens": 128000,
             "max_completion_tokens": 128000,
             "capabilities": {
               "tools": true,
               "images": false,
               "parallel_tool_calls": true,
               "prompt_cache_key": true
             }
           },
           {
             "name": "glm-5",
             "display_name": "GLM-5",
             "max_tokens": 200000,
             "max_output_tokens": 128000,
             "max_completion_tokens": 128000,
             "capabilities": {
               "tools": true,
               "images": false,
               "parallel_tool_calls": true,
               "prompt_cache_key": true
             }
           }
         ]
       }
     }
   },
 
   // ====================================================================
   // Agent Panel設定
   // ====================================================================
   "agent": {
     "default_model": {
       "provider": "anthropic",
       "model": "claude-sonnet-4-6"
     },
     "favorite_models": [
       { "provider": "anthropic", "model": "claude-opus-4-6" },
       { "provider": "anthropic", "model": "claude-sonnet-4-6" },
       { "provider": "anthropic", "model": "claude-haiku-4-5" },
       { "provider": "openai_compatible", "model": "glm-4.7" },
       { "provider": "openai_compatible", "model": "glm-5" }
     ],
     "commit_message_model": {
       "provider": "anthropic",
       "model": "claude-haiku-4-5"
     }
   },
 
   // ====================================================================
   // Claude Agent (ACP) の実行ファイルオーバーライド(任意)
   // ====================================================================
   // "agent_servers": {
   //   "claude": {
   //     "env": {
   //       "CLAUDE_CODE_EXECUTABLE": "/path/to/alternate-claude-code-executable"
   //     }
   //   }
   // }
 }



キーボードショートカット一覧

主要なキーボードショートカット
操作 <acOS Windows / Linux
[Agent Panel]を開く [Cmd] + [?]キー [Ctrl] + [?]キー
モデルセレクタを開く [Cmd] + [Alt] + [/]キー [Ctrl] + [Alt] + [/]キー
お気に入りモデルのサイクル [Alt] + [Tab]キー [Alt] + [L]キー
Agent Profileの切り替え [Shift] + [Tab]キー [Shift] + [Tab]キー
Agent Profile管理モーダルを開く [Cmd] + [Alt] + [P]キー [Alt] + [P]キー
メッセージエディタの拡大 [Shift] + [Alt] + [Esc]キー [Shift] + [Alt] + [Escape]キー
Claude Agentスレッドを新規作成 (要keymap設定) [Cmd] + [Alt] + [C]キー (要keymap設定)
Gemini CLIスレッドを新規作成 (要keymap設定) [Cmd] + [Alt] + [G]キー (要keymap設定)
OpenCodeスレッドを新規作成 (要keymap設定) [Cmd] + [Alt] + [O]キー (要keymap設定)



エラー関連

Zedのパフォーマンスが悪い場合

ZedはVulkanを使用しているため、Zedを効果的に実行するためにはGPUが必要となる。
パフォーマンスに問題がある場合、あるいは、Zedがロードできない場合、Vulkanが原因の可能性がある。

AMD GPUを使用している場合、"Broken Pipe"エラーが発生する可能性がある。
この場合は、RADVまたはMesaドライバを使用する。

"Zed failed to open a window." エラーが出力される場合は、Vulkanが互換性のあるGPUを見つけられないことを意味する。
"NoSupportedDeviceFound" エラーが出力される場合は、Vulkanが互換性のあるGPUを見つけられないことを意味する。
vulkan-toolsパッケージをインストールすることにより、Vulkanのトラブルシューティングを開始できる。

vkcube コマンドを実行することにより、現在のグラフィック設定および回転するキューブが表示される。
もし、表示されない場合は、Vulkan互換GPUドライバをインストールすることで解決できる。
ただし、例えば、ARMベースのMacOS上でLinuxを実行している場合は、Vulkanがサポートされていない場合もある。

vkcube


"ERROR_INITIALIZATION_FAILED" エラー、あるいは、"GPU Crashed、ERROR_SURFACE_LOST_KHR" エラーが表示される場合、
GPUに別のドライバをインストールする、または、別のGPUを選択して実行することにより回避できる可能性がある。

ディスクリートGPUではなく統合GPUを選択してZedを起動する場合、Zedを実行する前に環境変数 DRI_PRIME1 に設定することにより変更できる。

export DRI_PRIME=1
cd /<Zedのインストールディレクトリ>/bin
./zed


Mesaを使用している場合、GPUの選択について更に制御する場合は、以下に示すコマンドを実行して利用可能なGPUのリストを取得する。
MESA_VK_DEVICE_SELECT=xxxx:yyyyのように個別に指定することにより、特定のGPUを選択することもできる。

export MESA_VK_DEVICE_SELECT=list zed --foreground


amdvlkを使用している場合、sudo $(which zed) コマンドで実行する時のみ、Zedが起動する場合がある。
これを修正するには、amdvlkとlib32-amdvlkパッケージをアンインストールして、mesa/vulkanをインストールする。

OpenSSLエラー

システムがFIPSモードで動作している場合 (/proc/sys/crypto/fips_enabledが1に設定されている場合)、Zedが起動しない場合がある。

zed --foreground コマンドを実行する時、以下に示すようなエラーが出力される。

crypto/fips/fips.c:154: OpenSSL internal error: FATAL FIPS SELFTEST FAILURE


この時、Zedのインストールディレクトリにあるlibディレクトリから、libsslライブラリおよびlibcryptoライブラリを削除する。

rm /<Zedのインストールディレクトリ>/lib/libssl.so*
rm /<Zedのインストールディレクトリ>/lib/libcrypto.so*


これにより、Zedはシステムのlibsslとlibcryptoライブラリにフォールバックすることができる。

APIキーが認識されない

環境変数で設定した APIキーが認識されない場合は、Zedを完全に終了してから再起動する。

シェルの設定ファイルを変更した後は、新しいターミナルセッションを開いてからZedを起動する必要がある。

GLMモデルがモデルセレクタに表示されない

settings.jsonファイropenai_compatible セクションのJSON構文が正しいことを確認する。
特に、既存の language_models ブロック内に正しくネストされているかを確認する。

設定ファイルを保存した後、[Agent Panel]の設定画面を1度閉じて再度開くと反映される場合がある。

Claude Agentの認証エラー

Claude Agentの認証は、[Zed Agent Panel]のAnthropic APIキー設定とは独立している。
Claude Agentスレッド内で /login コマンドを再実行して、認証をやり直す。

スレッドでエラーが発生した場合

スレッドの内容をMarkdownとして開くことができる。

コマンドパレットから agent: open thread as markdown を実行する、または、パネルのエディタにフォーカスした状態でファイルアイコンボタンを選択する。

これを、GitHub Issueに添付して報告すると、問題の解決に役立つ。


参考リンク