Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/.conventions/CONVENTIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,8 @@ Use inline `code` for:

Use Zed's special syntax for dynamic rendering:

- `{#action git::Commit}` — Renders the action name
- `{#kb git::Commit}` — Renders the keybinding for that action
- {#action git::Commit} — Renders the action name
- {#kb git::Commit} — Renders the keybinding for that action

This ensures keybindings stay accurate if defaults change.

Expand Down
4 changes: 2 additions & 2 deletions docs/.doc-examples/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ The **Settings Editor** ({#kb zed::OpenSettings}) is the primary way to configur
To open it:

- Press {#kb zed::OpenSettings}
- Or run `zed: open settings` from the command palette
- Or run {#action zed::OpenSettings} from the command palette

As you type in the search box, matching settings appear with descriptions and controls to modify them. Changes save automatically to your settings file.

Expand All @@ -42,7 +42,7 @@ As you type in the search box, matching settings appear with descriptions and co

### User Settings {#user-settings}

Your user settings apply globally across all projects. Open the file with {#kb zed::OpenSettingsFile} or run `zed: open settings file` from the command palette.
Your user settings apply globally across all projects. Open the file with {#kb zed::OpenSettingsFile} or run {#action zed::OpenSettingsFile} from the command palette.

The file is located at:

Expand Down
8 changes: 4 additions & 4 deletions docs/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ Example:

The docs use a custom preprocessor (`docs_preprocessor`) that expands special commands:

| Syntax | Purpose | Example |
| ----------------------------- | ------------------------------------- | ------------------------------- |
| `{#kb action::ActionName}` | Keybinding for action | `{#kb agent::ToggleFocus}` |
| `{#action agent::ActionName}` | Action reference (renders as command) | `{#action agent::OpenSettings}` |
| Syntax | Purpose | Example |
| --------------------------- | ------------------------------------- | ----------------------------- |
| {#kb action::ActionName} | Keybinding for action | {#kb agent::ToggleFocus} |
| {#action agent::ActionName} | Action reference (renders as command) | {#action agent::OpenSettings} |

**Rules:**

Expand Down
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ When referencing keybindings or actions, use the following formats:

### Keybindings

`{#kb scope::Action}` - e.g., `{#kb zed::OpenSettings}`.
{#kb scope::Action} - e.g., {#kb zed::OpenSettings}.

This will output a code element like: `<code>Cmd + , | Ctrl + ,</code>`. We then use a client-side plugin to show the actual keybinding based on the user's platform.

Expand All @@ -66,7 +66,7 @@ Supported overlays: `jetbrains`.

### Actions

`{#action scope::Action}` - e.g., `{#action zed::OpenSettings}`.
{#action scope::Action} - e.g., {#action zed::OpenSettings}.

This will render a human-readable version of the action name, e.g., "zed: open settings", and will allow us to implement things like additional context on hover, etc.

Expand Down
4 changes: 2 additions & 2 deletions docs/src/ai/agent-panel.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: Use Zed's AI coding agent to generate, refactor, and debug code wit
The Agent Panel is where you interact with AI agents that can read, write, and run code in your project.
It's the core of Zed's AI code editing experience — use it for code generation, refactoring, debugging, documentation, and general questions.

Open it with `agent: new thread` from [the Command Palette](../getting-started.md#command-palette) or click the ✨ icon in the status bar.
Open it with {#action agent::NewThread} from [the Command Palette](../getting-started.md#command-palette) or click the ✨ icon in the status bar.

## Getting Started {#getting-started}

Expand Down Expand Up @@ -240,7 +240,7 @@ Zed's UI will inform you about this via a warning icon that appears close to the

## Errors and Debugging {#errors-and-debugging}

If you hit an error or unusual LLM behavior, open the thread as Markdown with `agent: open thread as markdown` and attach it to your GitHub issue.
If you hit an error or unusual LLM behavior, open the thread as Markdown with {#action agent::OpenActiveThreadAsMarkdown} and attach it to your GitHub issue.

You can also open threads as Markdown by clicking on the file icon button, to the right of the thumbs down button, when focused on the panel's editor.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/ai/agent-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ Specify a custom temperature for a provider and/or model:

## Agent Panel Settings {#agent-panel-settings}

Note that some of these settings are also surfaced in the Agent Panel's settings UI, which you can access either via the `agent: open settings` action or by the dropdown menu on the top-right corner of the panel.
Note that some of these settings are also surfaced in the Agent Panel's settings UI, which you can access either via the {#action agent::OpenSettings} action or by the dropdown menu on the top-right corner of the panel.

### Font Size

Expand Down
14 changes: 7 additions & 7 deletions docs/src/ai/external-agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Under the hood we run Gemini CLI in the background, and talk to it over ACP.

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 `keymap.json` file via the `zed: open keymap file` command 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 {#action zed::OpenKeymapFile} command to include:

```json [keymap]
[
Expand Down Expand Up @@ -69,7 +69,7 @@ Under the hood, Zed runs the Claude Agent SDK, which runs Claude Code under the

Open the agent panel with {#kb agent::ToggleFocus}, and then use the `+` button in the top right to start a new Claude Agent 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 file` command 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 {#action zed::OpenKeymapFile} command to include:

```json [keymap]
[
Expand Down Expand Up @@ -144,7 +144,7 @@ Under the hood, Zed runs Codex CLI and communicates to it over ACP, through [a d
As of version `0.208`, you should be able to use Codex directly from Zed.
Open the agent panel with {#kb agent::ToggleFocus}, and then use the `+` button in the top right to start a new Codex 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 file` command 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 {#action zed::OpenKeymapFile} command to include:

```json
[
Expand Down Expand Up @@ -202,7 +202,7 @@ At some point in the near future, Agent Server extensions will be deprecated.

Add more external agents to Zed by installing [Agent Server extensions](../extensions/agent-servers.md).

See what agents are available by filtering for "Agent Servers" in the extensions page, which you can access via the command palette with `zed: extensions`, or the [Zed website](https://zed.dev/extensions?filter=agent-servers).
See what agents are available by filtering for "Agent Servers" in the extensions page, which you can access via the command palette with {#action zed::Extensions}, or the [Zed website](https://zed.dev/extensions?filter=agent-servers).

### Via The ACP Registry

Expand All @@ -216,7 +216,7 @@ At the moment, the registry is a curated set of agents, including only the ones

#### Using it in Zed

Use the `zed: acp registry` command to quickly go to the ACP Registry page.
Use the {#action zed::AcpRegistry} command to quickly go to the ACP Registry page.
There's also a button ("Add Agent") that takes you there in the agent panel's configuration view.

From there, you can click to install your preferred agent and it will become available right away in the `+` icon button in the agent panel.
Expand Down Expand Up @@ -246,7 +246,7 @@ It's also possible to customize environment variables for registry-installed age

## Debugging Agents

When using external agents in Zed, you can access the debug view via with `dev: open acp logs` from the Command Palette.
When using external agents in Zed, you can access the debug view via with {#action dev::OpenAcpLogs} from the Command Palette.
This lets you see the messages being sent and received between Zed and the agent.

![The debug view for ACP logs.](https://zed.dev/img/acp/acp-logs.webp)
Expand Down Expand Up @@ -339,7 +339,7 @@ For more on configuring MCP servers, see [Model Context Protocol](./mcp.md).

1. Verify the MCP server is enabled in `context_servers` settings
2. For remote MCP servers with OAuth, this is a [known issue](https://github.com/zed-industries/zed/issues/54410) — try local stdio-based servers instead
3. Open `dev: open acp logs` from the Command Palette to debug
3. Open {#action dev::OpenAcpLogs} from the Command Palette to debug

**"My existing Claude Code / Codex setup isn't working in Zed"**

Expand Down
32 changes: 16 additions & 16 deletions docs/src/ai/llm-providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ You can do that by either subscribing to [one of Zed's plans](./plans-and-usage.

If you already have an API key for a provider like Anthropic or OpenAI, you can add it to Zed. No Zed subscription required.

To add an existing API key to a given provider, go to the Agent Panel settings (`agent: open settings`), look for the desired provider, paste the key into the input, and hit enter.
To add an existing API key to a given provider, go to the Agent Panel settings ({#action agent::OpenSettings}), look for the desired provider, paste the key into the input, and hit enter.

> Note: API keys are _not_ stored as plain text in your settings file, but rather in your OS's secure credential storage.

Expand Down Expand Up @@ -70,7 +70,7 @@ With that done, choose one of the three authentication methods:
#### Authentication via Named Profile (Recommended)

1. Ensure you have the AWS CLI installed and configured with a named profile
2. Open your settings file (`zed: open settings file`) and include the `bedrock` key under `language_models` with the following settings:
2. Open your settings file ({#action zed::OpenSettingsFile}) and include the `bedrock` key under `language_models` with the following settings:
```json [settings]
{
"language_models": {
Expand All @@ -90,15 +90,15 @@ To do this:

1. Create an IAM User in the [IAM Console](https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/users).
2. Create security credentials for that User, save them and keep them secure.
3. Open the Agent Configuration with (`agent: open settings`) and go to the Amazon Bedrock section
3. Open the Agent Configuration with ({#action agent::OpenSettings}) and go to the Amazon Bedrock section
4. Copy the credentials from Step 2 into the respective **Access Key ID**, **Secret Access Key**, and **Region** fields.

#### Authentication via Bedrock API Key

Amazon Bedrock also supports [API Keys](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys-use.html), which authenticate directly without requiring IAM users or named profiles.

1. Create an API Key in the [Amazon Bedrock Console](https://console.aws.amazon.com/bedrock/)
2. Open the Agent Configuration with (`agent: open settings`) and go to the Amazon Bedrock section
2. Open the Agent Configuration with ({#action agent::OpenSettings}) and go to the Amazon Bedrock section
3. Enter your Bedrock API key in the **API Key** field and select your **Region**

```json [settings]
Expand Down Expand Up @@ -179,7 +179,7 @@ You can use Anthropic models by choosing them via the model dropdown in the Agen

1. Sign up for Anthropic and [create an API key](https://console.anthropic.com/settings/keys)
2. Make sure that your Anthropic account has credits
3. Open the settings view (`agent: open settings`) and go to the Anthropic section
3. Open the settings view ({#action agent::OpenSettings}) and go to the Anthropic section
4. Enter your Anthropic API key

Even if you pay for Claude Pro, you will still have to [pay for additional credits](https://console.anthropic.com/settings/plans) to use it via the API.
Expand Down Expand Up @@ -232,7 +232,7 @@ You can configure a model to use [extended thinking](https://docs.anthropic.com/
### DeepSeek {#deepseek}

1. Visit the DeepSeek platform and [create an API key](https://platform.deepseek.com/api_keys)
2. Open the settings view (`agent: open settings`) and go to the DeepSeek section
2. Open the settings view ({#action agent::OpenSettings}) and go to the DeepSeek section
3. Enter your DeepSeek API key

The DeepSeek API key will be saved in your keychain.
Expand Down Expand Up @@ -275,7 +275,7 @@ You can also modify the `api_url` to use a custom endpoint if needed.

You can use GitHub Copilot Chat with the Zed agent by choosing it via the model dropdown in the Agent Panel.

1. Open the settings view (`agent: open settings`) and go to the GitHub Copilot Chat section
1. Open the settings view ({#action agent::OpenSettings}) and go to the GitHub Copilot Chat section
2. Click on `Sign in to use GitHub Copilot`, follow the steps shown in the modal.

Alternatively, you can provide an OAuth token via the `GH_COPILOT_TOKEN` environment variable.
Expand All @@ -289,7 +289,7 @@ To use Copilot Enterprise with Zed (for both agent and completions), you must co
You can use Gemini models with the Zed agent by choosing it via the model dropdown in the Agent Panel.

1. Go to the Google AI Studio site and [create an API key](https://aistudio.google.com/app/apikey).
2. Open the settings view (`agent: open settings`) and go to the Google AI section
2. Open the settings view ({#action agent::OpenSettings}) and go to the Google AI section
3. Enter your Google AI API key and press enter.

The Google AI API key will be saved in your keychain.
Expand Down Expand Up @@ -353,7 +353,7 @@ Tip: Set [LM Studio as a login item](https://lmstudio.ai/docs/advanced/headless#
### Mistral {#mistral}

1. Visit the Mistral platform and [create an API key](https://console.mistral.ai/api-keys/)
2. Open the configuration view (`agent: open settings`) and navigate to the Mistral section
2. Open the configuration view ({#action agent::OpenSettings}) and navigate to the Mistral section
3. Enter your Mistral API key

The Mistral API key will be saved in your keychain.
Expand Down Expand Up @@ -502,7 +502,7 @@ One such service is [Ollama Turbo](https://ollama.com/turbo). To configure Zed t

1. Sign in to your Ollama account and subscribe to Ollama Turbo
2. Visit [ollama.com/settings/keys](https://ollama.com/settings/keys) and create an API key
3. Open the settings view (`agent: open settings`) and go to the Ollama section
3. Open the settings view ({#action agent::OpenSettings}) and go to the Ollama section
4. Paste your API key and press enter.
5. For the API URL enter `https://ollama.com`

Expand All @@ -512,7 +512,7 @@ Zed will also use the `OLLAMA_API_KEY` environment variables if defined.

1. Visit the OpenAI platform and [create an API key](https://platform.openai.com/account/api-keys)
2. Make sure that your OpenAI account has credits
3. Open the settings view (`agent: open settings`) and go to the OpenAI section
3. Open the settings view ({#action agent::OpenSettings}) and go to the OpenAI section
4. Enter your OpenAI API key

The OpenAI API key will be saved in your keychain.
Expand Down Expand Up @@ -570,7 +570,7 @@ This is useful for connecting to other hosted services (like Together AI, Anysca

You can add a custom, OpenAI-compatible model either via the UI or by editing your settings file.

To do it via the UI, go to the Agent Panel settings (`agent: open settings`) and look for the "Add Provider" button to the right of the "LLM Providers" section title.
To do it via the UI, go to the Agent Panel settings ({#action agent::OpenSettings}) and look for the "Add Provider" button to the right of the "LLM Providers" section title.
Then, fill up the input fields available in the modal.

To do it via your settings file ([how to edit](../configuring-zed.md#settings-files)), add the following snippet under `language_models`:
Expand Down Expand Up @@ -626,7 +626,7 @@ OpenCode offers multiple ways to access AI models:
1. Visit [OpenCode Console](https://opencode.ai/auth) and create an account
2. Free models are available without payment. To use Zen or Go models, make sure you have enough credits or an active subscription
3. Generate an API key from the "API Keys" section in the OpenCode Console
4. Open the settings view (`agent: open settings`) and go to the OpenCode section
4. Open the settings view ({#action agent::OpenSettings}) and go to the OpenCode section
5. Enter your OpenCode API key

The OpenCode API key will be saved in your keychain.
Expand Down Expand Up @@ -693,7 +693,7 @@ OpenRouter provides access to multiple AI models through a single API. It suppor

1. Visit [OpenRouter](https://openrouter.ai) and create an account
2. Generate an API key from your [OpenRouter keys page](https://openrouter.ai/keys)
3. Open the settings view (`agent: open settings`) and go to the OpenRouter section
3. Open the settings view ({#action agent::OpenSettings}) and go to the OpenRouter section
4. Enter your OpenRouter API key

The OpenRouter API key will be saved in your keychain.
Expand Down Expand Up @@ -812,7 +812,7 @@ These routing controls let you fine‑tune cost, capability, and reliability tra
[Vercel AI Gateway](https://vercel.com/ai-gateway) provides access to many models through a single OpenAI-compatible endpoint.

1. Create an API key from your [Vercel AI Gateway keys page](https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys&title=Go+to+AI+Gateway)
2. Open the settings view (`agent: open settings`) and go to the **Vercel AI Gateway** section
2. Open the settings view ({#action agent::OpenSettings}) and go to the **Vercel AI Gateway** section
3. Enter your Vercel AI Gateway API key

The Vercel AI Gateway API key will be saved in your keychain.
Expand All @@ -836,7 +836,7 @@ You can also set a custom endpoint for Vercel AI Gateway in your settings file:
Zed includes a dedicated [xAI](https://x.ai/) provider. You can use your own API key to access Grok models.

1. [Create an API key in the xAI Console](https://console.x.ai/team/default/api-keys)
2. Open the settings view (`agent: open settings`) and go to the **xAI** section
2. Open the settings view ({#action agent::OpenSettings}) and go to the **xAI** section
3. Enter your xAI API key

The xAI API key will be saved in your keychain. Zed will also use the `XAI_API_KEY` environment variable if it's defined.
Expand Down
4 changes: 2 additions & 2 deletions docs/src/ai/mcp.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Check out the [MCP Server Extensions](../extensions/mcp-extensions.md) page to l
Many MCP servers are available as extensions. Find them via:

1. [the Zed website](https://zed.dev/extensions?filter=context-servers)
2. in the app, open the Command Palette and run the `zed: extensions` action
2. in the app, open the Command Palette and run the {#action zed::Extensions} action
3. in the app, go to the Agent Panel's top-right menu and look for the "View Server Extensions" menu item

Popular servers available as an extension include:
Expand Down Expand Up @@ -64,7 +64,7 @@ You can connect them by adding their commands directly to your settings file ([h
}
```

Alternatively, you can also add a custom server by accessing the Agent Panel's Settings view (also accessible via the `agent: open settings` action).
Alternatively, you can also add a custom server by accessing the Agent Panel's Settings view (also accessible via the {#action agent::OpenSettings} action).
From there, you can add it through the modal that appears when you click the "Add Custom Server" button.

> Note: When a remote MCP server has no configured `"Authorization"` header, Zed will prompt you to authenticate yourself against the MCP server using the standard MCP OAuth flow.
Expand Down
Loading
Loading