docs: Update external agents content (#37413)

Danilo Leal and Bennet Bo Fenner created

Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Change summary

docs/src/ai/agent-panel.md     | 13 +++++---
docs/src/ai/external-agents.md | 57 ++++++++++++++++++++++++++++++-----
docs/src/ai/overview.md        |  2 
3 files changed, 58 insertions(+), 14 deletions(-)

Detailed changes

docs/src/ai/agent-panel.md 🔗

@@ -1,24 +1,27 @@
 # Agent Panel
 
-The Agent Panel allows you to interact with many LLMs and coding agents that can support you in various types of tasks, such as generating code, codebase understanding, and other general inquiries like writing emails, documentation, and more.
+The Agent Panel allows you to interact with many LLMs and coding agents that can help with in various types of tasks, such as generating code, codebase understanding, and other general inquiries like writing emails, documentation, and more.
 
 To open it, use the `agent: new thread` action in [the Command Palette](../getting-started.md#command-palette) or click the ✨ (sparkles) icon in the status bar.
 
-If you're using the Agent Panel for the first time, you need to have at least one LLM or agent provider configured.
+## Getting Started
+
+If you're using the Agent Panel for the first time, you need to have at least one LLM provider or external agent configured.
 You can do that by:
 
 1. [subscribing to our Pro plan](https://zed.dev/pricing), so you have access to our hosted models
 2. [bringing your own API keys](./llm-providers.md#use-your-own-keys) for your desired provider
-3. using an external agent like [Gemini CLI](./external-agents.md#gemini-cli)
+3. using an external agent like [Gemini CLI](./external-agents.md#gemini-cli) or [Claude Code](./external-agents.md#claude-code)
 
 ## Overview {#overview}
 
-After you've configured one or more LLM providers, type at the message editor and hit `enter` to submit your prompt.
+With an LLM provider or an external agent configured, type at the message editor and hit `enter` to submit your prompt.
 If you need extra room to type, you can expand the message editor with {#kb agent::ExpandMessageEditor}.
 
 You should start to see the responses stream in with indications of [which tools](./tools.md) the model is using to fulfill your prompt.
+From this point on, you can interact with the many supported features outlined below.
 
-> Note that, at the moment, not all features outlined below work for external agents, like [Gemini CLI](./external-agents.md#gemini-cli)—features like _restoring threads from history_, _checkpoints_, _token usage display_, _model selection_, and others may be supported in the future.
+> Note that for external agents, like [Gemini CLI](./external-agents.md#gemini-cli) or [Claude Code](./external-agents.md#claude-code), some of the features outlined below are _not_ currently supported—for example, _restoring threads from history_, _checkpoints_, _token usage display_, _model selection_, and others. All of them should hopefully be supported in the future.
 
 ### Creating New Threads
 

docs/src/ai/external-agents.md 🔗

@@ -1,8 +1,9 @@
 # External Agents
 
-Zed supports terminal-based agentic coding tools through the [Agent Client Protocol (ACP)](https://agentclientprotocol.com).
+Zed supports terminal-based agents through the [Agent Client Protocol (ACP)](https://agentclientprotocol.com).
 
-Currently, [Gemini CLI](https://github.com/google-gemini/gemini-cli) serves as the reference implementation, and you can [add custom ACP-compatible agents](#add-custom-agents) as well.
+Currently, [Gemini CLI](https://github.com/google-gemini/gemini-cli) serves as the reference implementation.
+[Claude Code](https://www.anthropic.com/claude-code) is also included by default, and you can [add custom ACP-compatible agents](#add-custom-agents) as well.
 
 ## Gemini CLI {#gemini-cli}
 
@@ -13,9 +14,9 @@ This means that you're running the real Gemini CLI, with all of the advantages o
 
 ### Getting Started
 
-As of Zed Stable v0.201.5 you should be able to use Gemini CLI directly from Zed. First open the agent panel with {#kb agent::ToggleFocus}, and then use the `+` button in the top right to start a New Gemini CLI thread.
+As of [Zed Stable v0.201.5](https://zed.dev/releases/stable/0.201.5) you should be able to use Gemini CLI directly from Zed. First open the agent panel with {#kb agent::ToggleFocus}, and then use the `+` button in the top right to start a new Gemini CLI thread.
 
-If you'd like to bind this to a keyboard shortcut, you can do so by editing your keybindings file to include:
+If you'd like to bind this to a keyboard shortcut, you can do so by editing your `keymap.json` file via the `zed: open keymap` command to include:
 
 ```json
 [
@@ -40,23 +41,63 @@ The instructions to upgrade Gemini depend on how you originally installed it, bu
 
 After you have Gemini CLI running, you'll be prompted to choose your authentication method.
 
-Most users should click the "Log in with Google". This will cause a browser window to pop-up and auth directly with Gemini CLI. Zed does not see your oauth or access tokens in this case.
+Most users should click the "Log in with Google". This will cause a browser window to pop-up and auth directly with Gemini CLI. Zed does not see your OAuth or access tokens in this case.
 
 You can also use the "Gemini API Key". If you select this, and have the `GEMINI_API_KEY` set, then we will use that. Otherwise Zed will prompt you for an API key which will be stored securely in your keychain, and used to start Gemini CLI from within Zed.
 
-The "Vertex AI" option is for those who are using Vertex AI, and have already configured their environment correctly.
+The "Vertex AI" option is for those who are using [Vertex AI](https://cloud.google.com/vertex-ai), and have already configured their environment correctly.
 
 For more information, see the [Gemini CLI docs](https://github.com/google-gemini/gemini-cli/blob/main/docs/index.md).
 
 ### Usage
 
 Similar to Zed's first-party agent, you can use Gemini CLI to do anything that you need.
-
-You can @-mention files, recent threads, symbols, or fetch the web.
+And to give it context, you can @-mention files, recent threads, symbols, or fetch the web.
 
 > Note that some first-party agent features don't yet work with Gemini CLI: editing past messages, resuming threads from history, checkpointing, and using the agent in SSH projects.
 > We hope to add these features in the near future.
 
+## Claude Code
+
+Similar to Gemini CLI, you can also run [Claude Code](https://www.anthropic.com/claude-code) directly via Zed's [agent panel](./agent-panel.md).
+Under the hood, Zed runs Claude Code and communicate to it over ACP, through [a dedicated adapter](https://github.com/zed-industries/claude-code-acp).
+
+### Getting Started
+
+Open the agent panel with {#kb agent::ToggleFocus}, and then use the `+` button in the top right to start a new Claude Code thread.
+
+If you'd like to bind this to a keyboard shortcut, you can do so by editing your `keymap.json` file via the `zed: open keymap` command to include:
+
+```json
+[
+  {
+    "bindings": {
+      "cmd-alt-c": ["agent::NewExternalAgentThread", { "agent": "claude_code" }]
+    }
+  }
+]
+```
+
+#### Installation
+
+If you don't yet have Claude Code installed, then Zed will install a version for you.
+If you do, then we will use the version of Claude Code on your path.
+
+### Usage
+
+Similar to Zed's first-party agent, you can use Claude Code to do anything that you need.
+And to give it context, you can @-mention files, recent threads, symbols, or fetch the web.
+
+In complement to talking to it [over ACP](https://agentclientprotocol.com), Zed relies on the [Claude Code SDK](https://docs.anthropic.com/en/docs/claude-code/sdk/sdk-overview) to support some of its specific features.
+However, the SDK doesn't yet expose everything needed to fully support all of them:
+
+- Slash Commands: A subset of [built-in commands](https://docs.anthropic.com/en/docs/claude-code/slash-commands#built-in-slash-commands) are supported, while [custom slash commands](https://docs.anthropic.com/en/docs/claude-code/slash-commands#custom-slash-commands) are fully supported.
+- [Subagents](https://docs.anthropic.com/en/docs/claude-code/sub-agents) are supported.
+- [Hooks](https://docs.anthropic.com/en/docs/claude-code/hooks-guide) are currently _not_ supported.
+
+> Also note that some [first-party agent](./agent-panel.md) features don't yet work with Claude Code: editing past messages, resuming threads from history, checkpointing, and using the agent in SSH projects.
+> We hope to add these features in the near future.
+
 ## Add Custom Agents {#add-custom-agents}
 
 You can run any agent speaking ACP in Zed by changing your settings as follows:

docs/src/ai/overview.md 🔗

@@ -14,7 +14,7 @@ Learn how to get started using AI with Zed and all its capabilities.
 
 ## Agentic Editing
 
-- [Agent Panel](./agent-panel.md): Create and manage interactions with language models.
+- [Agent Panel](./agent-panel.md): Create and manage interactions with LLM agents.
 
 - [Rules](./rules.md): How to define rules for AI interactions.