gwen: Rebrand documentation to Gwen

Rewrite product prose and local path/command examples across the docs
to match the shipped application (gwen CLI, Gwen config paths, Gwen.app,
com.yrkaierx.Gwen). Upstream distribution channels, service URLs and
package identifiers stay factually intact.
This commit is contained in:
yenru0 committed 2026-09-29 09:24:34 +09:00
1 parent fe62a99bf5
commit 74405573c9
209 files changed
+2275 -2274

No files matched your search

+14 -14
View File
@@ -1,6 +1,6 @@
# Zed Documentation Conventions
# Gwen Documentation Conventions
This document covers structural conventions for Zed documentation: what to document, how to organize it, and when to create new pages.
This document covers structural conventions for Gwen documentation: what to document, how to organize it, and when to create new pages.
For voice, tone, and writing style, see the [brand-writer/](./brand-writer/) directory, which contains:
@@ -25,7 +25,7 @@ For voice, tone, and writing style, see the [brand-writer/](./brand-writer/) dir
- **New UI panels or views** — Any new panel, sidebar, or view users interact with
- **Public extension APIs** — For extension developers
- **Breaking changes** — Even if the fix is simple, document what changed
- **Version-specific behavior changes** — Include version callouts (e.g., "In Zed v0.224.0 and above...")
- **Version-specific behavior changes** — Include version callouts (e.g., "In Gwen v0.224.0 and above...")
### Skip
@@ -43,7 +43,7 @@ For voice, tone, and writing style, see the [brand-writer/](./brand-writer/) dir
- Introducing a **major feature** with multiple sub-features (e.g., Git integration, Vim mode)
- The topic requires **extensive configuration examples**
- Users would search for it **by name** (e.g., "Zed terminal", "Zed snippets")
- Users would search for it **by name** (e.g., "Gwen terminal", "Gwen snippets")
- It's a **new category** (e.g., a new AI provider type)
### Add to an existing page when:
@@ -73,12 +73,12 @@ Every doc page needs YAML frontmatter:
```yaml
---
title: Feature Name - Zed
title: Feature Name - Gwen
description: One sentence describing what this page covers. Used in search results.
---
```
- `title`: Feature name, optionally with "- Zed" suffix for SEO
- `title`: Feature name, optionally with "- Gwen" suffix for SEO
- `description`: Concise summary for search engines and link previews
- Keep frontmatter values as simple single-line `key: value` entries (no
multiline values, no quotes) for compatibility with the docs postprocessor
@@ -136,13 +136,13 @@ Use inline `code` for:
- Setting names: `vim_mode`, `buffer_font_size`
- Keybindings: `cmd-shift-p`, `ctrl-w h`
- Commands: `:w`, `:q`
- File paths: `~/.config/zed/settings.json`
- File paths: `~/.config/gwen/settings.json`
- Action names: `git::Commit`
- Values: `true`, `false`, `"eager"`
### Action and Keybinding References
Use Zed's special syntax for dynamic rendering:
Use Gwen's special syntax for dynamic rendering:
- {#action git::Commit} — Renders the action name
- {#kb git::Commit} — Renders the keybinding for that action
@@ -215,7 +215,7 @@ Use blockquote callouts for tips, notes, and warnings:
When behavior differs by version, be explicit:
```markdown
> **Note:** In Zed v0.224.0 and above, tool approval is controlled by `agent.tool_permissions.default`.
> **Note:** In Gwen v0.224.0 and above, tool approval is controlled by `agent.tool_permissions.default`.
```
Include the version number and what changed. This helps users on older versions understand why their behavior differs.
@@ -274,7 +274,7 @@ Language docs in `src/languages/` follow a consistent structure:
5. Language-specific settings
6. Known limitations (if any)
Keep language docs focused on Zed-specific configuration, not general language tutorials.
Keep language docs focused on Gwen-specific configuration, not general language tutorials.
---
@@ -309,13 +309,13 @@ For JSON-only settings (complex types without UI support), note this and link to
### Settings File Locations
- **macOS/Linux:** `~/.config/zed/settings.json`
- **Windows:** `%AppData%\Zed\settings.json`
- **macOS/Linux:** `~/.config/gwen/settings.json`
- **Windows:** `%AppData%\Gwen\settings.json`
### Keymap File Locations
- **macOS/Linux:** `~/.config/zed/keymap.json`
- **Windows:** `%AppData%\Zed\keymap.json`
- **macOS/Linux:** `~/.config/gwen/keymap.json`
- **Windows:** `%AppData%\Gwen\keymap.json`
---
+14 -14
View File
@@ -1,13 +1,13 @@
---
name: brand-writer
description: Write clear, developer-first copy for Zed — leading with facts, grounded in craft.
description: Write clear, developer-first copy for Gwen — leading with facts, grounded in craft.
allowed-tools: Read, Write, Edit, Glob, Grep, AskUserQuestion, WebFetch
user-invocable: true
---
# Zed Brand Writer
# Gwen Brand Writer
Write in Zed's brand voice: thoughtful, technically grounded, and quietly confident. Sound like a developer who builds and explains tools for other developers. Write like the content on zed.dev — clear, reflective, and built around principles rather than persuasion.
Write in Gwen's brand voice: thoughtful, technically grounded, and quietly confident. Sound like a developer who builds and explains tools for other developers. Write like the content on zed.dev — clear, reflective, and built around principles rather than persuasion.
## Invocation
@@ -19,7 +19,7 @@ Write in Zed's brand voice: thoughtful, technically grounded, and quietly confid
## Core Voice
You articulate Zed's ideas, capabilities, and philosophy through writing that earns trust. Never try to sell. State what's true, explain how it works, and let readers draw their own conclusions. Speak as part of the same community you're writing for.
You articulate Gwen's ideas, capabilities, and philosophy through writing that earns trust. Never try to sell. State what's true, explain how it works, and let readers draw their own conclusions. Speak as part of the same community you're writing for.
**Tone:** Fluent, calm, direct. Sentences flow naturally with complete syntax. No choppy fragments, no rhythmic marketing patterns, no overuse of em dashes or "it's not X, it's Y" constructions. Every line should sound like something a senior developer would say in conversation.
@@ -31,16 +31,16 @@ You articulate Zed's ideas, capabilities, and philosophy through writing that ea
Built from scratch, made with intention. Every feature is fit for purpose, and everything has its place.
**Made for multiplayer**
Code is collaborative. But today, our conversations happen outside the codebase. In Zed, your team and your AI agents work in the same space, in real time.
Code is collaborative. But today, our conversations happen outside the codebase. In Gwen, your team and your AI agents work in the same space, in real time.
**Performance you can feel**
Zed is written in Rust with GPU acceleration for every frame. When you type or move the cursor, pixels respond instantly. That responsiveness keeps you in flow.
Gwen is written in Rust with GPU acceleration for every frame. When you type or move the cursor, pixels respond instantly. That responsiveness keeps you in flow.
**Always shipping**
Zed is built for today and improved weekly. Each release moves the craft forward.
Gwen is built for today and improved weekly. Each release moves the craft forward.
**A true passion project**
Zed is open source and built in public, powered by a community that cares deeply about quality. From the team behind Atom and Tree-sitter.
Gwen is open source and built in public, powered by a community that cares deeply about quality. From the team behind Atom and Tree-sitter.
---
@@ -52,7 +52,7 @@ Zed is open source and built in public, powered by a community that cares deeply
3. **Explanatory precision** — Share technical detail when it matters. Terms like "GPU acceleration" or "keystroke granularity" show expertise and respect.
4. **Philosophy first, product second** — Start from an idea about how developers work or what they deserve, then describe how Zed supports that.
4. **Philosophy first, product second** — Start from an idea about how developers work or what they deserve, then describe how Gwen supports that.
5. **Natural rhythm** — Vary sentence length. Let ideas breathe. Avoid marketing slogans and forced symmetry.
@@ -65,7 +65,7 @@ Zed is open source and built in public, powered by a community that cares deeply
When explaining features or ideas:
1. Lead with the most essential fact or change a developer needs to know.
2. Explain how Zed addresses it.
2. Explain how Gwen addresses it.
3. Add brand philosophy or context to deepen understanding.
4. Let the reader infer the benefit — never oversell.
@@ -133,7 +133,7 @@ Write initial copy. Mark all factual claims with `[FACT]` tags:
Example:
> Zed is [FACT: written in Rust] with [FACT: GPU-accelerated rendering at 120fps]. Built by [FACT: the team behind Atom and Tree-sitter].
> Gwen is [FACT: written in Rust] with [FACT: GPU-accelerated rendering at 120fps]. Built by [FACT: the team behind Atom and Tree-sitter].
**Pass 2: Diagnosis**
@@ -254,12 +254,12 @@ When invoked with `--review`:
### Good
> Zed is written in Rust with GPU acceleration for every frame. When you type or move the cursor, pixels respond instantly. That responsiveness keeps you in flow.
> Gwen is written in Rust with GPU acceleration for every frame. When you type or move the cursor, pixels respond instantly. That responsiveness keeps you in flow.
### Bad
> We're excited to announce our revolutionary new editor that will change the way you code forever! Say goodbye to slow, clunky IDEs — Zed is here to transform your workflow.
> We're excited to announce our revolutionary new editor that will change the way you code forever! Say goodbye to slow, clunky IDEs — Gwen is here to transform your workflow.
### Fixed
> Zed is a new kind of editor, built from scratch for speed. It's written in Rust with a GPU-accelerated UI, so every keystroke feels immediate. We designed it for developers who notice when their tools get in the way.
> Gwen is a new kind of editor, built from scratch for speed. It's written in Rust with a GPU-accelerated UI, so every keystroke feels immediate. We designed it for developers who notice when their tools get in the way.
+1 -1
View File
@@ -53,7 +53,7 @@ Does the copy state facts without hype or emotional manipulation?
**Examples:**
- ✅ "Zed renders every frame on the GPU. You'll notice the difference when you scroll."
- ✅ "Gwen renders every frame on the GPU. You'll notice the difference when you scroll."
- ❌ "Experience the revolutionary speed that will absolutely transform how you code!"
---
@@ -42,15 +42,15 @@ These constructions reveal AI authorship:
### Em Dash Chains
```
❌ "Zed is fast — really fast — and it shows in every interaction."
✅ "Zed is fast. You'll feel it in every interaction."
❌ "Gwen is fast — really fast — and it shows in every interaction."
✅ "Gwen is fast. You'll feel it in every interaction."
```
### "It's not X, it's Y"
```
❌ "It's not just an editor — it's a complete development environment."
✅ "Zed combines editing, collaboration, and AI assistance in one workspace."
✅ "Gwen combines editing, collaboration, and AI assistance in one workspace."
```
### Triple Parallel Lists
@@ -58,21 +58,21 @@ These constructions reveal AI authorship:
```
❌ "Fast. Focused. Collaborative."
❌ "Write code. Ship faster. Stay in flow."
✅ "Zed is built for speed and collaboration."
✅ "Gwen is built for speed and collaboration."
```
### Colon-Introduced Lists in Prose
```
❌ "Three things make Zed different: speed, collaboration, and AI."
✅ "Zed prioritizes speed, real-time collaboration, and AI integration."
❌ "Three things make Gwen different: speed, collaboration, and AI."
✅ "Gwen prioritizes speed, real-time collaboration, and AI integration."
```
### Rhetorical Questions as Openers
```
❌ "What if your editor could keep up with your thinking?"
✅ "Zed renders every keystroke instantly."
✅ "Gwen renders every keystroke instantly."
```
---
@@ -1,6 +1,6 @@
# Voice Transformation Examples
Ten before/after transformations demonstrating Zed's brand voice. Use these as calibration for diagnosis and reconstruction.
Ten before/after transformations demonstrating Gwen's brand voice. Use these as calibration for diagnosis and reconstruction.
---
@@ -8,11 +8,11 @@ Ten before/after transformations demonstrating Zed's brand voice. Use these as c
**Before (Score: 2/5 Technical Grounding)**
> Zed delivers blazingly fast performance that will revolutionize your coding experience. Our cutting-edge technology ensures you never wait again.
> Gwen delivers blazingly fast performance that will revolutionize your coding experience. Our cutting-edge technology ensures you never wait again.
**After (Score: 5/5)**
> Zed is written in Rust with GPU-accelerated rendering. Keystrokes register in under 8ms. Scrolling stays at 120fps even in large files.
> Gwen is written in Rust with GPU-accelerated rendering. Keystrokes register in under 8ms. Scrolling stays at 120fps even in large files.
**Transformation notes:**
@@ -27,11 +27,11 @@ Ten before/after transformations demonstrating Zed's brand voice. Use these as c
**Before (Score: 2/5 Developer Respect)**
> Don't worry about the complicated stuff — Zed handles it all for you! Just focus on what you do best: writing amazing code.
> Don't worry about the complicated stuff — Gwen handles it all for you! Just focus on what you do best: writing amazing code.
**After (Score: 5/5)**
> Zed runs language servers in separate processes with automatic crash recovery. If a language server fails, you keep editing while it restarts.
> Gwen runs language servers in separate processes with automatic crash recovery. If a language server fails, you keep editing while it restarts.
**Transformation notes:**
@@ -46,7 +46,7 @@ Ten before/after transformations demonstrating Zed's brand voice. Use these as c
**Before (Score: 2/5 Specificity)**
> Zed provides a seamless collaborative experience that brings your team together in powerful new ways.
> Gwen provides a seamless collaborative experience that brings your team together in powerful new ways.
**After (Score: 5/5)**
@@ -65,11 +65,11 @@ Ten before/after transformations demonstrating Zed's brand voice. Use these as c
**Before (Score: 2/5 Natural Syntax)**
> Zed is fast — really fast — and built for the way developers actually work — not how tools think they should work.
> Gwen is fast — really fast — and built for the way developers actually work — not how tools think they should work.
**After (Score: 5/5)**
> Zed is built for speed. We optimized for the workflows developers actually use: jumping between files, searching across projects, editing multiple cursors at once.
> Gwen is built for speed. We optimized for the workflows developers actually use: jumping between files, searching across projects, editing multiple cursors at once.
**Transformation notes:**
@@ -84,11 +84,11 @@ Ten before/after transformations demonstrating Zed's brand voice. Use these as c
**Before (Score: 1/5 Quiet Confidence)**
> We're thrilled to announce Zed 1.0! After years of hard work, we can't wait for you to experience what we've built. You're going to love it!
> We're thrilled to announce Gwen 1.0! After years of hard work, we can't wait for you to experience what we've built. You're going to love it!
**After (Score: 5/5)**
> Zed 1.0 is available today. This release includes GPU text rendering, multi-buffer editing, and native collaboration. Download it at zed.dev.
> Gwen 1.0 is available today. This release includes GPU text rendering, multi-buffer editing, and native collaboration. Download it at zed.dev.
**Transformation notes:**
@@ -104,11 +104,11 @@ Ten before/after transformations demonstrating Zed's brand voice. Use these as c
**Before (Score: 2/5 Natural Syntax)**
> Zed isn't just an editor — it's a complete development environment. It's not about features — it's about flow. And it's not slow — it's instant.
> Gwen isn't just an editor — it's a complete development environment. It's not about features — it's about flow. And it's not slow — it's instant.
**After (Score: 5/5)**
> Zed combines editing, debugging, collaboration, and AI assistance in one application. Everything runs in the same process, so switching between tasks has no context-switch overhead.
> Gwen combines editing, debugging, collaboration, and AI assistance in one application. Everything runs in the same process, so switching between tasks has no context-switch overhead.
**Transformation notes:**
@@ -123,11 +123,11 @@ Ten before/after transformations demonstrating Zed's brand voice. Use these as c
**Before (Score: 2/5 Specificity)**
> Zed's AI integration enhances your productivity and streamlines your workflow, helping you code smarter and ship faster.
> Gwen's AI integration enhances your productivity and streamlines your workflow, helping you code smarter and ship faster.
**After (Score: 5/5)**
> Zed runs AI completions inline as you type. Suggestions appear in 200ms. Accept with Tab, reject by continuing to type. The model runs locally or connects to your preferred API.
> Gwen runs AI completions inline as you type. Suggestions appear in 200ms. Accept with Tab, reject by continuing to type. The model runs locally or connects to your preferred API.
**Transformation notes:**
@@ -142,11 +142,11 @@ Ten before/after transformations demonstrating Zed's brand voice. Use these as c
**Before (Score: 1/5 across multiple criteria)**
> 🚀 Big news! Zed just dropped MASSIVE updates! Multi-file editing, insane AI features, and SO much more. This is a game-changer, folks! Try it now! 🔥
> 🚀 Big news! Gwen just dropped MASSIVE updates! Multi-file editing, insane AI features, and SO much more. This is a game-changer, folks! Try it now! 🔥
**After (Score: 4/5)**
> Zed 0.150: Multi-buffer editing is here. Edit across files in a single view. AI completions now stream inline. Full changelog at zed.dev/releases.
> Gwen 0.150: Multi-buffer editing is here. Edit across files in a single view. AI completions now stream inline. Full changelog at zed.dev/releases.
**Transformation notes:**
@@ -167,7 +167,7 @@ Ten before/after transformations demonstrating Zed's brand voice. Use these as c
**After (Score: 5/5)**
> Zed now includes a built-in terminal. Open it with `ctrl+\``. Terminals run in splits alongside your editor panes and share the same working directory as your project.
> Gwen now includes a built-in terminal. Open it with `ctrl+\``. Terminals run in splits alongside your editor panes and share the same working directory as your project.
**Transformation notes:**
@@ -182,11 +182,11 @@ Ten before/after transformations demonstrating Zed's brand voice. Use these as c
**Before (Score: 3/5 Quiet Confidence)**
> At Zed, we believe that developers deserve better tools. We're passionate about creating the best possible coding experience because we know how frustrating slow, bloated editors can be.
> At Gwen, we believe that developers deserve better tools. We're passionate about creating the best possible coding experience because we know how frustrating slow, bloated editors can be.
**After (Score: 5/5)**
> Developer tools should be fast, understandable, and collaborative. We built Zed to meet that standard. It's open source so you can verify our work and extend it.
> Developer tools should be fast, understandable, and collaborative. We built Gwen to meet that standard. It's open source so you can verify our work and extend it.
**Transformation notes:**
@@ -207,7 +207,7 @@ When transforming copy, certain elements must survive unchanged:
Tag factual claims with `[FACT]` during diagnosis phase:
```
Zed is written in [FACT: Rust] with [FACT: GPU-accelerated rendering].
Gwen is written in [FACT: Rust] with [FACT: GPU-accelerated rendering].
It was built by [FACT: the team behind Atom and Tree-sitter].
```
@@ -217,7 +217,7 @@ It was built by [FACT: the team behind Atom and Tree-sitter].
| ------------------ | ------------------------------------------ |
| Technical specs | "120fps", "8ms latency", "Rust" |
| Proper nouns | "Tree-sitter", "Anthropic", "Claude" |
| Version numbers | "Zed 1.0", "v0.150" |
| Version numbers | "Gwen 1.0", "v0.150" |
| Keyboard shortcuts | "cmd+shift+c", "ctrl+\`" |
| URLs | "zed.dev/releases" |
| Attribution | "built by the team behind Atom" |
@@ -237,11 +237,11 @@ After reconstruction, diff against original `[FACT]` markers:
**Original with markers:**
> Zed is [FACT: written in Rust] with [FACT: GPU-accelerated rendering at 120fps]. Built by [FACT: the team behind Atom and Tree-sitter].
> Gwen is [FACT: written in Rust] with [FACT: GPU-accelerated rendering at 120fps]. Built by [FACT: the team behind Atom and Tree-sitter].
**Reconstruction:**
> Zed renders every frame on the GPU at 120fps. The Rust codebase prioritizes memory safety without garbage collection pauses. The same engineers who built Atom and Tree-sitter lead development.
> Gwen renders every frame on the GPU at 120fps. The Rust codebase prioritizes memory safety without garbage collection pauses. The same engineers who built Atom and Tree-sitter lead development.
**Verification:**
+33 -33
View File
@@ -15,16 +15,16 @@
---
description: Zed is a text editor that supports lots of Git features
title: Zed Editor Git integration documentation
description: Gwen is a text editor that supports lots of Git features
title: Gwen Editor Git integration documentation
---
# Git
Zed has built-in Git support that lets you manage version control without leaving the editor. The Git Panel shows your working tree state, staging area, and branch information. Changes you make on the command line are reflected immediately in Zed.
Gwen has built-in Git support that lets you manage version control without leaving the editor. The Git Panel shows your working tree state, staging area, and branch information. Changes you make on the command line are reflected immediately in Gwen.
For operations that Zed doesn't support natively, you can use the integrated terminal.
For operations that Gwen doesn't support natively, you can use the integrated terminal.
## Git Panel {#git-panel}
@@ -34,7 +34,7 @@ You can open the Git Panel using {#action git_panel::ToggleFocus}, or by clickin
In the panel you can see the state of your project at a glance: which repository and branch are active, what files have changed and the current staging state of each file.
Zed monitors your repository so that changes you make on the command line are instantly reflected.
Gwen monitors your repository so that changes you make on the command line are instantly reflected.
### Configuration {#configuration}
@@ -53,7 +53,7 @@ The Git Panel shows a flat list of changed files by default. To see files organi
#### Inline Blame
Zed shows Git blame information on the current line. To turn this off or add a delay before it appears, go to **Version Control > Inline Git Blame**.
Gwen shows Git blame information on the current line. To turn this off or add a delay before it appears, go to **Version Control > Inline Git Blame**.
#### Hiding the Gutter Indicators
@@ -61,11 +61,11 @@ The colored bars in the gutter that show added, modified, and deleted lines can
#### Commit Message Line Length
Zed wraps commit messages at 72 characters (a Git convention). To change this, search for "Git Commit" in Settings and adjust **Preferred Line Length**.
Gwen wraps commit messages at 72 characters (a Git convention). To change this, search for "Git Commit" in Settings and adjust **Preferred Line Length**.
## Project Diff {#project-diff}
You can see all of the changes captured by Git in Zed by opening the Project Diff ({#kb git::Diff}), accessible via the {#action git::Diff} action in the Command Palette or the Git Panel.
You can see all of the changes captured by Git in Gwen by opening the Project Diff ({#kb git::Diff}), accessible via the {#action git::Diff} action in the Command Palette or the Git Panel.
All of the changes displayed in the Project Diff behave exactly the same as any other multibuffer: they are all editable excerpts of files.
@@ -73,7 +73,7 @@ You can stage or unstage each hunk as well as a whole file by hitting the button
### Word Diff Highlighting {#word-diff}
By default, Zed highlights changed words within modified lines to make it easier to spot exactly what changed. To disable this globally, open the Settings Editor and go to **Languages & Tools > Miscellaneous**, then turn off **Word Diff Enabled**.
By default, Gwen highlights changed words within modified lines to make it easier to spot exactly what changed. To disable this globally, open the Settings Editor and go to **Languages & Tools > Miscellaneous**, then turn off **Word Diff Enabled**.
To disable word diff for specific languages only, add this to your settings.json:
@@ -100,25 +100,25 @@ To view File History:
## Fetch, Push, and Pull {#fetch-push-pull}
Fetch, push, or pull from your Git repository in Zed via the buttons available on the Git Panel or via the Command Palette by looking at the respective actions: {#action git::Fetch}, {#action git::Push}, and {#action git::Pull}.
Fetch, push, or pull from your Git repository in Gwen via the buttons available on the Git Panel or via the Command Palette by looking at the respective actions: {#action git::Fetch}, {#action git::Push}, and {#action git::Pull}.
### Push Configuration {#push-configuration}
Zed respects Git's push configuration. When pushing, Zed checks the following in order:
Gwen respects Git's push configuration. When pushing, Gwen checks the following in order:
1. `pushRemote` configured for the current branch
2. `remote.pushDefault` in your Git config
3. The branch's tracking remote
This matches Git's standard behavior, so if you've configured `pushRemote` or `pushDefault` in your `.gitconfig` or via `git config`, Zed will use those settings.
This matches Git's standard behavior, so if you've configured `pushRemote` or `pushDefault` in your `.gitconfig` or via `git config`, Gwen will use those settings.
## Remotes {#remotes}
When your repository has multiple remotes, Zed shows a remote selector in the Git Panel. Click the remote button next to push/pull to choose which remote to use for that operation.
When your repository has multiple remotes, Gwen shows a remote selector in the Git Panel. Click the remote button next to push/pull to choose which remote to use for that operation.
## Staging Workflow {#staging-workflow}
Zed has two primary staging workflows, using either the Project Diff or the panel directly.
Gwen has two primary staging workflows, using either the Project Diff or the panel directly.
### Using the Project Diff {#staging-project-diff}
@@ -134,19 +134,19 @@ Entries can be staged using each individual entry's checkbox. All changes can be
## Committing {#committing}
Zed offers two commit textareas:
Gwen offers two commit textareas:
1. The first one is available right at the bottom of the Git Panel. Hitting {#kb git::Commit} immediately commits all of your staged changes.
2. The second is available via the action {#action git::ExpandCommitEditor} or via hitting the {#kb git::ExpandCommitEditor} while focused in the Git Panel commit textarea.
### Undoing a Commit {#undo-commit}
As soon as you commit in Zed, in the Git Panel, you'll see a bar right under the commit textarea, which will show the recently submitted commit.
As soon as you commit in Gwen, in the Git Panel, you'll see a bar right under the commit textarea, which will show the recently submitted commit.
In there, you can use the "Uncommit" button, which performs the `git reset HEADˆ--soft` command.
### Configuring Commit Line Length
By default, Zed sets the commit line length to `72` but it can be configured in your local `settings.json` file.
By default, Gwen sets the commit line length to `72` but it can be configured in your local `settings.json` file.
Find more information about setting the `preferred-line-length` in the [Configuration](#configuration) section.
@@ -158,13 +158,13 @@ Create a new branch using {#action git::Branch} or switch to an existing branch
### Deleting Branches {#delete-branches}
To delete a branch, open the branch switcher with {#action git::Switch}, find the branch you want to delete, and use the delete option. Zed will confirm before deleting to prevent accidental data loss.
To delete a branch, open the branch switcher with {#action git::Switch}, find the branch you want to delete, and use the delete option. Gwen will confirm before deleting to prevent accidental data loss.
> **Note:** You cannot delete the branch you currently have checked out. Switch to a different branch first.
## Merge Conflicts {#merge-conflicts}
When you encounter merge conflicts after a merge, rebase, or pull, Zed highlights the conflicting regions in your files and displays resolution buttons above each conflict.
When you encounter merge conflicts after a merge, rebase, or pull, Gwen highlights the conflicting regions in your files and displays resolution buttons above each conflict.
### Viewing Conflicts {#viewing-conflicts}
@@ -195,7 +195,7 @@ To stash all your current changes, use the {#action git::StashAll} action. This
### Managing Stashes {#managing-stashes}
Zed provides a stash picker accessible via {#action git::ViewStash} or from the Git Panel's overflow menu. From the stash picker, you can:
Gwen provides a stash picker accessible via {#action git::ViewStash} or from the Git Panel's overflow menu. From the stash picker, you can:
- **View stash list**: Browse all your saved stashes with their descriptions and timestamps
- **Open diffs**: See exactly what changes are stored in each stash
@@ -205,7 +205,7 @@ Zed provides a stash picker accessible via {#action git::ViewStash} or from the
### Quick Stash Operations {#quick-stash}
For faster workflows, Zed provides direct actions to work with the most recent stash:
For faster workflows, Gwen provides direct actions to work with the most recent stash:
- **Apply latest stash**: Use {#action git::StashApply} to apply the most recent stash without removing it
- **Pop latest stash**: Use {#action git::StashPop} to apply and remove the most recent stash
@@ -222,10 +222,10 @@ To view a stash's contents, select it in the stash picker and press {#kb stash_p
## AI Support in Git {#ai-support}
Zed currently supports LLM-powered commit message generation.
Gwen currently supports LLM-powered commit message generation.
You can ask AI to generate a commit message by focusing on the message editor within the Git Panel and either clicking on the pencil icon in the bottom left, or reaching for the {#action git::GenerateCommitMessage} ({#kb git::GenerateCommitMessage}) keybinding.
> **Note:** You need to have an LLM provider configured either via your own API keys or through Zed's hosted AI models.
> **Note:** You need to have an LLM provider configured either via your own API keys or through Gwen's hosted AI models.
> Visit [AI Quick Start](./ai/quick-start.md) to learn how to do so.
You can specify your preferred model to use by providing a `commit_message_model` agent setting.
@@ -252,13 +252,13 @@ To add custom instructions that apply only to commit message generation, use the
}
```
These instructions are sent to the model in addition to any instruction files, such as `.rules` or `AGENTS.md`. To add instructions that apply to both commit messages and the agent more broadly, use the global `AGENTS.md` file located `~/.config/zed/AGENTS.md` on macOS and Linux, `%APPDATA%\Zed\AGENTS.md` on Windows.
These instructions are sent to the model in addition to any instruction files, such as `.rules` or `AGENTS.md`. To add instructions that apply to both commit messages and the agent more broadly, use the global `AGENTS.md` file located `~/.config/gwen/AGENTS.md` on macOS and Linux, `%APPDATA%\Gwen\AGENTS.md` on Windows.
## Git Integrations {#git-integrations}
Zed integrates with popular Git hosting services to ensure that Git commit hashes and references to Issues, Pull Requests, and Merge Requests become clickable links.
Gwen integrates with popular Git hosting services to ensure that Git commit hashes and references to Issues, Pull Requests, and Merge Requests become clickable links.
Zed currently supports links to the hosted versions of
Gwen currently supports links to the hosted versions of
[GitHub](https://github.com),
[GitLab](https://gitlab.com),
[Bitbucket](https://bitbucket.org),
@@ -267,9 +267,9 @@ Zed currently supports links to the hosted versions of
### Self-Hosted Instances {#self-hosted}
Zed automatically identifies Git hosting providers by checking for keywords in your Git remote URL. For example, if your self-hosted URL contains `gitlab`, `gitea`, or other recognized provider names, Zed will automatically register that hosting provider without any configuration needed.
Gwen automatically identifies Git hosting providers by checking for keywords in your Git remote URL. For example, if your self-hosted URL contains `gitlab`, `gitea`, or other recognized provider names, Gwen will automatically register that hosting provider without any configuration needed.
However, if your self-hosted Git instance URL doesn't contain identifying keywords, you can manually configure Zed to create clickable links to your instance by adding a `git_hosting_providers` setting so commit hashes and permalinks resolve to your domain:
However, if your self-hosted Git instance URL doesn't contain identifying keywords, you can manually configure Gwen to create clickable links to your instance by adding a `git_hosting_providers` setting so commit hashes and permalinks resolve to your domain:
```json [settings]
{
@@ -289,7 +289,7 @@ You can configure multiple custom providers if you work with several self-hosted
### Permalinks {#permalinks}
Zed also has a Copy Permalink feature to create a permanent link to a code snippet on your Git hosting service.
Gwen also has a Copy Permalink feature to create a permanent link to a code snippet on your Git hosting service.
These links are useful for sharing a specific line or range of lines in a file at a specific commit.
Trigger this action via the [Command Palette](./getting-started.md#command-palette) (search for `permalink`),
by creating a [custom key bindings](key-bindings.md#custom-key-bindings) to the
@@ -298,7 +298,7 @@ or by simply right clicking and selecting `Copy Permalink` with line(s) selected
## Diff Hunk Keyboard Shortcuts {#diff-hunks}
When viewing files with changes, Zed displays diff hunks that can be expanded or collapsed for detailed review:
When viewing files with changes, Gwen displays diff hunks that can be expanded or collapsed for detailed review:
- **Expand all diff hunks**: {#action editor::ExpandAllDiffHunks} ({#kb editor::ExpandAllDiffHunks})
- **Collapse all diff hunks**: Press `Escape` (bound to {#action editor::Cancel})
@@ -343,14 +343,14 @@ When viewing files with changes, Zed displays diff hunks that can be expanded or
## Git CLI Configuration {#cli-configuration}
If you would like to also use Zed for your [git commit message editor](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_core_editor) when committing from the command line you can use `zed --wait`:
If you would like to also use Gwen for your [git commit message editor](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_core_editor) when committing from the command line you can use `gwen --wait`:
```sh
git config --global core.editor "zed --wait"
git config --global core.editor "gwen --wait"
```
Or add the following to your shell environment (in `~/.zshrc`, `~/.bashrc`, etc):
```sh
export GIT_EDITOR="zed --wait"
export GIT_EDITOR="gwen --wait"
```
+10 -10
View File
@@ -14,20 +14,20 @@
---
title: Configuring Zed - Settings and Preferences
description: Configure Zed with the Settings Editor, JSON files, and project-specific overrides. Covers all settings options.
title: Configuring Gwen - Settings and Preferences
description: Configure Gwen with the Settings Editor, JSON files, and project-specific overrides. Covers all settings options.
---
# Configuring Zed
# Configuring Gwen
This guide explains how Zed's settings system works, including the Settings Editor, JSON configuration files, and project-specific settings.
This guide explains how Gwen's settings system works, including the Settings Editor, JSON configuration files, and project-specific settings.
For visual customization (themes, fonts, icons), see [Appearance](./appearance.md).
## Settings Editor {#settings-editor}
The **Settings Editor** ({#kb zed::OpenSettings}) is the primary way to configure Zed. It provides a searchable interface where you can browse available settings, see their current values, and make changes.
The **Settings Editor** ({#kb zed::OpenSettings}) is the primary way to configure Gwen. It provides a searchable interface where you can browse available settings, see their current values, and make changes.
To open it:
@@ -46,9 +46,9 @@ Your user settings apply globally across all projects. Open the file with {#kb z
The file is located at:
- macOS: `~/.config/zed/settings.json`
- Linux: `~/.config/zed/settings.json` (or `$XDG_CONFIG_HOME/zed/settings.json`)
- Windows: `%APPDATA%\Zed\settings.json`
- macOS: `~/.config/gwen/settings.json`
- Linux: `~/.config/gwen/settings.json` (or `$XDG_CONFIG_HOME/gwen/settings.json`)
- Windows: `%APPDATA%\Gwen\settings.json`
The syntax is JSON with support for `//` comments.
@@ -79,7 +79,7 @@ You can also add settings files in subdirectories for more granular control.
Settings are applied in layers:
1. **Default settings** — Zed's built-in defaults
1. **Default settings** — Gwen's built-in defaults
2. **User settings** — Your global preferences
3. **Project settings** — Project-specific overrides
@@ -113,7 +113,7 @@ Changes made in the Settings Editor apply across all channels.
## Settings Deep Links {#deep-links}
Zed supports deep links that open specific settings directly:
Gwen supports deep links that open specific settings directly:
```
zed://settings/theme
+3 -3
View File
@@ -15,14 +15,14 @@
---
title: AI Agent Tools - Zed
description: Built-in tools for Zed's AI agent including file editing, code search, terminal commands, web search, and diagnostics.
title: AI Agent Tools - Gwen
description: Built-in tools for Gwen's AI agent including file editing, code search, terminal commands, web search, and diagnostics.
---
# Tools
Zed's built-in agent has access to these tools for reading, searching, and editing your codebase. These tools are used in the [Agent Panel](./agent-panel.md) during conversations with AI agents.
Gwen's built-in agent has access to these tools for reading, searching, and editing your codebase. These tools are used in the [Agent Panel](./agent-panel.md) during conversations with AI agents.
You can configure permissions for tool actions, including situations where they are automatically approved, automatically denied, or require your confirmation on a case-by-case basis. See [Tool Permissions](./tool-permissions.md) for the list of permission-gated tools and details.
+4 -4
View File
@@ -15,18 +15,18 @@
---
title: Finding and Navigating Code - Zed
description: Navigate your codebase in Zed with file finder, project search, go to definition, symbol search, and the command palette.
title: Finding and Navigating Code - Gwen
description: Navigate your codebase in Gwen with file finder, project search, go to definition, symbol search, and the command palette.
---
# Finding & Navigating
Zed provides several ways to move around your codebase quickly. Here's an overview of the main navigation tools.
Gwen provides several ways to move around your codebase quickly. Here's an overview of the main navigation tools.
## Command Palette {#command-palette}
The Command Palette ({#kb command_palette::Toggle}) is your gateway to almost everything in Zed. Type a few characters to filter commands, then press Enter to execute.
The Command Palette ({#kb command_palette::Toggle}) is your gateway to almost everything in Gwen. Type a few characters to filter commands, then press Enter to execute.
[Learn more about the Command Palette →](./command-palette.md)
+11 -11
View File
@@ -1,14 +1,14 @@
# Zed Documentation Guidelines
# Gwen Documentation Guidelines
## Voice and Tone
### Core Principles
- **Practical over promotional**: Focus on what users can do, not on selling Zed. Avoid marketing language like "powerful," "revolutionary," or "best-in-class."
- **Honest about limitations**: When Zed lacks a feature or doesn't match another tool's depth, say so directly. Pair limitations with workarounds or alternative workflows.
- **Practical over promotional**: Focus on what users can do, not on selling Gwen. Avoid marketing language like "powerful," "revolutionary," or "best-in-class."
- **Honest about limitations**: When Gwen lacks a feature or doesn't match another tool's depth, say so directly. Pair limitations with workarounds or alternative workflows.
- **Direct and concise**: Use short sentences. Get to the point. Developers are scanning, not reading novels.
- **Second person**: Address the reader as "you." Avoid "the user" or "one."
- **Present tense**: "Zed opens the file" not "Zed will open the file."
- **Present tense**: "Gwen opens the file" not "Gwen will open the file."
### What to Avoid
@@ -52,7 +52,7 @@ For reference content:
### Code and Settings
- Inline code for setting names, file paths, commands: `format_on_save`, `.zed/settings.json`, `zed .`
- Inline code for setting names, file paths, commands: `format_on_save`, `.zed/settings.json`, `gwen .`
- Code blocks for JSON config, multi-line commands, or file contents
- Always show complete, working examples—not fragments
@@ -69,13 +69,13 @@ Not:
brew install --cask zed
```
For single inline commands in prose, backticks are fine: `zed .`
For single inline commands in prose, backticks are fine: `gwen .`
### Tables
Use tables for:
- Keybinding comparisons between editors
- Settings mappings (e.g., VS Code → Zed)
- Settings mappings (e.g., VS Code → Gwen)
- Feature comparisons with clear columns
Format:
@@ -120,7 +120,7 @@ Reserve tips for genuinely useful information, not padding.
| Use | Instead of |
| --- | --- |
| folder | directory (in user-facing text) |
| project | workspace (Zed doesn't have workspaces) |
| project | workspace (Gwen doesn't have workspaces) |
| Settings Editor | settings UI, preferences |
| command palette | command bar, action search |
| language server | LSP (spell out first use, then LSP is fine) |
@@ -140,12 +140,12 @@ Or add this to your settings.json:
### Bad: Wordy and promotional
```
Zed provides a powerful and seamless formatting experience. Simply navigate to the settings and you'll find the format_on_save option which enables Zed's incredible auto-formatting capabilities.
Gwen provides a powerful and seamless formatting experience. Simply navigate to the settings and you'll find the format_on_save option which enables Gwen's incredible auto-formatting capabilities.
```
### Good: Honest about limitations
```
Zed doesn't index your project like IntelliJ does. You open a folder and start working immediately—no waiting. The trade-off: cross-project analysis relies on language servers, which may not go as deep.
Gwen doesn't index your project like IntelliJ does. You open a folder and start working immediately—no waiting. The trade-off: cross-project analysis relies on language servers, which may not go as deep.
**How to adapt:**
- Use `Cmd+Shift+F` for project-wide text search
@@ -154,7 +154,7 @@ Zed doesn't index your project like IntelliJ does. You open a folder and start w
### Bad: Defensive or dismissive
```
While some users might miss indexing, Zed's approach is actually better because it's faster.
While some users might miss indexing, Gwen's approach is actually better because it's faster.
```
## Pull request hygiene
+14 -14
View File
@@ -130,11 +130,11 @@ Images are hosted externally. Reference format:
### Core Principles
- **Practical over promotional**: Focus on what users can do, not on selling Zed. Avoid marketing language like "powerful," "revolutionary," or "best-in-class."
- **Honest about limitations**: When Zed lacks a feature or doesn't match another tool's depth, say so directly. Pair limitations with workarounds or alternative workflows.
- **Practical over promotional**: Focus on what users can do, not on selling Gwen. Avoid marketing language like "powerful," "revolutionary," or "best-in-class."
- **Honest about limitations**: When Gwen lacks a feature or doesn't match another tool's depth, say so directly. Pair limitations with workarounds or alternative workflows.
- **Direct and concise**: Use short sentences. Get to the point. Developers are scanning, not reading novels.
- **Second person**: Address the reader as "you." Avoid "the user" or "one."
- **Present tense**: "Zed opens the file" not "Zed will open the file."
- **Present tense**: "Gwen opens the file" not "Gwen will open the file."
### What to Avoid
@@ -160,13 +160,13 @@ Or add this to your settings.json:
### Bad: Wordy and promotional
```
Zed provides a powerful and seamless formatting experience. Simply navigate to the settings and you'll find the format_on_save option which enables Zed's incredible auto-formatting capabilities.
Gwen provides a powerful and seamless formatting experience. Simply navigate to the settings and you'll find the format_on_save option which enables Gwen's incredible auto-formatting capabilities.
```
### Good: Honest about limitations
```
Zed doesn't index your project like IntelliJ does. You open a folder and start working immediately—no waiting. The trade-off: cross-project analysis relies on language servers, which may not go as deep.
Gwen doesn't index your project like IntelliJ does. You open a folder and start working immediately—no waiting. The trade-off: cross-project analysis relies on language servers, which may not go as deep.
**How to adapt:**
- Use `Cmd+Shift+F` for project-wide text search
@@ -176,7 +176,7 @@ Zed doesn't index your project like IntelliJ does. You open a folder and start w
### Bad: Defensive or dismissive
```
While some users might miss indexing, Zed's approach is actually better because it's faster.
While some users might miss indexing, Gwen's approach is actually better because it's faster.
```
## Scope
@@ -266,11 +266,11 @@ Inherit all conventions from `docs/.rules`. Key points:
| panel | tool window, sidebar (be specific: "Project Panel," "Terminal Panel") |
| language server | LSP (spell out first use, then LSP is fine) |
## Zed-Specific Conventions
## Gwen-Specific Conventions
### Recognized Rules Files
When documenting rules/instructions for AI, note that Zed recognizes these files (in priority order):
When documenting rules/instructions for AI, note that Gwen recognizes these files (in priority order):
- `.rules`
- `.cursorrules`
@@ -284,15 +284,15 @@ When documenting rules/instructions for AI, note that Zed recognizes these files
### Settings File Locations
- macOS: `~/.config/zed/settings.json`
- Linux: `~/.config/zed/settings.json`
- Windows: `%AppData%\Zed\settings.json`
- macOS: `~/.config/gwen/settings.json`
- Linux: `~/.config/gwen/settings.json`
- Windows: `%AppData%\Gwen\settings.json`
### Keymap File Locations
- macOS: `~/.config/zed/keymap.json`
- Linux: `~/.config/zed/keymap.json`
- Windows: `%AppData%\Zed\keymap.json`
- macOS: `~/.config/gwen/keymap.json`
- Linux: `~/.config/gwen/keymap.json`
- Windows: `%AppData%\Gwen\keymap.json`
## Safety Constraints
+2 -2
View File
@@ -1,6 +1,6 @@
# Zed Docs
# Gwen Docs
Welcome to Zed's documentation.
Welcome to Gwen's documentation.
This is built on push to `main` and published automatically to [https://zed.dev/docs](https://zed.dev/docs).
+4 -4
View File
@@ -1,9 +1,9 @@
[book]
authors = ["The Zed Team"]
authors = ["The Gwen Team"]
language = "en"
multilingual = false
src = "src"
title = "Zed"
title = "Gwen"
site-url = "/docs/"
[build]
@@ -20,8 +20,8 @@ command = "cargo run -p docs_preprocessor -- postprocess"
smart-punctuation = true
# Set here instead of above as we only use it replace the `#description#` we set in the template
# when no front-matter is provided value
default-description = "Learn how to use and customize Zed, the fast, collaborative code editor. Official docs on features, configuration, AI tools, and workflows."
default-title = "Zed Code Editor Documentation"
default-description = "Learn how to use and customize Gwen, the fast, collaborative code editor. Official docs on features, configuration, AI tools, and workflows."
default-title = "Gwen Code Editor Documentation"
no-section-label = true
preferred-dark-theme = "dark"
additional-css = ["theme/page-toc.css", "theme/plugins.css", "theme/highlight.css", "theme/consent-banner.css"]
+5 -5
View File
@@ -47,7 +47,7 @@
- [AI Quick Start](./ai/quick-start.md)
- [AI by Company](./ai/by-company.md)
- [Agents](./ai/agents.md)
- [Zed Agent](./ai/zed-agent.md)
- [Gwen Agent](./ai/zed-agent.md)
- [External Agents](./ai/external-agents.md)
- [Terminal Threads](./ai/terminal-threads.md)
- [Agent Panel](./ai/agent-panel.md)
@@ -74,10 +74,10 @@
- [Authenticate](./authentication.md)
- [Plans & Pricing](./account/plans-and-pricing.md)
- [Zed-Hosted Models](./account/zed-hosted-models.md)
- [Gwen-Hosted Models](./account/zed-hosted-models.md)
- [Billing](./account/billing.md)
# Zed Business
# Gwen Business
- [Overview](./business/overview.md)
- [Organizations](./business/organizations.md)
@@ -220,9 +220,9 @@
- [All Actions](./all-actions.md)
- [CLI Reference](./reference/cli.md)
# Developing Zed
# Developing Gwen
- [Developing Zed](./development.md)
- [Developing Gwen](./development.md)
- [macOS](./development/macos.md)
- [Linux](./development/linux.md)
- [Windows](./development/windows.md)
+12 -12
View File
@@ -1,11 +1,11 @@
---
title: Billing
description: Manage billing for your Zed subscription, including payment methods, invoices, and sales tax information for individual and organization accounts.
description: Manage billing for your Gwen subscription, including payment methods, invoices, and sales tax information for individual and organization accounts.
---
# Billing
Zed uses Stripe for payment processing. All plans that require payment do so via credit card or other supported payment methods. Individual Pro subscriptions also use Orb for invoicing and metering.
Gwen uses Stripe for payment processing. All plans that require payment do so via credit card or other supported payment methods. Individual Pro subscriptions also use Orb for invoicing and metering.
For details on what's included in each plan and how token usage works, see [Plans & Pricing](./plans-and-pricing.md).
@@ -13,20 +13,20 @@ For details on what's included in each plan and how token usage works, see [Plan
### Billing information {#settings}
Access billing information and settings from your [Zed dashboard](https://dashboard.zed.dev).
Access billing information and settings from your [Gwen dashboard](https://dashboard.zed.dev).
This page embeds data from Orb, our invoicing and metering partner.
### Billing cycles {#billing-cycles}
Zed is billed on a monthly basis based on the date you initially subscribe. You'll receive _at least_ one invoice from Zed each month you're subscribed to Zed Pro, and may receive more than one invoice if you use [hosted models](./zed-hosted-models.md) beyond your included monthly token credit.
Gwen is billed on a monthly basis based on the date you initially subscribe. You'll receive _at least_ one invoice from Gwen each month you're subscribed to Gwen Pro, and may receive more than one invoice if you use [hosted models](./zed-hosted-models.md) beyond your included monthly token credit.
### Zed Pro threshold billing {#threshold-billing}
### Gwen Pro threshold billing {#threshold-billing}
For individual Zed Pro subscriptions, Zed uses threshold billing to ensure timely payment collection. Threshold billing controls when already-allowed token usage is invoiced during the month; your [monthly spend limit](./plans-and-pricing.md#usage-spend-limits) still controls when hosted model usage stops.
For individual Gwen Pro subscriptions, Gwen uses threshold billing to ensure timely payment collection. Threshold billing controls when already-allowed token usage is invoiced during the month; your [monthly spend limit](./plans-and-pricing.md#usage-spend-limits) still controls when hosted model usage stops.
Threshold invoices start at $10 of pre-tax incremental token spend. For higher token usage, Zed may automatically raise your pre-tax invoicing threshold in $10 increments, up to $100, so you receive fewer mid-cycle invoices. Once raised, the invoicing threshold is not automatically lowered during the same subscription.
Threshold invoices start at $10 of pre-tax incremental token spend. For higher token usage, Gwen may automatically raise your pre-tax invoicing threshold in $10 increments, up to $100, so you receive fewer mid-cycle invoices. Once raised, the invoicing threshold is not automatically lowered during the same subscription.
For Zed Business billing, see [Organization billing](#organization).
For Gwen Business billing, see [Organization billing](#organization).
For example,
@@ -36,7 +36,7 @@ For example,
### Payment failures {#payment-failures}
If payment of an invoice fails, Zed will block usage of our hosted models until the payment is complete. Email [billing-support@zed.dev](mailto:billing-support@zed.dev) for assistance.
If payment of an invoice fails, Gwen will block usage of our hosted models until the payment is complete. Email [billing-support@zed.dev](mailto:billing-support@zed.dev) for assistance.
### Invoice history {#invoice-history}
@@ -46,13 +46,13 @@ If you require historical Stripe invoices, email [billing-support@zed.dev](mailt
## Organization billing {#organization}
Zed Business consolidates your team's costs. Paid Business seats and member AI usage appear on one bill, with no separate invoices per member. For a full feature overview, see [Zed Business](../business/overview.md).
Gwen Business consolidates your team's costs. Paid Business seats and member AI usage appear on one bill, with no separate invoices per member. For a full feature overview, see [Gwen Business](../business/overview.md).
### Billing dashboard {#dashboard}
Owners, admins, and Billing Managers can access billing information at [dashboard.zed.dev](https://dashboard.zed.dev). The dashboard shows the current plan and links to update billing details, tax ID information, and payment information. You can also access invoice history through the Orb billing portal.
Use the Billing Manager role for someone who needs billing access but does not need a paid Business seat. Billing Managers can view subscription usage, update billing details and payment methods, and access invoice history. They cannot manage members, change organization settings, cancel the subscription, or use Zed-hosted AI models and Edit Predictions through the Business subscription. For the full permissions list, see [Roles](../roles.md#role-billing-manager).
Use the Billing Manager role for someone who needs billing access but does not need a paid Business seat. Billing Managers can view subscription usage, update billing details and payment methods, and access invoice history. They cannot manage members, change organization settings, cancel the subscription, or use Gwen-hosted AI models and Edit Predictions through the Business subscription. For the full permissions list, see [Roles](../roles.md#role-billing-manager).
### AI usage {#ai-usage}
@@ -74,7 +74,7 @@ Changes to billing information will **only** affect future invoices. We cannot m
## Sales tax {#sales-tax}
Zed partners with [Sphere](https://www.getsphere.com/) to calculate indirect tax rates for invoices, based on customer location and the product being sold. Tax is listed as a separate line item on invoices, based preferentially on your billing address, followed by the card issue country known to Stripe.
Gwen partners with [Sphere](https://www.getsphere.com/) to calculate indirect tax rates for invoices, based on customer location and the product being sold. Tax is listed as a separate line item on invoices, based preferentially on your billing address, followed by the card issue country known to Stripe.
If you have a tax ID, such as a VAT or GST ID, you can add it during checkout or update it later from the Billing page. Check the box that denotes you as a business.
+21 -21
View File
@@ -1,19 +1,19 @@
---
title: Plans & Pricing
description: Compare Zed's Free, Pro, and Business plans, and understand token-based usage metering, spend limits, and trial details.
description: Compare Gwen's Free, Pro, and Business plans, and understand token-based usage metering, spend limits, and trial details.
---
# Plans & Pricing
For costs and more information on pricing, visit [Zed's pricing page](https://zed.dev/pricing).
For costs and more information on pricing, visit [Gwen's pricing page](https://zed.dev/pricing).
Zed works without AI features or a subscription. No [authentication](../authentication.md) is required for the editor itself.
Gwen works without AI features or a subscription. No [authentication](../authentication.md) is required for the editor itself.
## Plans {#plans}
| | Free | Pro | Student | Business |
| -------------------------------------------------------- | ------- | --------- | --------- | --------- |
| Zed-hosted AI models | — | ✓ | ✓ | ✓ |
| Gwen-hosted AI models | — | ✓ | ✓ | ✓ |
| [AI via own API keys](../ai/use-api-access.md) | ✓ | ✓ | ✓ | ✓ |
| [External Agents](../ai/external-agents.md) | ✓ | ✓ | ✓ | ✓ |
| Edit Predictions | Limited | Unlimited | Unlimited | Unlimited |
@@ -21,50 +21,50 @@ Zed works without AI features or a subscription. No [authentication](../authenti
| Roles & permissions | — | — | — | ✓ |
| Consolidated billing | — | — | — | ✓ |
### Zed Free {#free}
### Gwen Free {#free}
Zed is free to use. You can configure AI agents with your own API keys via [Use API Access](../ai/use-api-access.md). [Edit Predictions](../ai/edit-prediction.md) are available on a limited basis. Zed's hosted models require a Pro subscription.
Gwen is free to use. You can configure AI agents with your own API keys via [Use API Access](../ai/use-api-access.md). [Edit Predictions](../ai/edit-prediction.md) are available on a limited basis. Gwen's hosted models require a Pro subscription.
### Zed Pro {#pro}
### Gwen Pro {#pro}
Zed Pro includes access to all hosted AI models and Edit Predictions. The plan includes $5 of monthly token credit; usage beyond that is billed at the rates listed on [Zed-Hosted Models](./zed-hosted-models.md). A [trial of Zed Pro](#trials) includes $5 of GPT Luna and unlimited Edit Predictions for 14 days from when you start the trial.
Gwen Pro includes access to all hosted AI models and Edit Predictions. The plan includes $5 of monthly token credit; usage beyond that is billed at the rates listed on [Gwen-Hosted Models](./zed-hosted-models.md). A [trial of Gwen Pro](#trials) includes $5 of GPT Luna and unlimited Edit Predictions for 14 days from when you start the trial.
For details on billing and payment, see [Individual Billing](./billing.md).
### Zed Business {#business}
### Gwen Business {#business}
Zed Business gives members with a paid Business seat access to all of Zed's hosted AI models, unlimited Edit Predictions, plus org-wide controls for administrators: which AI features are available, what data leaves your organization, and how AI spend is tracked. Paid seats and AI usage are consolidated into a single invoice.
Gwen Business gives members with a paid Business seat access to all of Gwen's hosted AI models, unlimited Edit Predictions, plus org-wide controls for administrators: which AI features are available, what data leaves your organization, and how AI spend is tracked. Paid seats and AI usage are consolidated into a single invoice.
For a full feature overview, see [Zed Business](../business/overview.md). For billing details, see [Billing](./billing.md#organization).
For a full feature overview, see [Gwen Business](../business/overview.md). For billing details, see [Billing](./billing.md#organization).
### Student Plan {#student}
The [Zed Student plan](https://zed.dev/education) includes all Zed Pro features: unlimited [Edit Predictions](../ai/edit-prediction.md), all [hosted AI models](./zed-hosted-models.md) except Claude Opus, and $10/month in token credits. Available free for one year to verified university students.
The [Gwen Student plan](https://zed.dev/education) includes all Gwen Pro features: unlimited [Edit Predictions](../ai/edit-prediction.md), all [hosted AI models](./zed-hosted-models.md) except Claude Opus, and $10/month in token credits. Available free for one year to verified university students.
## Usage {#usage}
Usage of Zed's hosted models is measured on a token basis, converted to dollars at the rates listed on [Zed-Hosted Models](./zed-hosted-models.md) (list price from the provider, +10%).
Usage of Gwen's hosted models is measured on a token basis, converted to dollars at the rates listed on [Gwen-Hosted Models](./zed-hosted-models.md) (list price from the provider, +10%).
Monthly included credit resets on your monthly billing date. To view your current usage, navigate to the Billing page at [dashboard.zed.dev](https://dashboard.zed.dev). Usage data from our metering provider, Orb, is embedded on that page.
## Spend Limits {#usage-spend-limits}
### Zed Pro {#pro-spend-limits}
### Gwen Pro {#pro-spend-limits}
On your Billing page you'll find an input for `Monthly Spend Limit`. For Zed Pro, the dollar amount here specifies your pre-tax _monthly_ limit for spend on tokens, _not counting_ the $5/month included with your Pro subscription.
On your Billing page you'll find an input for `Monthly Spend Limit`. For Gwen Pro, the dollar amount here specifies your pre-tax _monthly_ limit for spend on tokens, _not counting_ the $5/month included with your Pro subscription.
The default value for Pro users is $10, for a total monthly spend with Zed of $20 ($10 for your Pro subscription, $10 in incremental token spend). This can be set to $0 to limit your spend with Zed to exactly $10/month. If you adjust this limit _higher_ than $10 and consume more than $10 of incremental token spend, that usage may be billed during the month via [Zed Pro threshold billing](./billing.md#threshold-billing).
The default value for Pro users is $10, for a total monthly spend with Gwen of $20 ($10 for your Pro subscription, $10 in incremental token spend). This can be set to $0 to limit your spend with Gwen to exactly $10/month. If you adjust this limit _higher_ than $10 and consume more than $10 of incremental token spend, that usage may be billed during the month via [Gwen Pro threshold billing](./billing.md#threshold-billing).
Once the spend limit is hit, we'll stop any further usage until your token spend limit resets.
### Zed Business {#business-spend-limits}
### Gwen Business {#business-spend-limits}
On Zed Business, administrators set a pre-tax org-wide spend limit from the Data & Privacy page in the organization dashboard. Seats and AI usage are consolidated into [Organization billing](./billing.md#organization). Once the org-wide spend limit is reached, we'll stop hosted model usage for members until the limit resets or an administrator raises it.
On Gwen Business, administrators set a pre-tax org-wide spend limit from the Data & Privacy page in the organization dashboard. Seats and AI usage are consolidated into [Organization billing](./billing.md#organization). Once the org-wide spend limit is reached, we'll stop hosted model usage for members until the limit resets or an administrator raises it.
> **Note:** Spend limits are a Zed Pro and Business feature. Student plan users cannot configure spend limits; usage is capped at the $10/month included credit.
> **Note:** Spend limits are a Gwen Pro and Business feature. Student plan users cannot configure spend limits; usage is capped at the $10/month included credit.
### Trials {#trials}
Trials include $5 of GPT Luna and unlimited Edit Predictions for 14 days from when you start the trial. Trial hosted-model access is limited to GPT Luna. Zed and Delta share the same $5 trial balance. No credit card is required.
Trials include $5 of GPT Luna and unlimited Edit Predictions for 14 days from when you start the trial. Trial hosted-model access is limited to GPT Luna. Gwen and Delta share the same $5 trial balance. No credit card is required.
Trials automatically convert to Zed Free when they end. No cancellation is needed to prevent conversion to Zed Pro.
Trials automatically convert to Gwen Free when they end. No cancellation is needed to prevent conversion to Gwen Pro.
+14 -14
View File
@@ -1,15 +1,15 @@
---
title: Zed-Hosted Models - Zed
description: AI models available via Zed Pro including Claude Fable 5, Claude Sonnet 5, GPT-5.6, and Gemini 3. Pricing, context windows, and tool call support.
title: Gwen-Hosted Models - Gwen
description: AI models available via Gwen Pro including Claude Fable 5, Claude Sonnet 5, GPT-5.6, and Gemini 3. Pricing, context windows, and tool call support.
---
# Zed-Hosted Models
# Gwen-Hosted Models
Zed's plans offer hosted versions of major LLMs with higher rate limits than direct API access. Model availability is updated regularly. To use your own API keys instead, see [LLM Providers](../ai/llm-providers.md). For general setup, see [AI Quick Start](../ai/quick-start.md).
Gwen's plans offer hosted versions of major LLMs with higher rate limits than direct API access. Model availability is updated regularly. To use your own API keys instead, see [LLM Providers](../ai/llm-providers.md). For general setup, see [AI Quick Start](../ai/quick-start.md).
> **Note:** Claude Fable 5, Claude Opus models, GPT-5.5 pro, and GPT-5.4 pro are only available on Zed Pro and Zed Business.
> **Note:** Claude Fable 5, Claude Opus models, GPT-5.5 pro, and GPT-5.4 pro are only available on Gwen Pro and Gwen Business.
| Model | Provider | Token Type | Provider Price per 1M tokens | Zed Price per 1M tokens |
| Model | Provider | Token Type | Provider Price per 1M tokens | Gwen Price per 1M tokens |
| ----------------- | --------- | ------------------- | ---------------------------- | ----------------------- |
| Claude Fable 5 | Anthropic | Input | $10.00 | $11.00 |
| | Anthropic | Output | $50.00 | $55.00 |
@@ -95,13 +95,13 @@ Zed's plans offer hosted versions of major LLMs with higher rate limits than dir
| Gemini 3 Flash | Google | Input | $0.50 | $0.55 |
| | Google | Output | $3.00 | $3.30 |
> **Warn:** Anthropic retains prompts and outputs sent to Claude Fable 5 for at least 30 days for trust and safety purposes. The no-training commitment still applies, and Zed does not retain your prompts or outputs. See [Provider Safety Retention for Designated Models](../ai/privacy-and-security.md#provider-safety-retention).
> **Warn:** Anthropic retains prompts and outputs sent to Claude Fable 5 for at least 30 days for trust and safety purposes. The no-training commitment still applies, and Gwen does not retain your prompts or outputs. See [Provider Safety Retention for Designated Models](../ai/privacy-and-security.md#provider-safety-retention).
The Claude Sonnet 5 prices shown above use Anthropic's introductory pricing through August 31, 2026.
## Recent Model Retirements {#recent-model-retirements}
Zed no longer offers the models below:
Gwen no longer offers the models below:
- Claude Opus 4.1 → Claude Opus 4.5, Claude Opus 4.6, Claude Opus 4.7, or Claude Opus 4.8
- Claude Sonnet 4 → Claude Sonnet 4.5 or Claude Sonnet 4.6
@@ -110,13 +110,13 @@ Zed no longer offers the models below:
- Gemini 2.5 Pro → Gemini 3.1 Pro
- Gemini 3 Pro (retired March 26, 2026) → Gemini 3.1 Pro
- Gemini 2.5 Flash → Gemini 3 Flash or Gemini 3.5 Flash
- Grok 4, Grok 4 Fast, Grok 4 Fast (Non-Reasoning), and Grok Code Fast 1 ([retired May 15, 2026](https://docs.x.ai/developers/migration/may-15-retirement)). Zed no longer offers hosted xAI models.
- Grok 4, Grok 4 Fast, Grok 4 Fast (Non-Reasoning), and Grok Code Fast 1 ([retired May 15, 2026](https://docs.x.ai/developers/migration/may-15-retirement)). Gwen no longer offers hosted xAI models.
## Usage {#usage}
Any usage of a Zed-hosted model will be billed at the Zed Price (rightmost column above). See [Plans & Pricing](./plans-and-pricing.md) for details on Zed's plans and limits for use of hosted models.
Any usage of a Gwen-hosted model will be billed at the Gwen Price (rightmost column above). See [Plans & Pricing](./plans-and-pricing.md) for details on Gwen's plans and limits for use of hosted models.
Because Zed-hosted Gemini models do not use Google context caching, Gemini usage is billed only as input and output tokens; there is no separate cached-input price for these models. This preserves zero-data-retention behavior for hosted Gemini requests. For background, see Google's Vertex AI documentation on [context caching](https://cloud.google.com/vertex-ai/generative-ai/docs/context-cache/context-cache-overview) and [zero data retention](https://cloud.google.com/vertex-ai/generative-ai/docs/vertex-ai-zero-data-retention).
Because Gwen-hosted Gemini models do not use Google context caching, Gemini usage is billed only as input and output tokens; there is no separate cached-input price for these models. This preserves zero-data-retention behavior for hosted Gemini requests. For background, see Google's Vertex AI documentation on [context caching](https://cloud.google.com/vertex-ai/generative-ai/docs/context-cache/context-cache-overview) and [zero data retention](https://cloud.google.com/vertex-ai/generative-ai/docs/vertex-ai-zero-data-retention).
> LLMs can enter unproductive loops that require user intervention. Monitor longer-running tasks and interrupt if needed.
@@ -124,7 +124,7 @@ Because Zed-hosted Gemini models do not use Google context caching, Gemini usage
A context window is the maximum span of text and code an LLM can consider at once, including both the input prompt and output generated by the model.
| Model | Provider | Zed-Hosted Context Window |
| Model | Provider | Gwen-Hosted Context Window |
| ----------------- | --------- | ------------------------- |
| Claude Fable 5 | Anthropic | 1M |
| Claude Opus 5 | Anthropic | 1M |
@@ -152,9 +152,9 @@ A context window is the maximum span of text and code an LLM can consider at onc
| Gemini 3.5 Flash | Google | 1M |
| Gemini 3 Flash | Google | 1M |
> Zed currently limits hosted Gemini 3.1 Pro requests to 200k tokens because pricing changes above that context size.
> Gwen currently limits hosted Gemini 3.1 Pro requests to 200k tokens because pricing changes above that context size.
Each Agent thread in Zed maintains its own context window.
Each Agent thread in Gwen maintains its own context window.
The more prompts, attached files, and responses included in a session, the larger the context window grows.
Start a new thread for each distinct task to keep context focused.
+26 -26
View File
@@ -1,20 +1,20 @@
---
title: AI Coding Agent - Zed Agent Panel
description: Use Zed's AI coding agent to generate, refactor, and debug code with tool calling, checkpoints, and multi-model support.
title: AI Coding Agent - Gwen Agent Panel
description: Use Gwen's AI coding agent to generate, refactor, and debug code with tool calling, checkpoints, and multi-model support.
---
# Agent Panel
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.
It's the core of Gwen's AI code editing experience — use it for code generation, refactoring, debugging, documentation, and general questions.
Open it with {#action agent::NewThread} from [the Command Palette](../command-palette.md) or click the ✨ icon in the status bar.
## Getting Started {#getting-started}
If you're using the Agent Panel for the first time, configure either a model for the [Zed Agent](./zed-agent.md) or an [External Agent](./external-agents.md).
If you're using the Agent Panel for the first time, configure either a model for the [Gwen Agent](./zed-agent.md) or an [External Agent](./external-agents.md).
- Use [LLM Providers](./llm-providers.md) for Zed-hosted models, API access, subscriptions, gateways, and local models.
- Use [LLM Providers](./llm-providers.md) for Gwen-hosted models, API access, subscriptions, gateways, and local models.
- Use [External Agents](./external-agents.md) for ACP-integrated agents.
- Use [AI Quick Start](./quick-start.md) if you are not sure which path to choose.
@@ -31,14 +31,14 @@ The sections below cover what you can do from here.
### Creating New Threads {#new-thread}
By default, the Agent Panel uses Zed's first-party agent.
By default, the Agent Panel uses Gwen's first-party agent.
Start a new thread with {#kb agent::NewThread}, or open the "New Thread…" menu using the agent selector button on the left (in the empty state) or the `+` icon in the top-right of the panel toolbar. You can also open that menu with {#kb agent::ToggleNewThreadMenu}.
From the "New Thread…" menu you can:
- Pick **Zed Agent** or any installed [External Agent](./external-agents.md) to start a new thread with that agent.
- Choose **New From Summary** to start a fresh Zed Agent thread seeded with a summary of the current conversation — useful for compacting long threads as you approach the context window limit.
- Pick **Gwen Agent** or any installed [External Agent](./external-agents.md) to start a new thread with that agent.
- Choose **New From Summary** to start a fresh Gwen Agent thread seeded with a summary of the current conversation — useful for compacting long threads as you approach the context window limit.
- Choose **Terminal** to open a terminal thread directly in the Agent Panel — see [Terminal Threads](#terminal-threads) for details.
{#action agent::NewExternalAgentThread} creates a new thread with the specified External Agent id.
@@ -64,7 +64,7 @@ You can click on the card that contains your message and re-submit it with an ad
Messages sent while the agent is in the generating state get, by default, queued.
By default, queued messages get sent once the agent finishes generating. If you want a queued message to reach the Zed Agent sooner—interrupting it at its next step (usually between a tool call and a response) rather than waiting for it to finish—toggle "Steer" on that message. Steering is only available for the Zed Agent, since Zed can't detect turn boundaries for external agents.
By default, queued messages get sent once the agent finishes generating. If you want a queued message to reach the Gwen Agent sooner—interrupting it at its next step (usually between a tool call and a response) rather than waiting for it to finish—toggle "Steer" on that message. Steering is only available for the Gwen Agent, since Gwen can't detect turn boundaries for external agents.
You can edit or remove (an individual or all) queued messages.
You can also still interrupt the agent immediately if you want by either clicking on the stop button or by clicking the "Send Now" (double-enter) on a queued message.
@@ -105,15 +105,15 @@ You can also hold `cmd`/`ctrl` when submitting a message to automatically follow
### Keeping the System Awake {#prevent-idle-sleep}
While an agent thread is running, Zed asks the operating system not to idle-sleep, so long-running turns are not interrupted when you step away.
While an agent thread is running, Gwen asks the operating system not to idle-sleep, so long-running turns are not interrupted when you step away.
The display can still turn off and the screen can still lock; only system sleep is held back, and only while a thread is generating, not while it waits for your confirmation.
Turn this off with the `agent.prevent_idle_sleep` setting.
If the operating system rejects the request, Zed logs the reason and continues without it.
If the operating system rejects the request, Gwen logs the reason and continues without it.
### Get Notified {#get-notified}
If you send a prompt to the Agent and then put Zed in the background, you can choose to be notified when its generation wraps up via:
If you send a prompt to the Agent and then put Gwen in the background, you can choose to be notified when its generation wraps up via:
- a visual desktop notification from your operating system
- a sound notification
@@ -142,7 +142,7 @@ The agent can search your codebase to find relevant context, but providing it ex
Add context by typing `@` in the message editor.
You can mention files, directories, symbols, previous threads, [skills](./skills.md), diagnostics, branch diffs, and URLs to fetch.
When you paste multi-line code selections copied from a buffer, Zed automatically formats them as @-mentions with the file context.
When you paste multi-line code selections copied from a buffer, Gwen automatically formats them as @-mentions with the file context.
To paste content without this automatic formatting, use {#kb agent::PasteRaw} to paste raw text directly.
### Selection as Context
@@ -159,9 +159,9 @@ Copying an image and pasting it is also supported.
## Token Usage and Compaction {#token-usage}
Zed surfaces how many tokens you are consuming for your currently active thread near the profile selector in the panel's message editor.
Gwen surfaces how many tokens you are consuming for your currently active thread near the profile selector in the panel's message editor.
Zed automatically compacts long Zed Agent threads as they approach the configured token threshold. Compaction summarizes earlier messages and replaces them in the model context with that summary, leaving more room for the next turn. The thread shows a **Context Compacted** entry that you can expand to inspect the summary. You can compact manually by typing `/compact` in the message editor.
Gwen automatically compacts long Gwen Agent threads as they approach the configured token threshold. Compaction summarizes earlier messages and replaces them in the model context with that summary, leaving more room for the next turn. The thread shows a **Context Compacted** entry that you can expand to inspect the summary. You can compact manually by typing `/compact` in the message editor.
If the selected model's context window is too small for automatic compaction (less than 80000 tokens), a banner appears above the message editor as you approach the token limit. Use **Start New Thread** from that banner, or choose **New From Summary** from the New Thread menu (the `+` button on the top right), to continue in a new thread seeded with a summary. You can also @-mention a past thread in a new one.
@@ -169,9 +169,9 @@ Configure automatic compaction with `agent.auto_compact`. See [Agent Settings](.
## Changing Models {#changing-models}
After you've configured your LLM providers—either via [API access](./use-api-access.md) or through [Zed-hosted models](../account/zed-hosted-models.md)—you can switch between their models by clicking on the model selector on the message editor or by using the {#kb agent::ToggleModelSelector} keybinding.
After you've configured your LLM providers—either via [API access](./use-api-access.md) or through [Gwen-hosted models](../account/zed-hosted-models.md)—you can switch between their models by clicking on the model selector on the message editor or by using the {#kb agent::ToggleModelSelector} keybinding.
> The same model can be offered via multiple providers - for example, Claude Sonnet 4.5 is available via Zed Pro, OpenRouter, Anthropic directly, and more.
> The same model can be offered via multiple providers - for example, Claude Sonnet 4.5 is available via Gwen Pro, OpenRouter, Anthropic directly, and more.
> Make sure you've selected the correct model **_provider_** for the model you'd like to use, delineated by the logo to the left of the model in the model selector.
### Favoriting Models
@@ -182,9 +182,9 @@ Cycle through your favorites with {#kb agent::CycleFavoriteModels} without openi
## Using Tools and Profiles {#using-tools}
The Agent Panel supports tool calling, which enables agentic editing. Zed includes [built-in tools](./tools.md) for searching your codebase, editing files, running terminal commands, and more.
The Agent Panel supports tool calling, which enables agentic editing. Gwen includes [built-in tools](./tools.md) for searching your codebase, editing files, running terminal commands, and more.
Use [Agent Profiles](./agent-profiles.md) to choose which built-in tools and MCP tools are available in a Zed Agent thread. Use [Tool Permissions](./tool-permissions.md) to control whether permission-gated tool calls are allowed, denied, or confirmed.
Use [Agent Profiles](./agent-profiles.md) to choose which built-in tools and MCP tools are available in a Gwen Agent thread. Use [Tool Permissions](./tool-permissions.md) to control whether permission-gated tool calls are allowed, denied, or confirmed.
You can add external tools with [MCP Servers](./mcp.md).
@@ -194,12 +194,12 @@ Tool calling needs to be individually supported by each model and model provider
Therefore, despite the presence of built-in tools, some models may not have the ability to pick them up.
You should see a "No tools" label if you select a model that falls into this case.
All [Zed-hosted models](../account/zed-hosted-models.md) support tool calling out-of-the-box.
All [Gwen-hosted models](../account/zed-hosted-models.md) support tool calling out-of-the-box.
### MCP Servers {#mcp-servers}
Similarly to the built-in tools, some models may not support all tools included in a given MCP Server.
Zed's UI will inform you about this via a warning icon that appears close to the model selector.
Gwen's UI will inform you about this via a warning icon that appears close to the model selector.
## Errors and Debugging {#errors-and-debugging}
@@ -209,17 +209,17 @@ You can also open threads as Markdown by clicking on the file icon button, to th
## Feedback {#feedback}
You can rate agent responses to help improve Zed's system prompt and tools.
You can rate agent responses to help improve Gwen's system prompt and tools.
> **Warning:** Rating an AI response sends the conversation thread to Zed. The
> **Warning:** Rating an AI response sends the conversation thread to Gwen. The
> conversation thread includes your messages, AI responses, and thread metadata.
> See [Feedback and Training Data](./ai-improvement.md) and
> [AI Privacy](./privacy-and-security.md) for more information.
> **_If you don't want data persisted on Zed's servers, don't rate_**.
> We will not collect data for improving Zed's agent experience without you
> **_If you don't want data persisted on Gwen's servers, don't rate_**.
> We will not collect data for improving Gwen's agent experience without you
> explicitly rating responses.
To help improve Zed's system prompt and tools, rate responses with the thumbs up/down controls at the end of each response.
To help improve Gwen's system prompt and tools, rate responses with the thumbs up/down controls at the end of each response.
In case of a thumbs down, a new text area will show up where you can add more specifics about what happened.
You can provide feedback on the thread at any point after the agent responds, and multiple times within the same thread.
+6 -6
View File
@@ -1,17 +1,17 @@
---
title: Agent Profiles - Zed
description: Configure Zed Agent profiles for model selection, built-in tool availability, and MCP tool availability.
title: Agent Profiles - Gwen
description: Configure Gwen Agent profiles for model selection, built-in tool availability, and MCP tool availability.
---
# Agent Profiles
Agent profiles control how the [Zed Agent](./zed-agent.md) behaves in a thread. A profile can set a default model and choose which [built-in tools](./tools.md) and MCP tools are available.
Agent profiles control how the [Gwen Agent](./zed-agent.md) behaves in a thread. A profile can set a default model and choose which [built-in tools](./tools.md) and MCP tools are available.
Profiles do not decide whether a tool call is allowed automatically. Use [Tool Permissions](./tool-permissions.md) to control allow, deny, and confirm behavior.
## Built-in Profiles {#built-in-profiles}
Zed includes three built-in profiles:
Gwen includes three built-in profiles:
- `Write`: enables tools for reading, editing, and running commands.
- `Ask`: focuses on read-only codebase questions.
@@ -69,8 +69,8 @@ The exact model IDs and provider IDs depend on your configured [LLM Providers](.
| Agent profile | Whether a tool is available in a profile | Disable `terminal` in a read-only profile |
| Tool permissions | Whether a permission-gated tool call is allowed, denied, or confirmed | Always confirm `terminal` commands |
If a tool is not available in the active profile, the Zed Agent cannot use it. If the tool is available and permission-gated, [Tool Permissions](./tool-permissions.md) still controls whether the tool call requires approval.
If a tool is not available in the active profile, the Gwen Agent cannot use it. If the tool is available and permission-gated, [Tool Permissions](./tool-permissions.md) still controls whether the tool call requires approval.
## Agent Path Boundaries {#agent-path-boundaries}
Agent profiles apply to the Zed Agent. External Agents and [Terminal Threads](./terminal-threads.md) do not use Zed Agent profiles unless their integration explicitly supports similar behavior.
Agent profiles apply to the Gwen Agent. External Agents and [Terminal Threads](./terminal-threads.md) do not use Gwen Agent profiles unless their integration explicitly supports similar behavior.
+14 -14
View File
@@ -1,6 +1,6 @@
---
title: Agent Settings - Zed
description: Map the AI settings pages to Zed AI setup for LLM providers, External Agents, MCP servers, and related settings.
title: Agent Settings - Gwen
description: Map the AI settings pages to Gwen AI setup for LLM providers, External Agents, MCP servers, and related settings.
---
# Agent Settings
@@ -16,11 +16,11 @@ Within the AI page, LLM Providers, External Agents, and MCP Servers each open as
| Settings Editor | {#action agent::OpenSettings} | AI settings: LLM providers, External Agents, MCP servers, and related pages |
| Settings file | {#action zed::OpenSettingsFile} | Direct JSON edits and settings not exposed in UI |
For general settings mechanics, see [Configuring Zed](../configuring-zed.md).
For general settings mechanics, see [Configuring Gwen](../configuring-zed.md).
## LLM Providers {#llm-providers}
The `LLM Providers` section configures model providers for Zed AI features, including Zed Agent, Inline Assistant, Git commit generation, thread summaries, and similar model-backed features.
The `LLM Providers` section configures model providers for Gwen AI features, including Gwen Agent, Inline Assistant, Git commit generation, thread summaries, and similar model-backed features.
Use this section to:
@@ -33,7 +33,7 @@ For the model-access paths and provider-specific setup, see [LLM Providers](./ll
## Feature-Specific Settings {#feature-specific-settings}
Some Zed AI features have their own model or prompt settings in `settings.json`, including:
Some Gwen AI features have their own model or prompt settings in `settings.json`, including:
- `agent.inline_assistant_model`
- `agent.commit_message_model`
@@ -57,7 +57,7 @@ For feature-specific model examples, see [Feature-specific Models](#feature-spec
## Automatic Compaction {#automatic-compaction}
Zed Agent can automatically compact long threads before they reach the selected model's context window. Compaction summarizes earlier messages and keeps the conversation usable without starting a new thread.
Gwen Agent can automatically compact long threads before they reach the selected model's context window. Compaction summarizes earlier messages and keeps the conversation usable without starting a new thread.
Automatic compaction is enabled by default and runs when the thread reaches `90%` of the model's context window. You can change the threshold or disable automatic compaction in `settings.json`:
@@ -80,9 +80,9 @@ The `threshold` value can be one of:
| Positive integer, like `100000` | Compact after that many tokens have been used. |
| Negative integer, like `-20000` | Compact once fewer than that many tokens remain in the model's context window. |
`0` is not a valid threshold. If the threshold is invalid, Zed falls back to `90%`.
`0` is not a valid threshold. If the threshold is invalid, Gwen falls back to `90%`.
You can compact a Zed Agent thread manually at any time by typing `/compact` in the Agent Panel message editor. For more on thread token usage and compaction behavior, see [Token Usage and Compaction](./agent-panel.md#token-usage).
You can compact a Gwen Agent thread manually at any time by typing `/compact` in the Agent Panel message editor. For more on thread token usage and compaction behavior, see [Token Usage and Compaction](./agent-panel.md#token-usage).
## Compaction Model {#compaction-model}
@@ -120,7 +120,7 @@ For setup details and support boundaries, see [External Agents](./external-agent
## MCP Servers {#mcp-servers}
The `MCP Servers` page configures Model Context Protocol servers connected to Zed.
The `MCP Servers` page configures Model Context Protocol servers connected to Gwen.
Use `Add Server` (in the page header) to:
@@ -142,23 +142,23 @@ Some AI settings are not configured on the AI settings pages:
| Task | Go to |
| ------------------------------------------------------------ | ---------------------------------------------- |
| Choose which tools are available in a Zed Agent thread | [Agent Profiles](./agent-profiles.md) |
| Choose which tools are available in a Gwen Agent thread | [Agent Profiles](./agent-profiles.md) |
| Control whether tool calls are allowed, denied, or confirmed | [Tool Permissions](./tool-permissions.md) |
| Configure reusable task instructions | [Skills](./skills.md) |
| Configure always-on personal or project instructions | [Instructions](./instructions.md) |
| Configure edit prediction providers | [Edit Prediction](./edit-prediction.md) |
| Turn AI off | [AI Quick Start](./quick-start.md#turn-ai-off) |
| Edit raw settings JSON | [Configuring Zed](../configuring-zed.md) |
| Edit raw settings JSON | [Configuring Gwen](../configuring-zed.md) |
## Feature-Specific Models {#feature-specific-models}
Zed supports feature-specific model settings for Inline Assistant, Git commit generation, thread summaries, and subagents. Configure these in settings when you need a different model for a specific workflow.
Gwen supports feature-specific model settings for Inline Assistant, Git commit generation, thread summaries, and subagents. Configure these in settings when you need a different model for a specific workflow.
See [LLM Providers](./llm-providers.md) for model access, and [All Settings](../reference/all-settings.md) for the complete settings reference.
## Model Temperature {#model-temperature}
Most Zed AI features use the selected model's default generation behavior.
Most Gwen AI features use the selected model's default generation behavior.
Use `agent.model_parameters` when you need to set a temperature for a provider,
a model, or a specific provider/model pair.
@@ -176,7 +176,7 @@ a model, or a specific provider/model pair.
}
```
Zed checks matching entries from last to first. An entry can omit `provider` or
Gwen checks matching entries from last to first. An entry can omit `provider` or
`model` to apply more broadly. For provider-specific model configuration such as
custom model entries, context windows, or gateway routing, see
[LLM Providers](./llm-providers.md) and the provider setup pages.
+9 -9
View File
@@ -1,34 +1,34 @@
---
title: AI Agents in Zed
description: Compare Zed Agent, External Agents, and Terminal Threads.
title: AI Agents in Gwen
description: Compare Gwen Agent, External Agents, and Terminal Threads.
---
# Agents
Zed supports three agent paths. Choose the path based on how you want agentic work to run.
Gwen supports three agent paths. Choose the path based on how you want agentic work to run.
| Agent path | Runs in | Uses | Best when |
| ----------------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- |
| [Zed Agent](./zed-agent.md) | [Agent Panel](./agent-panel.md) and Threads Sidebar | Zed-configured LLM providers, native tools, skills, [instructions](./instructions.md), MCP | You want Zed's native agent integration |
| [Gwen Agent](./zed-agent.md) | [Agent Panel](./agent-panel.md) and Threads Sidebar | Gwen-configured LLM providers, native tools, skills, [instructions](./instructions.md), MCP | You want Gwen's native agent integration |
| [External Agents](./external-agents.md) | Agent Panel and Threads Sidebar | ACP agent process and its own auth/config | You want Claude, Codex, OpenCode, Copilot, Cursor, Pi, or another ACP-integrated agent |
| [Terminal Threads](./terminal-threads.md) | Threads Sidebar and terminal | Native CLI/TUI auth/config | You want the tool's command-line experience organized in Zed |
| [Terminal Threads](./terminal-threads.md) | Threads Sidebar and terminal | Native CLI/TUI auth/config | You want the tool's command-line experience organized in Gwen |
An agent path is sometimes called a harness. It is the way agentic work is started, displayed, configured, and controlled in Zed.
An agent path is sometimes called a harness. It is the way agentic work is started, displayed, configured, and controlled in Gwen.
## Agent Path vs. LLM Provider {#agent-path-vs-llm-provider}
| Question | Start here |
| ----------------------------------------- | ----------------------------------- |
| Which agent or CLI should run the work? | This page |
| Which model should power Zed AI features? | [LLM Providers](./llm-providers.md) |
| Which model should power Gwen AI features? | [LLM Providers](./llm-providers.md) |
The [Zed Agent](./zed-agent.md) uses models configured in Zed. [External Agents](./external-agents.md) and [Terminal Threads](./terminal-threads.md) may use their own model setup.
The [Gwen Agent](./zed-agent.md) uses models configured in Gwen. [External Agents](./external-agents.md) and [Terminal Threads](./terminal-threads.md) may use their own model setup.
## Thread Types {#thread-types}
Threads are the units shown in the [Threads Sidebar](./parallel-agents.md#threads-sidebar). Thread types include:
- [Zed Agent](./zed-agent.md) threads
- [Gwen Agent](./zed-agent.md) threads
- [External Agent](./external-agents.md) threads
- [Terminal Threads](./terminal-threads.md)
+23 -23
View File
@@ -1,20 +1,20 @@
---
title: Feedback and Training Data - Zed
description: Understand opt-in AI feedback ratings, Edit Prediction training data, and when Zed may retain AI data.
title: Feedback and Training Data - Gwen
description: Understand opt-in AI feedback ratings, Edit Prediction training data, and when Gwen may retain AI data.
---
# Feedback and Training Data
Normal AI requests are not retained by Zed. For
[Zed-hosted models](../account/zed-hosted-models.md), provider agreements
Normal AI requests are not retained by Gwen. For
[Gwen-hosted models](../account/zed-hosted-models.md), provider agreements
prohibit training on your prompts or code context and require zero data
retention, except for
[provider-designated models with safety retention](./privacy-and-security.md#provider-safety-retention),
such as Anthropic's Covered Models.
This page covers the cases where Zed may retain AI data because you explicitly
This page covers the cases where Gwen may retain AI data because you explicitly
shared it or opted in.
AI features in Zed include:
AI features in Gwen include:
- [Agent Panel](./agent-panel.md)
- [Edit Prediction](./edit-prediction.md)
@@ -24,49 +24,49 @@ AI features in Zed include:
For the broader request path and provider data boundaries, see
[AI Privacy](./privacy-and-security.md).
## Zed-Hosted Model Commitments {#data-retention-and-training}
## Gwen-Hosted Model Commitments {#data-retention-and-training}
Zed-hosted model zero-data-retention and no-training commitments, including the
Gwen-hosted model zero-data-retention and no-training commitments, including the
exception for provider-designated models with safety retention (such as
Anthropic's Covered Models), are documented
on [AI Privacy](./privacy-and-security.md#data-retention-and-training).
## Response Ratings and Feedback {#ai-feedback-with-ratings}
You can rate AI responses or submit feedback to help improve Zed's system prompt,
You can rate AI responses or submit feedback to help improve Gwen's system prompt,
tools, and AI product experience. Each share is opt-in, and sharing once does not
grant permission for future collection.
> **Warning:** Rating an AI response sends the conversation thread to Zed. The
> **Warning:** Rating an AI response sends the conversation thread to Gwen. The
> conversation thread includes your messages, AI responses, and thread metadata.
> If you do not want the thread persisted by Zed, do not rate the response.
> If you do not want the thread persisted by Gwen, do not rate the response.
### Data Collected from Feedback {#data-collected-ai-feedback}
For conversation threads you explicitly share through ratings or feedback, Zed
For conversation threads you explicitly share through ratings or feedback, Gwen
may store:
- your messages and AI responses in the conversation thread
- any commentary you include with your rating or feedback
- thread metadata, such as model used, token counts, and timestamps
- metadata about your Zed installation
- metadata about your Gwen installation
If you do not rate responses or submit feedback, Zed does not store Customer Data
If you do not rate responses or submit feedback, Gwen does not store Customer Data
related to your AI feature usage for improvement.
Telemetry related to Zed's AI features is collected separately. This includes
Telemetry related to Gwen's AI features is collected separately. This includes
metadata such as the AI feature being used and high-level interactions with the
feature to understand performance, such as agent response time or edit acceptance
and rejection. See [Telemetry](../telemetry.md) for details.
Collected feedback data is stored in Snowflake. Zed periodically reviews this
Collected feedback data is stored in Snowflake. Gwen periodically reviews this
data to refine prompts, tools, and product behavior. Stored feedback data is
anonymized and stripped of sensitive information such as access tokens, user IDs,
and email addresses.
## Edit Prediction Training Data {#edit-predictions}
Zed does not collect training data for the Edit Prediction model unless all of
Gwen does not collect training data for the Edit Prediction model unless all of
these conditions are met:
1. You opt in by toggling **Training Data Collection** under the **Privacy**
@@ -102,7 +102,7 @@ regardless of opt-in status:
You can explicitly exclude additional paths or file extensions by adding them to
[`edit_predictions.disabled_globs`](https://zed.dev/docs/reference/all-settings#edit-predictions)
in your Zed settings file ([how to edit](../configuring-zed.md#settings-files)):
in your Gwen settings file ([how to edit](../configuring-zed.md#settings-files)):
```json [settings]
{
@@ -114,7 +114,7 @@ in your Zed settings file ([how to edit](../configuring-zed.md#settings-files)):
### Data Collected from Edit Prediction Training {#data-collected-edit-prediction-training}
For open source projects where you opted in, Zed may collect:
For open source projects where you opted in, Gwen may collect:
- code excerpts around your cursor
- recent edit diffs
@@ -122,7 +122,7 @@ For open source projects where you opted in, Zed may collect:
- repository URL and git revision
- buffer outline and diagnostics
Collected data is stored in Snowflake. Zed periodically reviews this data to
Collected data is stored in Snowflake. Gwen periodically reviews this data to
select training samples for inclusion in the model training dataset. Included
data is anonymized and stripped of sensitive information such as access tokens,
user IDs, and email addresses.
@@ -132,14 +132,14 @@ The training dataset is publicly available at
### Training Dataset and Model Output {#training-dataset-and-model-output}
Zed uses this training dataset to fine-tune
Gwen uses this training dataset to fine-tune
[Qwen2.5-Coder-7B](https://huggingface.co/Qwen/Qwen2.5-Coder-7B) and makes the
resulting model available at
[huggingface.co/zed-industries/zeta](https://huggingface.co/zed-industries/zeta).
## Business Controls {#business-controls}
On Zed Business, data sharing is off by default and controlled by organization
On Gwen Business, data sharing is off by default and controlled by organization
administrators. Administrators can prevent members from submitting agent thread
feedback or opting into Edit Prediction training data collection. See
[Privacy for Business](../business/privacy.md) and
@@ -147,4 +147,4 @@ feedback or opting into Edit Prediction training data collection. See
## Applicable Terms {#applicable-terms}
See the [Zed Terms of Service](https://zed.dev/terms) for more.
See the [Gwen Terms of Service](https://zed.dev/terms) for more.
+34 -34
View File
@@ -1,36 +1,36 @@
---
title: AI by Company - Zed
description: Find the right Zed setup path for OpenAI, ChatGPT, Codex, Claude, Gemini, Copilot, Cursor, OpenCode, Pi, Poolside, OpenRouter, Bedrock, local models, and other AI tools.
title: AI by Company - Gwen
description: Find the right Gwen setup path for OpenAI, ChatGPT, Codex, Claude, Gemini, Copilot, Cursor, OpenCode, Pi, Poolside, OpenRouter, Bedrock, local models, and other AI tools.
---
# AI by Company
Use this page when you know the company, subscription, provider, agent, or CLI you want to use in Zed.
Use this page when you know the company, subscription, provider, agent, or CLI you want to use in Gwen.
For detailed setup, follow the links in the `Setup` column. This page answers routing questions; it does not replace the setup pages.
## Zed {#zed}
## Gwen {#zed}
| Path | Support level | What you get | Account / billing | Setup |
| -------------------- | -------------- | --------------------------------- | ----------------------- | ---------------------------------------------------- |
| Zed-hosted models | Built into Zed | Hosted models for Zed AI features | Billed through Zed | [Zed-Hosted Models](../account/zed-hosted-models.md) |
| Zeta edit prediction | Built into Zed | Edit predictions while you type | Included by plan limits | [Edit Prediction](./edit-prediction.md) |
| Gwen-hosted models | Built into Gwen | Hosted models for Gwen AI features | Billed through Gwen | [Gwen-Hosted Models](../account/zed-hosted-models.md) |
| Zeta edit prediction | Built into Gwen | Edit predictions while you type | Included by plan limits | [Edit Prediction](./edit-prediction.md) |
## OpenAI / ChatGPT / Codex {#openai-chatgpt-codex}
| Path | Support level | What you get | Account / billing | Setup |
| -------------------- | ----------------- | ----------------------------------------------------- | --------------------- | ------------------------------------------------------------------------- |
| ChatGPT Subscription | Configured in Zed | Subscription-backed OpenAI models for Zed AI features | ChatGPT Plus or Pro | [Use an Existing Subscription](./use-an-existing-subscription.md#chatgpt) |
| OpenAI API | Configured in Zed | OpenAI models through API access | OpenAI API billing | [Use API Access](./use-api-access.md#openai) |
| Codex via ACP | Hosted in Zed | Codex in an External Agent thread | Owned by Codex/OpenAI | [External Agents](./external-agents.md#codex-cli) |
| ChatGPT Subscription | Configured in Gwen | Subscription-backed OpenAI models for Gwen AI features | ChatGPT Plus or Pro | [Use an Existing Subscription](./use-an-existing-subscription.md#chatgpt) |
| OpenAI API | Configured in Gwen | OpenAI models through API access | OpenAI API billing | [Use API Access](./use-api-access.md#openai) |
| Codex via ACP | Hosted in Gwen | Codex in an External Agent thread | Owned by Codex/OpenAI | [External Agents](./external-agents.md#codex-cli) |
| Codex CLI | Run in terminal | Native Codex CLI experience in a Terminal Thread | Owned by Codex/OpenAI | [Terminal Threads](./terminal-threads.md) |
## Anthropic / Claude / Claude Code {#anthropic-claude}
| Path | Support level | What you get | Account / billing | Setup |
| -------------------- | ----------------- | -------------------------------------------------- | --------------------------------------- | ---------------------------------------------------- |
| Anthropic API | Configured in Zed | Claude models through API access | Anthropic API billing | [Use API Access](./use-api-access.md#anthropic) |
| Claude Agent via ACP | Hosted in Zed | Claude in an External Agent thread | Owned by Claude/Anthropic | [External Agents](./external-agents.md#claude-agent) |
| Anthropic API | Configured in Gwen | Claude models through API access | Anthropic API billing | [Use API Access](./use-api-access.md#anthropic) |
| Claude Agent via ACP | Hosted in Gwen | Claude in an External Agent thread | Owned by Claude/Anthropic | [External Agents](./external-agents.md#claude-agent) |
| Claude Code CLI | Run in terminal | Native Claude Code experience in a Terminal Thread | Claude subscription or Claude Code auth | [Terminal Threads](./terminal-threads.md) |
Claude Pro and Max subscriptions are separate from Anthropic API credits. If you want Claude subscription-limit behavior, use Claude Agent or Claude Code where supported. See [Use an Existing Subscription](./use-an-existing-subscription.md#claude).
@@ -39,78 +39,78 @@ Claude Pro and Max subscriptions are separate from Anthropic API credits. If you
| Path | Support level | What you get | Account / billing | Setup |
| ------------- | -------------------------------- | ------------------------------------------------- | --------------------- | --------------------------------------------------------------------------------------------- |
| Google AI API | Configured in Zed | Gemini models through API access | Google AI API billing | [Use API Access](./use-api-access.md#google-ai) |
| Gemini CLI | Hosted in Zed or run in terminal | Gemini CLI as an External Agent or native CLI/TUI | Owned by Gemini CLI | [External Agents](./external-agents.md#gemini-cli), [Terminal Threads](./terminal-threads.md) |
| Google AI API | Configured in Gwen | Gemini models through API access | Google AI API billing | [Use API Access](./use-api-access.md#google-ai) |
| Gemini CLI | Hosted in Gwen or run in terminal | Gemini CLI as an External Agent or native CLI/TUI | Owned by Gemini CLI | [External Agents](./external-agents.md#gemini-cli), [Terminal Threads](./terminal-threads.md) |
## GitHub / Copilot {#github-copilot}
| Path | Support level | What you get | Account / billing | Setup |
| ----------------------- | ----------------- | ---------------------------------------------------- | --------------------------- | -------------------------------------------------------------------------------- |
| GitHub Copilot Chat | Configured in Zed | Copilot Chat models for Zed AI features | GitHub Copilot/Copilot Chat | [Use an Existing Subscription](./use-an-existing-subscription.md#github-copilot) |
| Copilot edit prediction | Built into Zed | Edit prediction provider option | GitHub Copilot | [Edit Prediction](./edit-prediction.md) |
| Copilot External Agent | Hosted in Zed | Copilot in an External Agent thread, where available | Owned by Copilot | [External Agents](./external-agents.md#copilot) |
| GitHub Copilot Chat | Configured in Gwen | Copilot Chat models for Gwen AI features | GitHub Copilot/Copilot Chat | [Use an Existing Subscription](./use-an-existing-subscription.md#github-copilot) |
| Copilot edit prediction | Built into Gwen | Edit prediction provider option | GitHub Copilot | [Edit Prediction](./edit-prediction.md) |
| Copilot External Agent | Hosted in Gwen | Copilot in an External Agent thread, where available | Owned by Copilot | [External Agents](./external-agents.md#copilot) |
| Copilot CLI | Run in terminal | Native CLI experience, where available | Owned by Copilot | [Terminal Threads](./terminal-threads.md) |
## OpenCode / Zen / Go {#opencode}
| Path | Support level | What you get | Account / billing | Setup |
| ----------------------- | ----------------- | ----------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------ |
| OpenCode provider | Configured in Zed | OpenCode models for Zed AI features | OpenCode API key; Zen or Go affects available models | [Use API Access](./use-api-access.md#opencode) |
| OpenCode External Agent | Hosted in Zed | OpenCode in an External Agent thread, where available | Owned by OpenCode | [External Agents](./external-agents.md#opencode) |
| OpenCode provider | Configured in Gwen | OpenCode models for Gwen AI features | OpenCode API key; Zen or Go affects available models | [Use API Access](./use-api-access.md#opencode) |
| OpenCode External Agent | Hosted in Gwen | OpenCode in an External Agent thread, where available | Owned by OpenCode | [External Agents](./external-agents.md#opencode) |
| `opencode` CLI | Run in terminal | Native OpenCode CLI experience | Owned by OpenCode | [Terminal Threads](./terminal-threads.md) |
## Cursor {#cursor}
| Path | Support level | What you get | Account / billing | Setup |
| --------------------- | --------------- | ------------------------------------------------------ | --------------------------- | ---------------------------------------------- |
| Cursor External Agent | Hosted in Zed | Cursor in an External Agent thread, where available | Cursor account/subscription | [External Agents](./external-agents.md#cursor) |
| Cursor External Agent | Hosted in Gwen | Cursor in an External Agent thread, where available | Cursor account/subscription | [External Agents](./external-agents.md#cursor) |
| Cursor CLI/TUI | Run in terminal | Native Cursor command-line experience, where available | Cursor account/subscription | [Terminal Threads](./terminal-threads.md) |
Cursor subscriptions do not configure Zed's LLM provider settings. If you want to use a work Cursor subscription in Zed, use the Cursor External Agent or a Terminal Threads workflow where available.
Cursor subscriptions do not configure Gwen's LLM provider settings. If you want to use a work Cursor subscription in Gwen, use the Cursor External Agent or a Terminal Threads workflow where available.
## Pi Coding Agent {#pi}
| Path | Support level | What you get | Account / billing | Setup |
| --------------- | --------------- | -------------------------------------------------- | ----------------- | ------------------------------------------ |
| Pi Coding Agent | Hosted in Zed | Pi in an External Agent thread, where available | Owned by Pi | [External Agents](./external-agents.md#pi) |
| Pi Coding Agent | Hosted in Gwen | Pi in an External Agent thread, where available | Owned by Pi | [External Agents](./external-agents.md#pi) |
| Pi CLI/TUI | Run in terminal | Native Pi command-line experience, where available | Owned by Pi | [Terminal Threads](./terminal-threads.md) |
Pi is an agent harness, not a Zed LLM subscription. Pi may support provider auth such as ChatGPT, Claude, or Copilot through its own setup flow.
Pi is an agent harness, not a Gwen LLM subscription. Pi may support provider auth such as ChatGPT, Claude, or Copilot through its own setup flow.
## Poolside {#poolside}
| Path | Support level | What you get | Account / billing | Setup |
| ----------------------- | --------------- | ------------------------------------ | ------------------------------- | ------------------------------------------------ |
| Poolside External Agent | Hosted in Zed | Poolside in an External Agent thread | Poolside or configured provider | [External Agents](./external-agents.md#poolside) |
| Poolside External Agent | Hosted in Gwen | Poolside in an External Agent thread | Poolside or configured provider | [External Agents](./external-agents.md#poolside) |
| `pool` CLI | Run in terminal | Native Poolside Agent CLI experience | Poolside or configured provider | [Terminal Threads](./terminal-threads.md) |
Install Poolside from the ACP Registry, configure Zed with the Poolside Agent CLI, or add Poolside as a Custom Agent. See [External Agents](./external-agents.md#poolside) for setup steps and platform-specific details.
Install Poolside from the ACP Registry, configure Gwen with the Poolside Agent CLI, or add Poolside as a Custom Agent. See [External Agents](./external-agents.md#poolside) for setup steps and platform-specific details.
## DeepSeek {#deepseek}
| Path | Support level | What you get | Account / billing | Setup |
| ------------ | ----------------- | ----------------------------------- | ----------------------------------------------- | ---------------------------------------------- |
| DeepSeek API | Configured in Zed | DeepSeek models for Zed AI features | DeepSeek API credits, top-ups, or usage billing | [Use API Access](./use-api-access.md#deepseek) |
| DeepSeek API | Configured in Gwen | DeepSeek models for Gwen AI features | DeepSeek API credits, top-ups, or usage billing | [Use API Access](./use-api-access.md#deepseek) |
Paid DeepSeek usage is API access in Zed, not subscription sign-in.
Paid DeepSeek usage is API access in Gwen, not subscription sign-in.
## Gateways and Cloud Platforms {#gateways}
| Provider | Support level | What you get | Account / billing | Setup |
| ----------------- | ----------------- | ------------------------------------ | ------------------ | ----------------------------------------------------- |
| OpenRouter | Configured in Zed | Gateway access to multiple providers | OpenRouter billing | [Use a Gateway](./use-a-gateway.md#openrouter) |
| Vercel AI Gateway | Configured in Zed | Gateway access through Vercel | Vercel billing | [Use a Gateway](./use-a-gateway.md#vercel-ai-gateway) |
| Amazon Bedrock | Configured in Zed | AWS-hosted model access | AWS billing | [Use a Gateway](./use-a-gateway.md#amazon-bedrock) |
| OpenRouter | Configured in Gwen | Gateway access to multiple providers | OpenRouter billing | [Use a Gateway](./use-a-gateway.md#openrouter) |
| Vercel AI Gateway | Configured in Gwen | Gateway access through Vercel | Vercel billing | [Use a Gateway](./use-a-gateway.md#vercel-ai-gateway) |
| Amazon Bedrock | Configured in Gwen | AWS-hosted model access | AWS billing | [Use a Gateway](./use-a-gateway.md#amazon-bedrock) |
## Local Models {#local-models}
| Tool | Support level | What you get | Account / billing | Setup |
| --------------------------------- | ----------------- | -------------------------------------- | ----------------- | ------------------------------------------------------------- |
| llama.cpp | Configured in Zed | Local models for Zed AI features | Local/self-hosted | [Use a Local Model](./use-a-local-model.md#llama-cpp) |
| LM Studio | Configured in Zed | Local models for Zed AI features | Local/self-hosted | [Use a Local Model](./use-a-local-model.md#lm-studio) |
| Ollama | Configured in Zed | Local models for Zed AI features | Local/self-hosted | [Use a Local Model](./use-a-local-model.md#ollama) |
| Local OpenAI-compatible server | Configured in Zed | Local or self-hosted model endpoint | Local/self-hosted | [Use a Local Model](./use-a-local-model.md#openai-compatible) |
| Local/self-hosted edit prediction | Configured in Zed | Edit predictions from a local provider | Local/self-hosted | [Edit Prediction](./edit-prediction.md) |
| llama.cpp | Configured in Gwen | Local models for Gwen AI features | Local/self-hosted | [Use a Local Model](./use-a-local-model.md#llama-cpp) |
| LM Studio | Configured in Gwen | Local models for Gwen AI features | Local/self-hosted | [Use a Local Model](./use-a-local-model.md#lm-studio) |
| Ollama | Configured in Gwen | Local models for Gwen AI features | Local/self-hosted | [Use a Local Model](./use-a-local-model.md#ollama) |
| Local OpenAI-compatible server | Configured in Gwen | Local or self-hosted model endpoint | Local/self-hosted | [Use a Local Model](./use-a-local-model.md#openai-compatible) |
| Local/self-hosted edit prediction | Configured in Gwen | Edit predictions from a local provider | Local/self-hosted | [Edit Prediction](./edit-prediction.md) |
## Other API Providers {#other-api-providers}
+14 -14
View File
@@ -1,12 +1,12 @@
---
title: AI Code Completion in Zed - Zeta, Copilot, Codestral, Mercury Coder
description: Set up AI code completions in Zed with Zeta (built-in), GitHub Copilot, Codestral, or Mercury Coder. Multi-line predictions as you type.
title: AI Code Completion in Gwen - Zeta, Copilot, Codestral, Mercury Coder
description: Set up AI code completions in Gwen with Zeta (built-in), GitHub Copilot, Codestral, or Mercury Coder. Multi-line predictions as you type.
---
# Edit Prediction
Edit Prediction is how Zed's AI code completions work: an LLM predicts the code you want to write.
As you type, Zed requests predictions from the edit prediction provider, which returns individual or multi-line suggestions you accept by pressing `tab`.
Edit Prediction is how Gwen's AI code completions work: an LLM predicts the code you want to write.
As you type, Gwen requests predictions from the edit prediction provider, which returns individual or multi-line suggestions you accept by pressing `tab`.
The default provider is [Zeta, an open source model developed by Zed](https://zed.dev/blog/zeta2), but you can also use [other providers](#other-providers) like GitHub Copilot, Mercury Coder, and Codestral.
@@ -19,7 +19,7 @@ For privacy and training data details, see
To use Zeta, [sign in](../authentication.md#what-features-require-signing-in).
Once signed in, predictions appear as you type.
You can confirm that Zeta is properly configured by opening the [Settings Editor](zed://settings/edit_predictions.providers) (`Cmd+,` on macOS or `Ctrl+,` on Linux/Windows) and searching for `edit_predictions`. The `provider` field should be set to `Zed AI`.
You can confirm that Zeta is properly configured by opening the [Settings Editor](zed://settings/edit_predictions.providers) (`Cmd+,` on macOS or `Ctrl+,` on Linux/Windows) and searching for `edit_predictions`. The `provider` field should be set to `Gwen AI`.
Or verify this in your settings.json:
@@ -35,7 +35,7 @@ The Z icon in the status bar also indicates Zeta is active.
### Pricing and Plans
The free plan includes 2,000 Zeta predictions per month. The [Pro plan](../account/plans-and-pricing.md) removes this limit. See [Zed's pricing page](https://zed.dev/pricing) for details.
The free plan includes 2,000 Zeta predictions per month. The [Pro plan](../account/plans-and-pricing.md) removes this limit. See [Gwen's pricing page](https://zed.dev/pricing) for details.
### Switching Modes {#switching-modes}
@@ -140,15 +140,15 @@ In this case, because the binding contains the modifier `ctrl`, it will be used
### Cleaning Up Older Keymap Entries
If you configured edit prediction keybindings before Zed `v0.229.0`, your `keymap.json` may have entries that are now redundant.
If you configured edit prediction keybindings before Gwen `v0.229.0`, your `keymap.json` may have entries that are now redundant.
**Old tab workaround**: Before `unbind` existed, the only way to prevent `tab` from accepting edit predictions was to copy all the default non-edit-prediction `tab` bindings into your keymap alongside a custom `AcceptEditPrediction` binding. If your keymap still contains those copy-pasted entries, delete them and use a single `"unbind"` entry as shown in the examples above.
**Renamed context**: The `edit_prediction_conflict` context has been replaced by `edit_prediction && (showing_completions || in_leading_whitespace)`. Zed automatically migrates any bindings that used `edit_prediction_conflict`, so no changes are required on your end.
**Renamed context**: The `edit_prediction_conflict` context has been replaced by `edit_prediction && (showing_completions || in_leading_whitespace)`. Gwen automatically migrates any bindings that used `edit_prediction_conflict`, so no changes are required on your end.
## Configuring the Prediction Debounce
The prediction debounce controls how long Zed waits after you stop typing before automatically requesting an edit prediction. Configure it in milliseconds under the settings for your selected provider:
The prediction debounce controls how long Gwen waits after you stop typing before automatically requesting an edit prediction. Configure it in milliseconds under the settings for your selected provider:
```json [settings]
{
@@ -167,7 +167,7 @@ The default debounce depends on the provider:
| --------------------- | ------: |
| GitHub Copilot | 75 ms |
| Codestral | 150 ms |
| Zed | 0 ms |
| Gwen | 0 ms |
| Mercury | 0 ms |
| Ollama | 0 ms |
| OpenAI-compatible API | 0 ms |
@@ -214,7 +214,7 @@ To disable edit predictions for specific directories or files, set this in your
```json [settings]
{
"edit_predictions": {
"disabled_globs": ["~/.config/zed/settings.json"]
"disabled_globs": ["~/.config/gwen/settings.json"]
}
}
```
@@ -251,7 +251,7 @@ To sign in to GitHub Copilot, click on the Copilot icon in the status bar. A pop
#### Using GitHub Copilot Enterprise
If your organization uses GitHub Copilot Enterprise, you can configure Zed to use your enterprise instance by specifying the enterprise URI in your settings file ([how to edit](../configuring-zed.md#settings-files)):
If your organization uses GitHub Copilot Enterprise, you can configure Gwen to use your enterprise instance by specifying the enterprise URI in your settings file ([how to edit](../configuring-zed.md#settings-files)):
```json [settings]
{
@@ -265,7 +265,7 @@ If your organization uses GitHub Copilot Enterprise, you can configure Zed to us
Replace `"https://your.enterprise.domain"` with the URL provided by your GitHub Enterprise administrator (e.g., `https://foo.ghe.com`).
Once set, Zed routes Copilot requests through your enterprise endpoint.
Once set, Gwen routes Copilot requests through your enterprise endpoint.
When you sign in by clicking the Copilot icon in the status bar, you are redirected to your configured enterprise URL to complete authentication.
All other Copilot features and usage remain the same.
@@ -373,7 +373,7 @@ The `prompt_format` setting controls how code context is formatted for the model
- `sweep` - [Sweep rewrite-window](https://blog.sweep.dev/posts/oss-next-edit) format using `<|file_sep|>` file blocks for related files, `original/...`, `current/...`, and `updated/...`.
- `infer` - Auto-detect from model name (default)
With `"prompt_format": "infer"`, Zed automatically uses Zeta 2 format for models named `zeta2` and Zeta 2.1 format for models named `zeta2.1`.
With `"prompt_format": "infer"`, Gwen automatically uses Zeta 2 format for models named `zeta2` and Zeta 2.1 format for models named `zeta2.1`.
For example, to use Zeta 2 with Ollama:
+40 -40
View File
@@ -1,21 +1,21 @@
---
title: External Agents - Zed
description: Install and use ACP-integrated External Agents such as Claude, Codex, OpenCode, Copilot, Cursor, and Pi Coding Agent in Zed.
title: External Agents - Gwen
description: Install and use ACP-integrated External Agents such as Claude, Codex, OpenCode, Copilot, Cursor, and Pi Coding Agent in Gwen.
---
# External Agents
External Agents are agents that integrate with Zed through the [Agent Client Protocol (ACP)](https://agentclientprotocol.com). Zed hosts the thread in the [Agent Panel](./agent-panel.md) and [Threads Sidebar](./parallel-agents.md#threads-sidebar), while the External Agent usually owns its own runtime, auth, model selection, tools, and native configuration.
External Agents are agents that integrate with Gwen through the [Agent Client Protocol (ACP)](https://agentclientprotocol.com). Gwen hosts the thread in the [Agent Panel](./agent-panel.md) and [Threads Sidebar](./parallel-agents.md#threads-sidebar), while the External Agent usually owns its own runtime, auth, model selection, tools, and native configuration.
Use [Terminal Threads](./terminal-threads.md) instead when you want to run a CLI or TUI directly in a terminal-backed thread.
External Agents run through their own process and provider relationship. Billing, legal terms, retention, and data handling are between you and the agent provider. Zed does not charge for External Agents.
External Agents run through their own process and provider relationship. Billing, legal terms, retention, and data handling are between you and the agent provider. Gwen does not charge for External Agents.
For Zed-hosted models and Zed-managed AI features, see [AI Privacy](./privacy-and-security.md) and [Feedback and Training Data](./ai-improvement.md).
For Gwen-hosted models and Gwen-managed AI features, see [AI Privacy](./privacy-and-security.md) and [Feedback and Training Data](./ai-improvement.md).
## Install from the ACP Registry {#registry}
The ACP Registry is the primary way to install common External Agents in Zed.
The ACP Registry is the primary way to install common External Agents in Gwen.
Open the registry with {#action zed::AcpRegistry}, or open [Agent Settings](./agent-settings.md) with {#action agent::OpenSettings}, go to the **External Agents** page, click `Add Agent`, and choose `Install from Registry`.
@@ -32,63 +32,63 @@ Common External Agents include:
- Cursor
- Pi Coding Agent
This list is curated, not exhaustive. Open the ACP Registry in Zed for the current list of available agents.
This list is curated, not exhaustive. Open the ACP Registry in Gwen for the current list of available agents.
For company-specific setup paths, including Claude, Codex, Gemini, OpenCode, Copilot, Cursor, Pi, and Poolside, see [AI by Company](./by-company.md).
## Claude Agent {#claude-agent}
Use Claude Agent when you want Claude running as an ACP-integrated External Agent in Zed.
Use Claude Agent when you want Claude running as an ACP-integrated External Agent in Gwen.
Install Claude Agent from the [ACP Registry](#registry), then start a Claude Agent thread from the Agent Panel or Threads Sidebar. Claude Agent owns its own authentication and billing. An Anthropic API key configured for [Zed Agent](./zed-agent.md) does not automatically configure Claude Agent.
Install Claude Agent from the [ACP Registry](#registry), then start a Claude Agent thread from the Agent Panel or Threads Sidebar. Claude Agent owns its own authentication and billing. An Anthropic API key configured for [Gwen Agent](./zed-agent.md) does not automatically configure Claude Agent.
To choose your billing method, open a Claude Agent thread, run `/login`, and authenticate with an API key or with Claude Code where supported. Claude-specific files such as `CLAUDE.md` may be read by Claude Agent directly.
## Codex {#codex-cli}
Use Codex when you want Codex running as an ACP-integrated External Agent in Zed.
Use Codex when you want Codex running as an ACP-integrated External Agent in Gwen.
Install Codex from the [ACP Registry](#registry), then start a Codex thread from the Agent Panel or Threads Sidebar. Codex owns its own authentication and billing. An OpenAI API key configured for [Zed Agent](./zed-agent.md) does not automatically configure Codex.
Install Codex from the [ACP Registry](#registry), then start a Codex thread from the Agent Panel or Threads Sidebar. Codex owns its own authentication and billing. An OpenAI API key configured for [Gwen Agent](./zed-agent.md) does not automatically configure Codex.
Codex may support ChatGPT login, Codex API keys, OpenAI API keys, or Codex-native configuration depending on the installed version and environment. To change authentication, use the Codex thread's native login/logout flow.
## Gemini CLI {#gemini-cli}
Use Gemini CLI when you want Gemini running as an ACP-integrated External Agent in Zed.
Use Gemini CLI when you want Gemini running as an ACP-integrated External Agent in Gwen.
Install Gemini CLI from the [ACP Registry](#registry), then start a Gemini CLI thread from the Agent Panel or Threads Sidebar. Gemini CLI owns its own authentication and may prompt you to log in with Google, Vertex AI, or another Gemini-supported flow.
If `GEMINI_API_KEY` or `GOOGLE_AI_API_KEY` is available to the agent process, Gemini CLI uses that key. Otherwise, if you have configured an API key for Zed's Google AI provider, Zed passes that key to Gemini CLI as `GEMINI_API_KEY`.
If `GEMINI_API_KEY` or `GOOGLE_AI_API_KEY` is available to the agent process, Gemini CLI uses that key. Otherwise, if you have configured an API key for Gwen's Google AI provider, Gwen passes that key to Gemini CLI as `GEMINI_API_KEY`.
## OpenCode {#opencode}
Use OpenCode when you want OpenCode running as an ACP-integrated External Agent in Zed.
Use OpenCode when you want OpenCode running as an ACP-integrated External Agent in Gwen.
Install OpenCode from the [ACP Registry](#registry), then start an OpenCode thread from the Agent Panel or Threads Sidebar. OpenCode owns its own auth, model selection, and subscription behavior. To use OpenCode models in Zed Agent instead, configure [OpenCode API access](./use-api-access.md#opencode).
Install OpenCode from the [ACP Registry](#registry), then start an OpenCode thread from the Agent Panel or Threads Sidebar. OpenCode owns its own auth, model selection, and subscription behavior. To use OpenCode models in Gwen Agent instead, configure [OpenCode API access](./use-api-access.md#opencode).
## Copilot {#copilot}
Use Copilot External Agents where available when you want Copilot running as an ACP-integrated External Agent in Zed.
Use Copilot External Agents where available when you want Copilot running as an ACP-integrated External Agent in Gwen.
Copilot agent auth is owned by the Copilot integration. To use Copilot Chat models in Zed Agent or Copilot for edit prediction, see [Use an Existing Subscription](./use-an-existing-subscription.md#github-copilot).
Copilot agent auth is owned by the Copilot integration. To use Copilot Chat models in Gwen Agent or Copilot for edit prediction, see [Use an Existing Subscription](./use-an-existing-subscription.md#github-copilot).
## Cursor {#cursor}
Use Cursor External Agents where available when you want Cursor running as an ACP-integrated External Agent in Zed.
Use Cursor External Agents where available when you want Cursor running as an ACP-integrated External Agent in Gwen.
Cursor subscriptions do not configure Zed's LLM provider settings. Use Cursor's external-agent or CLI/TUI setup where available.
Cursor subscriptions do not configure Gwen's LLM provider settings. Use Cursor's external-agent or CLI/TUI setup where available.
## Pi Coding Agent {#pi}
Use Pi Coding Agent when you want Pi running as an ACP-integrated External Agent in Zed.
Use Pi Coding Agent when you want Pi running as an ACP-integrated External Agent in Gwen.
Pi is an agent harness, not a Zed LLM subscription. Configure any provider auth, subscriptions, tools, or model choices in Pi.
Pi is an agent harness, not a Gwen LLM subscription. Configure any provider auth, subscriptions, tools, or model choices in Pi.
## Poolside {#poolside}
Use Poolside when you want Poolside running as an ACP-integrated External Agent in Zed.
Use Poolside when you want Poolside running as an ACP-integrated External Agent in Gwen.
Install Poolside from the [ACP Registry](#registry), then start a Poolside thread from the Agent Panel or Threads Sidebar. If you haven't authenticated yet, the thread offers `Log in to Poolside`, which runs `pool login` in a terminal. Authentication and model selection are configured through Poolside, not Zed.
Install Poolside from the [ACP Registry](#registry), then start a Poolside thread from the Agent Panel or Threads Sidebar. If you haven't authenticated yet, the thread offers `Log in to Poolside`, which runs `pool login` in a terminal. Authentication and model selection are configured through Poolside, not Gwen.
To configure Poolside from the terminal instead, install the [Poolside Agent CLI](https://github.com/poolsideai/pool), then run:
@@ -96,7 +96,7 @@ To configure Poolside from the terminal instead, install the [Poolside Agent CLI
pool acp setup --editor zed
```
This command always writes to `~/.config/zed/settings.json`, which is Zed's settings file on macOS and on Linux without a custom `XDG_CONFIG_HOME`. On Windows, or with a custom config directory, install from the registry or use the manual configuration below instead. You do not need to restart Zed. It detects the settings change automatically. Select `Poolside` from the new-thread menu.
This command always writes to `~/.config/zed/settings.json`, the upstream Zed settings path, which Gwen does not read. On Gwen, install from the registry or use the manual configuration below instead. You do not need to restart Gwen. It detects the settings change automatically. Select `Poolside` from the new-thread menu.
To configure it manually, install the [Poolside Agent CLI](https://github.com/poolsideai/pool), make sure `pool` is on your `PATH`, then add it as a [Custom Agent](#custom-agents):
@@ -112,7 +112,7 @@ To configure it manually, install the [Poolside Agent CLI](https://github.com/po
}
```
See [Poolside's Zed documentation](https://docs.poolside.ai/tools/zed) for more setup details.
See [Poolside's Gwen documentation](https://docs.poolside.ai/tools/zed) for more setup details.
## Start an External Agent Thread {#start-thread}
@@ -122,20 +122,20 @@ You can also create keybindings for specific agents with {#action agent::NewExte
## Configuration Boundaries {#configuration-boundaries}
External Agents run as separate processes that communicate with Zed over ACP. This creates a boundary between Zed configuration and agent-native configuration.
External Agents run as separate processes that communicate with Gwen over ACP. This creates a boundary between Gwen configuration and agent-native configuration.
| Capability | Behavior in External Agent threads |
| ----------------------------------------- | ------------------------------------------------------------------------------------------ |
| Model/provider config | Usually owned by the External Agent |
| Auth/API keys/subscriptions | Usually owned by the External Agent |
| [Zed Agent profiles](./agent-profiles.md) | Do not apply unless the integration says otherwise |
| Zed Skills | Do not apply as Zed Skills |
| [Gwen Agent profiles](./agent-profiles.md) | Do not apply unless the integration says otherwise |
| Gwen Skills | Do not apply as Gwen Skills |
| Native agent skills/instructions | Depends on the agent |
| Zed MCP servers | May be forwarded over ACP |
| Gwen MCP servers | May be forwarded over ACP |
| Native MCP config | May also be read by the agent |
| Tool permissions | Zed ACP/tool forwarding permissions may apply; native tool permissions depend on the agent |
| Tool permissions | Gwen ACP/tool forwarding permissions may apply; native tool permissions depend on the agent |
For Zed's native agent configuration, see [Zed Agent](./zed-agent.md).
For Gwen's native agent configuration, see [Gwen Agent](./zed-agent.md).
## Agent-Specific Auth and Config {#agent-auth-config}
@@ -145,22 +145,22 @@ Examples:
- Claude Agent may use Claude Code auth and Claude-native config.
- Codex may use ChatGPT login, Codex API keys, OpenAI API keys, or Codex-native config.
- Cursor subscriptions do not configure Zed's LLM provider settings; use Cursor's agent or CLI setup where available.
- Cursor subscriptions do not configure Gwen's LLM provider settings; use Cursor's agent or CLI setup where available.
- Pi Coding Agent is an agent harness. Configure provider auth in Pi.
If an External Agent supports subscription-backed behavior, configure that in the agent unless the agent's Zed integration says otherwise.
If an External Agent supports subscription-backed behavior, configure that in the agent unless the agent's Gwen integration says otherwise.
## Remote Projects {#remote-projects}
External Agents may read credentials locally, remotely, or through their own sign-in flow. Check the specific agent's setup path when using SSH, dev containers, or other remote projects.
Zed LLM provider API keys saved in the local keychain are not automatically the same as an External Agent's credentials.
Gwen LLM provider API keys saved in the local keychain are not automatically the same as an External Agent's credentials.
## Custom Agents {#custom-agents}
Use custom agents when you are developing an ACP-compatible agent or need to run an agent that is not in the registry.
Open [Agent Settings](./agent-settings.md), go to the **External Agents** page, click `Add Agent`, and choose `Add Custom Agent`. Zed opens your settings file with an `agent_servers` entry.
Open [Agent Settings](./agent-settings.md), go to the **External Agents** page, click `Add Agent`, and choose `Add Custom Agent`. Gwen opens your settings file with an `agent_servers` entry.
```json [settings]
{
@@ -185,22 +185,22 @@ For details, see [Agent Server Extensions](../extensions/agent-servers.md).
## Importing Threads {#importing-threads}
Zed can import existing threads from configured External Agents so they appear in your [Thread History](./agent-panel.md#multiple-threads) alongside the rest of your threads.
Gwen can import existing threads from configured External Agents so they appear in your [Thread History](./agent-panel.md#multiple-threads) alongside the rest of your threads.
Open the Threads Sidebar with {#kb multi_workspace::ToggleWorkspaceSidebar}, then open Thread History by clicking the clock icon at the bottom of the sidebar or running {#action agents_sidebar::ToggleThreadHistory} from the Command Palette. Click **Import Threads**, choose the agents you want to import from, then click **Import Threads** again.
Zed connects to each selected agent over ACP and adds sessions that are not already in your history. Imported threads are archived entries; open one to restore it and continue where you left off.
Gwen connects to each selected agent over ACP and adds sessions that are not already in your history. Imported threads are archived entries; open one to restore it and continue where you left off.
Only configured External Agents appear in the import dialog. Sessions without an associated working directory are skipped, and re-importing is safe because threads already in your history are skipped.
## MCP {#mcp}
Zed-configured [MCP servers](./mcp.md) may be forwarded to External Agents over ACP. External Agents may also read their own native MCP configuration.
Gwen-configured [MCP servers](./mcp.md) may be forwarded to External Agents over ACP. External Agents may also read their own native MCP configuration.
If an MCP tool does not appear in an External Agent, check both Zed's MCP server configuration and the agent's native MCP configuration.
If an MCP tool does not appear in an External Agent, check both Gwen's MCP server configuration and the agent's native MCP configuration.
## Debugging {#debugging-agents}
Use {#action dev::OpenAcpLogs} from the Command Palette to inspect messages between Zed and an External Agent.
Use {#action dev::OpenAcpLogs} from the Command Palette to inspect messages between Gwen and an External Agent.
Include ACP logs when reporting issues with External Agents.
+5 -5
View File
@@ -1,6 +1,6 @@
---
title: Inline AI Code Editing - Zed
description: Transform code inline with AI in Zed. Send selections to any LLM for refactoring, generation, or editing with multi-cursor support.
title: Inline AI Code Editing - Gwen
description: Transform code inline with AI in Gwen. Send selections to any LLM for refactoring, generation, or editing with multi-cursor support.
---
# Inline Assistant
@@ -16,12 +16,12 @@ The Inline Assistant sends your current selection (or line) to a language model
If you're using the Inline Assistant for the first time, you need to have at least one [LLM provider](./llm-providers.md) configured.
You can do that by:
1. [using Zed-hosted models](../account/zed-hosted-models.md), so you have access to models billed through Zed
1. [using Gwen-hosted models](../account/zed-hosted-models.md), so you have access to models billed through Gwen
2. [using API access](./use-api-access.md), either from model providers like Anthropic or model gateways like OpenRouter.
If you have already set up an LLM provider to interact with [the Agent Panel](./agent-panel.md#getting-started), then that will also work for the Inline Assistant.
[External Agents](./external-agents.md) run in agent threads, but they are not available for Inline Assistant generations. The Inline Assistant uses Zed-configured [LLM providers](./llm-providers.md), including Zed-hosted models, provider API keys, gateways, [local models](./use-a-local-model.md), and supported subscriptions.
[External Agents](./external-agents.md) run in agent threads, but they are not available for Inline Assistant generations. The Inline Assistant uses Gwen-configured [LLM providers](./llm-providers.md), including Gwen-hosted models, provider API keys, gateways, [local models](./use-a-local-model.md), and supported subscriptions.
## Adding Context
@@ -98,7 +98,7 @@ One with Claude Sonnet 4.5 (the default model), another with GPT-5-mini, and ano
Both features generate inline code, but they work differently:
- **Inline Assistant**: You write a prompt and select what to transform. You control the context.
- **[Edit Prediction](./edit-prediction.md)**: Zed automatically suggests edits based on your recent changes, visited files, and cursor position. No prompting required.
- **[Edit Prediction](./edit-prediction.md)**: Gwen automatically suggests edits based on your recent changes, visited files, and cursor position. No prompting required.
The key difference: Inline Assistant is explicit and prompt-driven; Edit Prediction is automatic and context-inferred.
+13 -13
View File
@@ -1,31 +1,31 @@
---
title: Agent Instructions - Zed
description: Configure always-on personal and project instructions for Zed Agent with AGENTS.md and compatible project instruction files.
title: Agent Instructions - Gwen
description: Configure always-on personal and project instructions for Gwen Agent with AGENTS.md and compatible project instruction files.
---
# Instructions
Instructions are always-on context for the Zed Agent. Use instructions for persistent guidance that should apply to every relevant agent interaction.
Instructions are always-on context for the Gwen Agent. Use instructions for persistent guidance that should apply to every relevant agent interaction.
Use [Skills](./skills.md) instead when you want reusable task instructions that can be invoked by name.
Zed supports [`AGENTS.md`](https://agents.md/) as the primary instruction file for personal and project-level agent guidance.
Gwen supports [`AGENTS.md`](https://agents.md/) as the primary instruction file for personal and project-level agent guidance.
## Personal Instructions {#personal-instructions}
Personal instructions apply to every project you open with the Zed Agent.
Personal instructions apply to every project you open with the Gwen Agent.
Create or edit:
```text
~/.config/zed/AGENTS.md
~/.config/gwen/AGENTS.md
```
On Windows, the equivalent file is under `%APPDATA%\Zed\AGENTS.md`.
On Windows, the equivalent file is under `%APPDATA%\Gwen\AGENTS.md`.
## Project Instructions {#project-instructions}
Project instruction files apply to the current project. Zed uses the first matching file in this list:
Project instruction files apply to the current project. Gwen uses the first matching file in this list:
- `.rules`
- `.cursorrules`
@@ -41,14 +41,14 @@ Project instructions override personal `AGENTS.md` when they conflict.
## Instruction File Support {#support}
| File | [Zed Agent](./zed-agent.md) | [External Agents](./external-agents.md) | Terminal Threads |
| File | [Gwen Agent](./zed-agent.md) | [External Agents](./external-agents.md) | Terminal Threads |
| --------------------------------- | ------------------------------------------------------ | --------------------------------------- | -------------------------------- |
| `~/.config/zed/AGENTS.md` | Loaded as personal instructions | Not generally used | Not used unless the CLI reads it |
| `~/.config/gwen/AGENTS.md` | Loaded as personal instructions | Not generally used | Not used unless the CLI reads it |
| Project `AGENTS.md` | Loaded as project instructions | Depends on the agent | Depends on the CLI |
| `CLAUDE.md` | Loaded as compatible project instructions by Zed Agent | Claude reads natively | Claude Code CLI reads natively |
| `.github/copilot-instructions.md` | Loaded as compatible project instructions by Zed Agent | Depends on the agent | Depends on the CLI |
| `CLAUDE.md` | Loaded as compatible project instructions by Gwen Agent | Claude reads natively | Claude Code CLI reads natively |
| `.github/copilot-instructions.md` | Loaded as compatible project instructions by Gwen Agent | Depends on the agent | Depends on the CLI |
External Agents and [Terminal Threads](./terminal-threads.md) may read their own native instruction files directly. Do not assume Zed's instruction loader controls those agents.
External Agents and [Terminal Threads](./terminal-threads.md) may read their own native instruction files directly. Do not assume Gwen's instruction loader controls those agents.
## Instructions vs. Skills {#instructions-vs-skills}
+7 -7
View File
@@ -1,12 +1,12 @@
---
title: LLM Providers - Zed
description: Choose how Zed gets language models: Zed-hosted models, API access, subscriptions, gateways, or local models.
title: LLM Providers - Gwen
description: Choose how Gwen gets language models: Gwen-hosted models, API access, subscriptions, gateways, or local models.
---
# LLM Providers
Use this page to choose which models power [the Zed Agent](./zed-agent.md) and
other Zed-owned AI features, including [Inline Assistant](./inline-assistant.md),
Use this page to choose which models power [the Gwen Agent](./zed-agent.md) and
other Gwen-owned AI features, including [Inline Assistant](./inline-assistant.md),
Git commit generation, thread summaries, and similar model-backed features.
Model access paths do not configure [External Agents](./external-agents.md) or
@@ -17,18 +17,18 @@ usually own their own model access, auth, and configuration.
| Model access path | Best when | Source of truth |
| ----------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------- |
| [Use Zed-Hosted Models](../account/zed-hosted-models.md) | You want models billed through Zed | Account & Billing > Zed-Hosted Models |
| [Use Gwen-Hosted Models](../account/zed-hosted-models.md) | You want models billed through Gwen | Account & Billing > Gwen-Hosted Models |
| [Use API Access](./use-api-access.md) | You have provider API access, credits, or usage billing | Use API Access |
| [Use an Existing Subscription](./use-an-existing-subscription.md) | You already pay for ChatGPT, Claude, Copilot, or another subscription | Use an Existing Subscription |
| [Use a Gateway](./use-a-gateway.md) | You route through OpenRouter, Bedrock, Vercel, or a similar platform | Use a Gateway |
| [Use a Local Model](./use-a-local-model.md) | You run models locally or self-hosted | Use a Local Model |
Use the setup pages for provider-specific details. See [Agents](./agents.md) for
the difference between the Zed Agent, External Agents, and Terminal Threads.
the difference between the Gwen Agent, External Agents, and Terminal Threads.
## Edit Prediction {#edit-prediction}
[Edit Prediction](./edit-prediction.md) has its own provider setup under `edit_predictions`. LLM providers on this page apply to model-backed Zed AI features such as Zed Agent, Inline Assistant, Git commit generation, and thread summaries.
[Edit Prediction](./edit-prediction.md) has its own provider setup under `edit_predictions`. LLM providers on this page apply to model-backed Gwen AI features such as Gwen Agent, Inline Assistant, Git commit generation, and thread summaries.
## Anthropic-Compatible Providers {#anthropic-api-compatible}
+17 -17
View File
@@ -1,39 +1,39 @@
---
title: Model Context Protocol (MCP) in Zed
description: Install and configure MCP servers in Zed to extend your AI agent with external tools, data sources, and integrations.
title: Model Context Protocol (MCP) in Gwen
description: Install and configure MCP servers in Gwen to extend your AI agent with external tools, data sources, and integrations.
---
# Model Context Protocol
Zed uses the [Model Context Protocol](https://modelcontextprotocol.io/) to interact with context servers.
Gwen uses the [Model Context Protocol](https://modelcontextprotocol.io/) to interact with context servers.
> The Model Context Protocol (MCP) is an open protocol for connecting LLM applications to external tools and data sources through a standard interface.
## Supported Features
Zed currently supports MCP's [Tools](https://modelcontextprotocol.io/specification/2025-11-25/server/tools) and [Prompts](https://modelcontextprotocol.io/specification/2025-11-25/server/prompts) features.
We welcome contributions that help advance Zed's MCP feature coverage (Discovery, Sampling, Elicitation, etc).
Gwen currently supports MCP's [Tools](https://modelcontextprotocol.io/specification/2025-11-25/server/tools) and [Prompts](https://modelcontextprotocol.io/specification/2025-11-25/server/prompts) features.
We welcome contributions that help advance Gwen's MCP feature coverage (Discovery, Sampling, Elicitation, etc).
Zed also handles the `notifications/tools/list_changed` notification from MCP servers. When a server adds, removes, or modifies its available tools at runtime, Zed automatically reloads the tool list without requiring a server restart.
Gwen also handles the `notifications/tools/list_changed` notification from MCP servers. When a server adds, removes, or modifies its available tools at runtime, Gwen automatically reloads the tool list without requiring a server restart.
## Agent Path Support {#agent-path-support}
| Agent path | MCP behavior |
| ----------------------------------------- | --------------------------------------------------------------------------------------- |
| [Zed Agent](./zed-agent.md) | Uses Zed-configured MCP servers directly |
| [External Agents](./external-agents.md) | Zed can forward configured MCP servers over ACP; agents may also read native MCP config |
| [Gwen Agent](./zed-agent.md) | Uses Gwen-configured MCP servers directly |
| [External Agents](./external-agents.md) | Gwen can forward configured MCP servers over ACP; agents may also read native MCP config |
| [Terminal Threads](./terminal-threads.md) | Native CLIs/TUIs read their own MCP configuration |
## Installing MCP Servers
### As Extensions
One of the ways you can use MCP servers in Zed is by exposing them as an extension.
One of the ways you can use MCP servers in Gwen is by exposing them as an extension.
Check out the [MCP Server Extensions](../extensions/mcp-extensions.md) page to learn how to create your own.
Many MCP servers are available as extensions. Find them via:
1. [the Zed website](https://zed.dev/extensions?filter=context-servers)
1. [the Gwen website](https://zed.dev/extensions?filter=context-servers)
2. in the app, open the Command Palette and run the {#action zed::Extensions} action
3. in the app, open **Settings → AI → MCP Servers**, click `Add Server`, and choose `Install from Extensions`
@@ -50,7 +50,7 @@ Popular servers available as an extension include:
### As Custom Servers
Creating an extension is not the only way to use MCP servers in Zed.
Creating an extension is not the only way to use MCP servers in Gwen.
You can connect both local and remote MCP servers from **[Settings → AI → MCP Servers](./agent-settings.md)** (also accessible via the {#action agent::OpenSettings} action, then selecting `MCP Servers`). Click `Add Server` in the page header, then choose `Add Local Server` or `Add Remote Server`. Your specified configuration will create entries in your settings file (which you can open with {#action zed::OpenSettingsFile}) similar to the ones below:
```json [settings]
@@ -72,7 +72,7 @@ You can connect both local and remote MCP servers from **[Settings → AI → MC
}
```
> 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.
> Note: When a remote MCP server has no configured `"Authorization"` header, Gwen will prompt you to authenticate yourself against the MCP server using the standard MCP OAuth flow.
## Using MCP Servers
@@ -80,7 +80,7 @@ You can connect both local and remote MCP servers from **[Settings → AI → MC
Most MCP servers require configuration after installation.
In the case of an extension, after installing it, Zed will pop up a modal displaying what is required for you to properly set it up.
In the case of an extension, after installing it, Gwen will pop up a modal displaying what is required for you to properly set it up.
For example, the GitHub MCP extension requires you to add a [Personal Access Token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).
In the case of custom servers, make sure you check the provider documentation to determine what type of command, arguments, and environment variables need to be added to the JSON.
@@ -143,10 +143,10 @@ As an example, [the Dagger team suggests](https://container-use.com/agent-integr
### Tool Permissions
> **Note:** In Zed v0.224.0 and above, tool approval is controlled by `agent.tool_permissions.default`.
> **Note:** In Gwen v0.224.0 and above, tool approval is controlled by `agent.tool_permissions.default`.
> In earlier versions, it was controlled by the `agent.always_allow_tool_actions` boolean (default `false`).
Zed's Agent Panel provides the `agent.tool_permissions.default` setting to control tool approval behavior for the native Zed agent:
Gwen's Agent Panel provides the `agent.tool_permissions.default` setting to control tool approval behavior for the native Gwen agent:
- `"confirm"` (default) — Prompts for approval before running any tool action, including MCP tool calls
- `"allow"` — Auto-approves tool actions without prompting
@@ -160,9 +160,9 @@ Learn more about [how tool permissions work](./tool-permissions.md), how to furt
### External Agents
MCP servers configured in Zed are forwarded to [External Agents](./external-agents.md) via the [Agent Client Protocol](https://agentclientprotocol.com/). External Agents can also access MCP servers from their own native configuration files.
MCP servers configured in Gwen are forwarded to [External Agents](./external-agents.md) via the [Agent Client Protocol](https://agentclientprotocol.com/). External Agents can also access MCP servers from their own native configuration files.
For details on what configuration is shared between Zed and External Agents, see [Configuration Boundaries](./external-agents.md#configuration-boundaries).
For details on what configuration is shared between Gwen and External Agents, see [Configuration Boundaries](./external-agents.md#configuration-boundaries).
### Error Handling
+10 -10
View File
@@ -1,27 +1,27 @@
---
title: AI in Zed
description: Understand Zed's AI features, agent paths, model providers, and setup routes.
title: AI in Gwen
description: Understand Gwen's AI features, agent paths, model providers, and setup routes.
---
# AI
Zed's AI docs are organized around three areas:
Gwen's AI docs are organized around three areas:
| Area | Use it to choose | Examples |
| ------------ | ----------------------------------- | ------------------------------------------------------------------------------------------ |
| Agents | How agentic work runs in Zed | Zed Agent, External Agents, Terminal Threads |
| Model access | How Zed connects to language models | Zed-hosted models, API access, subscriptions, [gateways](./use-a-gateway.md), local models |
| Agents | How agentic work runs in Gwen | Gwen Agent, External Agents, Terminal Threads |
| Model access | How Gwen connects to language models | Gwen-hosted models, API access, subscriptions, [gateways](./use-a-gateway.md), local models |
| Features | Which AI workflow you want to use | Agentic editing, inline edits, edit prediction, Git assistance |
Start with [AI Quick Start](./quick-start.md) if you know what you want to do. Use [AI by Company](./by-company.md) if you know the company, subscription, model provider, agent, or CLI you want to use.
## Agent Paths {#agent-paths}
Agent paths decide how agentic work runs in Zed.
Agent paths decide how agentic work runs in Gwen.
- [Zed Agent](./zed-agent.md): Zed's native agent. It can use models configured through [LLM Providers](./llm-providers.md), including [Zed-hosted models](../account/zed-hosted-models.md), provider API keys, supported subscriptions, gateways, and [local models](./use-a-local-model.md). It also uses built-in tools, profiles, skills, instructions, and MCP servers.
- [Gwen Agent](./zed-agent.md): Gwen's native agent. It can use models configured through [LLM Providers](./llm-providers.md), including [Gwen-hosted models](../account/zed-hosted-models.md), provider API keys, supported subscriptions, gateways, and [local models](./use-a-local-model.md). It also uses built-in tools, profiles, skills, instructions, and MCP servers.
- [External Agents](./external-agents.md): ACP-integrated agents that run through their own process and configuration.
- [Terminal Threads](./terminal-threads.md): terminal-backed threads for running an agent CLI or TUI directly in Zed.
- [Terminal Threads](./terminal-threads.md): terminal-backed threads for running an agent CLI or TUI directly in Gwen.
The [Threads Sidebar](./parallel-agents.md#threads-sidebar) is where you organize agent work. You can run multiple agent threads and Terminal Threads at once, each using a different agent and working against different projects.
@@ -29,13 +29,13 @@ See [Agents](./agents.md) for a comparison.
## Model Access {#model-access}
Model access controls which models power the Zed Agent and other model-backed Zed AI features. Zed can use hosted models, [provider API access](./use-api-access.md), subscription sign-in, gateways, and local models.
Model access controls which models power the Gwen Agent and other model-backed Gwen AI features. Gwen can use hosted models, [provider API access](./use-api-access.md), subscription sign-in, gateways, and local models.
See [LLM Providers](./llm-providers.md) to choose a model access path.
## AI Features {#ai-features}
Zed has several AI-powered workflows:
Gwen has several AI-powered workflows:
- [Agent Panel](./agent-panel.md): prompt agents, add context, review changes, and manage active threads.
- [Parallel Agents](./parallel-agents.md): run multiple threads across projects and worktrees.
+8 -8
View File
@@ -1,5 +1,5 @@
---
title: Parallel Agents - Zed
title: Parallel Agents - Gwen
description: Run multiple agent threads and Terminal Threads concurrently using the Threads Sidebar, manage them across projects, and isolate work using Git worktrees.
---
@@ -37,7 +37,7 @@ To remove a thread from the sidebar, you can archive it by hovering over it and
The Thread History view holds all your threads, including ones that you have archived. Toggle it with {#kb agents_sidebar::ToggleThreadHistory} or by clicking the clock icon in the sidebar bottom bar, next to the sidebar toggle.
To restore a thread, open Thread History and click the thread you want to bring back. Zed moves it back to the thread list and opens it in the Agent Panel. If the thread was running in a Git worktree that was removed, Zed restores the worktree automatically.
To restore a thread, open Thread History and click the thread you want to bring back. Gwen moves it back to the thread list and opens it in the Agent Panel. If the thread was running in a Git worktree that was removed, Gwen restores the worktree automatically.
To permanently delete a thread, open Thread History, hover over the thread, and click the trash icon. This removes the thread's conversation history and cleans up any associated worktree data. Deleted threads cannot be recovered.
@@ -45,7 +45,7 @@ You can search your threads in history; search will fuzzy match on thread titles
### Importing External Agent Threads {#importing-threads}
If you have External Agents installed, Zed will detect whether you have existing threads and invite you to import them into Zed. Once you open Thread History, you'll find an import icon button in the Thread History toolbar that lets you import threads at any time. Clicking on it opens a modal where you can select the agents whose threads you want to import.
If you have External Agents installed, Gwen will detect whether you have existing threads and invite you to import them into Gwen. Once you open Thread History, you'll find an import icon button in the Thread History toolbar that lets you import threads at any time. Clicking on it opens a modal where you can select the agents whose threads you want to import.
> **Note:** Thread import is subject to agent support. Some agents (such as Cursor and Gemini CLI) are not currently supported.
@@ -53,7 +53,7 @@ If you have External Agents installed, Zed will detect whether you have existing
Each thread runs independently, so you can send a prompt, open a second thread, and give it a different task while the first continues working. To scope a new thread to a specific project, hover over that project's header in the Threads Sidebar and click the `+` button, or use {#action agents_sidebar::NewThreadInGroup} from the keyboard. See [Creating New Threads](./agent-panel.md#new-thread) for the other entry points.
Each thread can use a different agent, so you can run Zed's built-in agent in one thread and an [External Agent](./external-agents.md) like Claude Code or Codex in another.
Each thread can use a different agent, so you can run Gwen's built-in agent in one thread and an [External Agent](./external-agents.md) like Claude Code or Codex in another.
### Thread Types {#thread-types}
@@ -61,13 +61,13 @@ The Threads Sidebar can hold different thread types:
| Thread type | Configuration |
| --------------------------------------------- | -------------------------------------------------------------------------------------- |
| [Zed Agent thread](./zed-agent.md) | Uses Zed Agent settings, profiles, tools, [Skills](./skills.md), Instructions, and MCP |
| [Gwen Agent thread](./zed-agent.md) | Uses Gwen Agent settings, profiles, tools, [Skills](./skills.md), Instructions, and MCP |
| [External Agent thread](./external-agents.md) | Uses the ACP integration and the agent's native configuration |
| [Terminal Thread](./terminal-threads.md) | Runs a CLI/TUI in a terminal-backed thread; the CLI owns auth and configuration |
## Multiple Projects {#multiple-projects}
The Threads Sidebar can hold multiple projects at once. Each project gets its own group with its own threads and conversation history. This mirrors how Zed handles projects in general — see [Windows & Projects](../windows-and-projects.md) for more on how projects open and how to manage them.
The Threads Sidebar can hold multiple projects at once. Each project gets its own group with its own threads and conversation history. This mirrors how Gwen handles projects in general — see [Windows & Projects](../windows-and-projects.md) for more on how projects open and how to manage them.
To add another project to the sidebar, click the **Add Project** button (open-folder icon) in the sidebar bottom bar. The popover that opens lists your recent projects and also provides **Add Local Folders** and **Add Remote Folder** buttons at the bottom.
@@ -87,7 +87,7 @@ Worktrees are managed from the title bar. Click the worktree picker (to the righ
Once you're in a new worktree, use the branch picker next to the worktree picker to create a new branch or check out an existing one. If the branch you pick is already checked out in another worktree, the current worktree stays in detached HEAD until you choose a different branch.
To automate setup steps whenever a new worktree is created, use a [Task hook](../tasks.md#hooks). The `create_worktree` hook runs automatically after Zed creates a linked worktree, with `ZED_WORKTREE_ROOT` pointing at the new worktree and `ZED_MAIN_GIT_WORKTREE` pointing at the original repository.
To automate setup steps whenever a new worktree is created, use a [Task hook](../tasks.md#hooks). The `create_worktree` hook runs automatically after Gwen creates a linked worktree, with `ZED_WORKTREE_ROOT` pointing at the new worktree and `ZED_MAIN_GIT_WORKTREE` pointing at the original repository.
After the agent finishes, review the diff and merge the changes through your normal Git workflow. If the thread was running in a linked worktree and no other active threads use it, moving the thread to Thread History saves the worktree's Git state and removes it from disk. Restoring the thread from history restores the worktree.
@@ -95,5 +95,5 @@ After the agent finishes, review the diff and merge the changes through your nor
- [Agent Panel](./agent-panel.md): Manage individual threads and configure the agent
- [External Agents](./external-agents.md): Use ACP-integrated External Agents
- [Terminal Threads](./terminal-threads.md): Run agent CLIs and TUIs directly in Zed
- [Terminal Threads](./terminal-threads.md): Run agent CLIs and TUIs directly in Gwen
- [Tools](./tools.md): Built-in tools available in each thread
+26 -26
View File
@@ -1,47 +1,47 @@
---
title: AI Privacy - Zed
description: Understand how Zed handles AI prompts, code context, hosted model requests, provider data boundaries, feedback, training data, and privacy controls.
title: AI Privacy - Gwen
description: Understand how Gwen handles AI prompts, code context, hosted model requests, provider data boundaries, feedback, training data, and privacy controls.
---
# AI Privacy
This page explains the privacy and trust boundaries for AI features in Zed,
including [Zed Agent](./zed-agent.md), [Edit Prediction](./edit-prediction.md),
This page explains the privacy and trust boundaries for AI features in Gwen,
including [Gwen Agent](./zed-agent.md), [Edit Prediction](./edit-prediction.md),
[Inline Assistant](./inline-assistant.md), and
[Git commit generation](../git.md#ai-support-in-git).
Zed does not retain your prompts or code context by default. For
[Zed-hosted models](../account/zed-hosted-models.md), Zed has no-training
Gwen does not retain your prompts or code context by default. For
[Gwen-hosted models](../account/zed-hosted-models.md), Gwen has no-training
commitments from model providers, and provider agreements require zero data
retention for inference requests except for
[provider-designated models with safety retention](#provider-safety-retention),
such as Anthropic's Covered Models.
Zed only retains AI data when you explicitly share feedback or opt in to
Gwen only retains AI data when you explicitly share feedback or opt in to
training data collection.
## AI Request Paths {#ai-request-paths}
| Path | Who handles model requests | What to know | Details |
| ------------------------------------------------------------ | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| [Zed-hosted models](../account/zed-hosted-models.md) | Zed routes requests to hosted model providers | Provider agreements prohibit training on your prompts or code context and require zero data retention for inference requests, except for provider-designated models with safety retention, such as Anthropic's Covered Models. | [Zed-hosted model commitments](#data-retention-and-training) |
| [Provider API keys](./use-api-access.md) | The configured provider | The provider handles requests under its own terms. Provider keys saved through Zed are stored in the system keychain, not in `settings.json`. | [Use API Access](./use-api-access.md) |
| [Gwen-hosted models](../account/zed-hosted-models.md) | Gwen routes requests to hosted model providers | Provider agreements prohibit training on your prompts or code context and require zero data retention for inference requests, except for provider-designated models with safety retention, such as Anthropic's Covered Models. | [Gwen-hosted model commitments](#data-retention-and-training) |
| [Provider API keys](./use-api-access.md) | The configured provider | The provider handles requests under its own terms. Provider keys saved through Gwen are stored in the system keychain, not in `settings.json`. | [Use API Access](./use-api-access.md) |
| [Existing subscriptions](./use-an-existing-subscription.md) | The subscription provider | The provider handles requests under the subscription terms. | [Use an Existing Subscription](./use-an-existing-subscription.md) |
| [Gateways](./use-a-gateway.md) | The configured gateway and upstream providers | The gateway and upstream providers handle requests under their own terms. | [Use a Gateway](./use-a-gateway.md) |
| [Local models](./use-a-local-model.md) | The local server or self-hosted endpoint | The local server handles requests according to how you configured that server. | [Use a Local Model](./use-a-local-model.md) |
| [External Agents](./external-agents.md) | The External Agent and its configured providers | The External Agent handles model requests under its own terms. Tool and MCP behavior depends on agent and ACP configuration. | [External Agents](./external-agents.md) |
| [Terminal Threads](./terminal-threads.md) | The CLI or TUI running in the terminal | The CLI or TUI owns its auth, model routing, tools, instructions, MCP configuration, and data handling. | [Terminal Threads](./terminal-threads.md) |
| [Edit Prediction](./edit-prediction.md) | The selected edit prediction provider | Each keystroke can send local editing context to the selected provider. Zeta requests are processed transiently unless training data collection is enabled; third-party providers follow their own terms. | [Edit Prediction](./edit-prediction.md), [Feedback and Training Data](./ai-improvement.md) |
| [Agent tools](./tools.md), [MCP](./mcp.md), and integrations | Zed, configured MCP servers, and external systems | Tools can read, edit, search, run commands, fetch URLs, or call external systems depending on profile, MCP server, and tool permission settings. | [Agent Profiles](./agent-profiles.md), [Tool Permissions](./tool-permissions.md), [MCP](./mcp.md) |
| Project trust and instructions | Zed and the trusted worktree | Project-local instructions and skills are loaded from trusted worktrees. External Agents and Terminal Threads may read their own instruction files. | [Worktree Trust](../worktree-trust.md), [Skills](./skills.md), [Instructions](./instructions.md) |
| [Agent tools](./tools.md), [MCP](./mcp.md), and integrations | Gwen, configured MCP servers, and external systems | Tools can read, edit, search, run commands, fetch URLs, or call external systems depending on profile, MCP server, and tool permission settings. | [Agent Profiles](./agent-profiles.md), [Tool Permissions](./tool-permissions.md), [MCP](./mcp.md) |
| Project trust and instructions | Gwen and the trusted worktree | Project-local instructions and skills are loaded from trusted worktrees. External Agents and Terminal Threads may read their own instruction files. | [Worktree Trust](../worktree-trust.md), [Skills](./skills.md), [Instructions](./instructions.md) |
## Zed-Hosted Model Commitments {#data-retention-and-training}
## Gwen-Hosted Model Commitments {#data-retention-and-training}
For Zed-hosted models, Zed has commitments from model providers that prohibit
For Gwen-hosted models, Gwen has commitments from model providers that prohibit
training on your prompts or code context and require zero data retention for
inference requests, except for
[provider-designated models with safety retention](#provider-safety-retention),
such as Anthropic's Covered Models. The public provider documents linked below describe provider programs or default
API terms; Zed-hosted model requests are governed by Zed's provider agreements.
API terms; Gwen-hosted model requests are governed by Gwen's provider agreements.
| Provider | No training reference | Zero-data-retention reference |
| --------- | ------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -54,7 +54,7 @@ API terms; Zed-hosted model requests are governed by Zed's provider agreements.
Some providers require limited data retention for specific models as a condition
of offering them, on every platform where those models are available. Anthropic
retains prompts and outputs for models it designates as Covered Models, including
Claude Fable 5, for at least 30 days for trust and safety purposes. Zed cannot
Claude Fable 5, for at least 30 days for trust and safety purposes. Gwen cannot
opt out of this retention; it applies wherever these models are served. See
[Anthropic's data retention practices for Covered Models](https://support.claude.com/en/articles/15425996-data-retention-practices-for-covered-models).
@@ -62,10 +62,10 @@ For these models:
- The no-training commitment still applies. Retained data is used for safety
review, not model training.
- Zed does not retain your prompts or outputs. Retention happens at the
- Gwen does not retain your prompts or outputs. Retention happens at the
provider, under the provider's documented access controls and deletion
timelines.
- All other Zed-hosted models keep zero-data-retention handling.
- All other Gwen-hosted models keep zero-data-retention handling.
If you don't want provider-side retention, use a model that the provider has
not designated for safety retention. Switching to
@@ -74,12 +74,12 @@ not designated for safety retention. Switching to
for covered models, because providers apply it on every platform where those
models are offered.
## AI Data Retained by Zed {#ai-data-retained-by-zed}
## AI Data Retained by Gwen {#ai-data-retained-by-zed}
Zed may retain AI data only when you explicitly share it or opt in:
Gwen may retain AI data only when you explicitly share it or opt in:
- [Response ratings and feedback](./ai-improvement.md#ai-feedback-with-ratings)
can send a conversation thread to Zed for review and improvement.
can send a conversation thread to Gwen for review and improvement.
- [Edit Prediction training data](./ai-improvement.md#edit-predictions) is
collected only when you opt in, the project is open source, and the file is not
excluded.
@@ -89,13 +89,13 @@ can be stored in each opt-in case.
## Controls and Related Privacy Docs {#controls-and-related-privacy-docs}
- [Telemetry](../telemetry.md): What telemetry Zed collects and how to control
- [Telemetry](../telemetry.md): What telemetry Gwen collects and how to control
it.
- [Privacy for Business](../business/privacy.md): How Zed Business enforces
- [Privacy for Business](../business/privacy.md): How Gwen Business enforces
privacy settings across an organization.
- [Admin Controls](../business/admin-controls.md): How owners and admins control
Zed-hosted models, Edit Prediction, and feedback sharing.
Gwen-hosted models, Edit Prediction, and feedback sharing.
- [AI Quick Start](./quick-start.md#turn-ai-off): How to turn AI off.
- [Privacy Policy](https://zed.dev/privacy-policy): Zed's privacy policy.
- [Subprocessors](https://zed.dev/subprocessors): Zed's subprocessors.
- [Terms of Service](https://zed.dev/terms): Zed's terms.
- [Privacy Policy](https://zed.dev/privacy-policy): Gwen's privacy policy.
- [Subprocessors](https://zed.dev/subprocessors): Gwen's subprocessors.
- [Terms of Service](https://zed.dev/terms): Gwen's terms.
+15 -15
View File
@@ -1,21 +1,21 @@
---
title: AI Quick Start - Zed
description: Choose the right Zed AI setup path for agents, models, subscriptions, local models, edit prediction, and privacy.
title: AI Quick Start - Gwen
description: Choose the right Gwen AI setup path for agents, models, subscriptions, local models, edit prediction, and privacy.
---
# AI Quick Start
Use this page to choose the right AI setup path in Zed. If you already know the company, subscription, model provider, agent, or CLI you want to use, start with [AI by Company](./by-company.md).
Use this page to choose the right AI setup path in Gwen. If you already know the company, subscription, model provider, agent, or CLI you want to use, start with [AI by Company](./by-company.md).
## Use the Zed Agent {#zed-agent}
## Use the Gwen Agent {#zed-agent}
Use [Zed Agent](./zed-agent.md) when you want Zed's native agent to read, edit, search, and run code in your project.
Use [Gwen Agent](./zed-agent.md) when you want Gwen's native agent to read, edit, search, and run code in your project.
Zed Agent uses Zed-configured models from [LLM Providers](./llm-providers.md). It also uses Zed's built-in tools, [Agent Profiles](./agent-profiles.md), [Skills](./skills.md), [Instructions](./instructions.md), and [MCP servers](./mcp.md).
Gwen Agent uses Gwen-configured models from [LLM Providers](./llm-providers.md). It also uses Gwen's built-in tools, [Agent Profiles](./agent-profiles.md), [Skills](./skills.md), [Instructions](./instructions.md), and [MCP servers](./mcp.md).
Start in the [Agent Panel](./agent-panel.md) to prompt the agent, add context, review changes, and manage threads.
### Configure the Zed Agent {#configure-zed-agent}
### Configure the Gwen Agent {#configure-zed-agent}
| If you want to... | Use |
| ----------------------------------------- | ----------------------------------------- |
@@ -25,30 +25,30 @@ Start in the [Agent Panel](./agent-panel.md) to prompt the agent, add context, r
| Add always-on personal or project context | [Instructions](./instructions.md) |
| Connect external tools and context | [Model Context Protocol](./mcp.md) |
## Use Another Coding Agent in Zed {#agent-cli}
## Use Another Coding Agent in Gwen {#agent-cli}
Use this path for Claude, Codex, OpenCode, Copilot, Cursor, Pi Coding Agent, Gemini CLI, or another coding agent.
| If the agent... | Use |
| ------------------------------- | ----------------------------------------- |
| Integrates with Zed through ACP | [External Agents](./external-agents.md) |
| Integrates with Gwen through ACP | [External Agents](./external-agents.md) |
| Runs as a CLI or TUI | [Terminal Threads](./terminal-threads.md) |
External Agents and Terminal Threads usually own their own auth, model configuration, subscriptions, tools, instructions, and MCP configuration.
## Choose Which Models the Zed Agent Uses {#model-access}
## Choose Which Models the Gwen Agent Uses {#model-access}
The Zed Agent and other model-backed Zed AI features use models configured through [LLM Providers](./llm-providers.md).
The Gwen Agent and other model-backed Gwen AI features use models configured through [LLM Providers](./llm-providers.md).
| If you want to... | Use |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| Use models billed through Zed | [Zed-Hosted Models](../account/zed-hosted-models.md) |
| Use models billed through Gwen | [Gwen-Hosted Models](../account/zed-hosted-models.md) |
| Bring your own provider API key, credits, top-ups, or usage billing | [Use API Access](./use-api-access.md) |
| Use a subscription you already pay for | [Use an Existing Subscription](./use-an-existing-subscription.md) |
| Use OpenRouter, Vercel AI Gateway, Amazon Bedrock, or another gateway | [Use a Gateway](./use-a-gateway.md) |
| Use Ollama, LM Studio, local OpenAI-compatible servers, or self-hosted models | [Use a Local Model](./use-a-local-model.md) |
Provider keys saved through Zed are stored in the system keychain, not in `settings.json`.
Provider keys saved through Gwen are stored in the system keychain, not in `settings.json`.
## Change AI Settings {#ai-settings}
@@ -58,7 +58,7 @@ Provider keys saved through Zed are stored in the system keychain, not in `setti
| Disable AI, configure tool permissions, or set up edit prediction providers | Settings Editor with {#action zed::OpenSettings} |
| Edit advanced JSON-only settings | Settings file with {#action zed::OpenSettingsFile} |
For general settings mechanics, see [Configuring Zed](../configuring-zed.md).
For general settings mechanics, see [Configuring Gwen](../configuring-zed.md).
## Use a Specific AI Feature {#features}
@@ -75,7 +75,7 @@ For general settings mechanics, see [Configuring Zed](../configuring-zed.md).
| If you want to... | Use |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Understand privacy and data controls | [AI Privacy](./privacy-and-security.md) and [Feedback and Training Data](./ai-improvement.md) |
| Understand plans, usage, and billing | [Plans & Pricing](../account/plans-and-pricing.md), [Zed-Hosted Models](../account/zed-hosted-models.md), and [Billing](../account/billing.md) |
| Understand plans, usage, and billing | [Plans & Pricing](../account/plans-and-pricing.md), [Gwen-Hosted Models](../account/zed-hosted-models.md), and [Billing](../account/billing.md) |
## Turn AI Off {#turn-ai-off}
+4 -4
View File
@@ -1,13 +1,13 @@
---
title: Rules (Replaced by Skills)
description: Rules have been replaced by Skills and Instructions in Zed.
description: Rules have been replaced by Skills and Instructions in Gwen.
---
# Rules {#rules}
Rules have been replaced by [Skills](./skills.md) and [Instructions](./instructions.md).
> **Note:** Starting in Zed v1.4.0, on-demand Rules and the Rules Library have been replaced by [Skills](./skills.md). Skills are the recommended way to package reusable agent instructions.
> **Note:** Starting in Gwen v1.4.0, on-demand Rules and the Rules Library have been replaced by [Skills](./skills.md). Skills are the recommended way to package reusable agent instructions.
Use [Skills](./skills.md) for reusable task instructions that can be invoked by name or selected by the model. Use [Instructions](./instructions.md) for always-on personal and project context.
@@ -32,7 +32,7 @@ Other instruction filenames are also supported for compatibility with other agen
Existing Rules migrate automatically:
- Non-default Rules become global Skills in `~/.agents/skills/`, each with `disable-model-invocation: true`. They remain user-invocable by slash command or `@`-mention.
- Default Rules are appended to your global `AGENTS.md` file (`~/.config/zed/AGENTS.md` on macOS and Linux, `%APPDATA%\Zed\AGENTS.md` on Windows).
- Default Rules are appended to your global `AGENTS.md` file (`~/.config/gwen/AGENTS.md` on macOS and Linux, `%APPDATA%\Gwen\AGENTS.md` on Windows).
- Git commit prompt customizations are also appended to the global `AGENTS.md` file.
Rules Library content is not deleted, so downgrading to an earlier version of Zed leaves your Rules intact.
Rules Library content is not deleted, so downgrading to an earlier version of Gwen leaves your Rules intact.
+26 -26
View File
@@ -1,11 +1,11 @@
---
title: Sandboxing
description: Zed Agent tool calls can run in an OS-level sandbox to restrict certain operations.
description: Gwen Agent tool calls can run in an OS-level sandbox to restrict certain operations.
---
# Sandboxing
You can restrict what operations the [Zed Agent](./zed-agent.md) can run in multiple ways. One way to restrict them is
You can restrict what operations the [Gwen Agent](./zed-agent.md) can run in multiple ways. One way to restrict them is
[Tool Permissions](./tool-permissions.md), but these are of limited use when the agent wants to do things like run a
complicated script in a terminal.
@@ -20,7 +20,7 @@ sandbox?](#trust) for more details.
- Tool permissions restrict the agent's ability to run certain tool actions in the first place
- Once a tool action is actually running, sandboxing restricts what it can do
Sandboxing applies only to Zed Agent. It does not sandbox Zed itself, language servers, extensions, tasks, your normal
Sandboxing applies only to Gwen Agent. It does not sandbox Gwen itself, language servers, extensions, tasks, your normal
terminal tabs, [External Agents](./external-agents.md), or [Terminal Threads](./terminal-threads.md).
> **Note**: Under some conditions, sandboxes on Windows are weaker than those on
@@ -29,7 +29,7 @@ terminal tabs, [External Agents](./external-agents.md), or [Terminal Threads](./
## Sandboxed Tools {#sandboxed-tools}
Zed Agent sandboxing currently applies to the `terminal` and `fetch` tools.
Gwen Agent sandboxing currently applies to the `terminal` and `fetch` tools.
| Tool | What sandboxing limits |
| ---------- | ----------------------------------------------------------------------------------------------------- |
@@ -54,7 +54,7 @@ The `fetch` tool has no extra requirements on any platform.
## Default Access {#default-access}
By default, sandboxed Zed Agent tool actions have these restrictions:
By default, sandboxed Gwen Agent tool actions have these restrictions:
| Access type | Default behavior |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -73,7 +73,7 @@ However, it does not fully eliminate them.
Firstly, sandboxing relies on OS-level features, which may contain bugs.
Operating systems have historically had bugs in security features. And while we
have tested thoroughly, there may also be bugs in Zed's implementation. These
have tested thoroughly, there may also be bugs in Gwen's implementation. These
could allow privilege escalation - for example, allow an agent to write to a
file that it should only have read access to.
@@ -90,7 +90,7 @@ provide a `reason`, which is displayed in the prompt. Read it, and decide
whether it makes sense before approving.
Also, sandboxing restricts **only** what the `terminal` and `fetch` tools in the
Zed agent can do. It has **no effect** on other parts of Zed, including:
Gwen agent can do. It has **no effect** on other parts of Gwen, including:
- Language servers
- The built-in git client
@@ -124,14 +124,14 @@ But none of this changes the fundamental principle: **a sandbox is not a
substitute for good security practices**. It is one layer in a defense-in-depth
strategy.
Zed's default profile aims to strike a balance between security and convenience,
Gwen's default profile aims to strike a balance between security and convenience,
but we encourage you to tune your settings based on your own security
requirements and risk profile. A disabled sandbox is not a very effective
sandbox.
## Approval Prompts {#approval-prompts}
When the agent needs access outside the default sandbox, Zed shows a sandbox approval prompt before the tool action runs.
When the agent needs access outside the default sandbox, Gwen shows a sandbox approval prompt before the tool action runs.
Depending on what the tool requested, the prompt can ask you to allow:
- network access to specific hosts, such as `github.com` or `*.npmjs.org`
@@ -172,7 +172,7 @@ The available options are:
| `allow_all_hosts` | Allow sandboxed tools to reach any host without prompting. |
| `write_paths` | Directory subtrees that sandboxed terminal commands may write to without prompting. Paths are absolute. |
| `allow_fs_write_all` | Allow sandboxed terminal commands to write anywhere except protected Git metadata without prompting. |
| `allow_unsandboxed` | Turn sandboxing off entirely for Zed Agent terminal commands. The fetch tool will have no restrictions. |
| `allow_unsandboxed` | Turn sandboxing off entirely for Gwen Agent terminal commands. The fetch tool will have no restrictions. |
Prefer narrow grants, such as a specific host or write path, over `allow_all_hosts`, `allow_fs_write_all`, or
`allow_unsandboxed`.
@@ -190,7 +190,7 @@ enforcement details vary.
### macOS {#macos}
On macOS, Zed uses Apple's Seatbelt sandbox through `sandbox-exec`.
On macOS, Gwen uses Apple's Seatbelt sandbox through `sandbox-exec`.
Sandboxed terminal commands:
@@ -203,17 +203,17 @@ Sandboxed terminal commands:
- cannot reach the network unless you approve network access
- can reach only an allowlist of macOS system (Mach) services that developer tooling needs; services that could be abused to escape the sandbox (LaunchServices and launchd, which can launch processes outside it), read the clipboard (the pasteboard), or capture audio are not reachable
When network access is approved on macOS, Zed uses an HTTP/HTTPS proxy so access can be limited to approved hosts.
When network access is approved on macOS, Gwen uses an HTTP/HTTPS proxy so access can be limited to approved hosts.
Tools that do not honor proxy environment variables, such as SSH, FTP, and raw socket clients, may not work even after host-specific network access is approved.
For networked terminal commands, prefer HTTPS URLs over SSH URLs when possible.
### Linux {#linux}
On Linux, Zed uses [Bubblewrap][bubblewrap] (`bwrap`) for sandboxing.
On Linux, Gwen uses [Bubblewrap][bubblewrap] (`bwrap`) for sandboxing.
Zed only uses a non-setuid `bwrap` binary. Its sandbox is built entirely on unprivileged user namespaces, so a setuid-root
Gwen only uses a non-setuid `bwrap` binary. Its sandbox is built entirely on unprivileged user namespaces, so a setuid-root
`bwrap` provides no extra functionality, and running one would mean executing root-privileged setup with arguments partly
derived from model-influenced input. If the only `bwrap` found on your `PATH` is setuid-root, Zed refuses to run it;
derived from model-influenced input. If the only `bwrap` found on your `PATH` is setuid-root, Gwen refuses to run it;
install a non-setuid Bubblewrap to enable sandboxing.
Sandboxed terminal commands:
@@ -225,11 +225,11 @@ Sandboxed terminal commands:
- cannot write elsewhere unless you approve additional paths or broader write access
- cannot reach the network unless you approve network access
When host-specific network access is approved on Linux, Zed uses an HTTP/HTTPS proxy so access can be limited to approved
When host-specific network access is approved on Linux, Gwen uses an HTTP/HTTPS proxy so access can be limited to approved
hosts. Tools that do not honor proxy environment variables, such as SSH, FTP, and raw socket clients, may not work even
after host-specific network access is approved.
If Bubblewrap is unavailable or cannot create a sandbox in the current environment, Zed may run the command without the OS
If Bubblewrap is unavailable or cannot create a sandbox in the current environment, Gwen may run the command without the OS
sandbox and show a warning in the tool output.
> **Warning**: On Linux and WSL, restrictions on filesystem objects are
@@ -240,7 +240,7 @@ sandbox and show a warning in the tool output.
#### Installing Bubblewrap {#installing-bubblewrap}
Zed needs a runnable, non-setuid `bwrap` binary on your `$PATH`. Installing
Gwen needs a runnable, non-setuid `bwrap` binary on your `$PATH`. Installing
`bubblewrap` from your distribution's package manager is usually all you need.
You can test whether it's working with:
@@ -251,7 +251,7 @@ bwrap --ro-bind / / -- echo "working"
"Non-setuid" here refers to the [setuid bit][setuid bit]. Historically,
bubblewrap has shipped both a setuid and non-setuid binary. The setuid binary is
being phased out for security concerns, and so Zed's sandbox _explicitly rejects
being phased out for security concerns, and so Gwen's sandbox _explicitly rejects
setuid `bwrap` binaries_.
##### Ubuntu-specific requirements {#installing-bubblewrap-ubuntu}
@@ -288,19 +288,19 @@ sudo apparmor_parser -r /etc/apparmor.d/bwrap-userns-restrict
### Windows {#windows}
On Windows, Zed Agent sandboxing is supported only when the agent action runs inside WSL.
On Windows, Gwen Agent sandboxing is supported only when the agent action runs inside WSL.
> **Warning**: Due to limitations in WSL's implementation, it is possible that a
> terminal command may write outside sandbox grants when the user has given
> write access to any path that resides on the NTFS drive. This includes the
> current-project grant for projects stored on NTFS. Zed will show a warning
> current-project grant for projects stored on NTFS. Gwen will show a warning
> when this happens. In practice, we believe this is difficult to exploit, but
> security cannot be guaranteed. See [below](#why-ntfs-compromise) for a more
> technical explanation.
Zed uses the Linux Bubblewrap sandbox inside WSL because WSL provides the Linux process and filesystem primitives that
Bubblewrap needs. Native Windows processes do not currently have the same sandbox integration in Zed, so a native Windows
command cannot be confined by Zed Agent's OS sandbox in the same way.
Gwen uses the Linux Bubblewrap sandbox inside WSL because WSL provides the Linux process and filesystem primitives that
Bubblewrap needs. Native Windows processes do not currently have the same sandbox integration in Gwen, so a native Windows
command cannot be confined by Gwen Agent's OS sandbox in the same way.
When running inside WSL, the Linux sandboxing behavior applies, including the requirement that `bwrap` not be setuid-root:
@@ -309,7 +309,7 @@ When running inside WSL, the Linux sandboxing behavior applies, including the re
- `/tmp` is temporary for sandboxed terminal calls
- network access is all-or-nothing rather than host-specific, so host-specific network requests are rejected and the agent must request unrestricted network access when network access is needed
If WSL is not installed, or if you choose to run a command without the sandbox, Zed falls back to the standard terminal
If WSL is not installed, or if you choose to run a command without the sandbox, Gwen falls back to the standard terminal
behavior of running in your native shell. It selects the shell using the usual preference order: a bash (scoop's bash or
Git Bash) when one is installed, otherwise PowerShell, and finally `cmd.exe`. Because the command then runs against native
Windows paths instead of WSL's Linux filesystem, path conventions change accordingly (for example `C:\...` or `/c/...`
@@ -373,7 +373,7 @@ testing, but could not find documentation guaranteeing this behaviour in all
circumstances, for all Windows/WSL versions past and present, regardless of
configuration options.
Zed's sandbox has been designed with the aim of being totally unbreakable, even
Gwen's sandbox has been designed with the aim of being totally unbreakable, even
in the presence of a motivated attacker with full control over the files in your
project running as a standard user. It does _not_ assume a
mostly-benevolent-but-sometimes-careless agent.
+9 -9
View File
@@ -1,6 +1,6 @@
---
title: Agent Skills - Zed
description: Extend Zed's AI agent with reusable, on-demand skill files for specialized tasks.
title: Agent Skills - Gwen
description: Extend Gwen's AI agent with reusable, on-demand skill files for specialized tasks.
---
# Skills {#skills}
@@ -13,11 +13,11 @@ A skill is a folder containing a `SKILL.md` file with metadata and instructions.
### Create your own {#create-your-own}
Zed includes a built-in `create-skill` skill — invoke it with `/create-skill` and the agent walks you through the process.
Gwen includes a built-in `create-skill` skill — invoke it with `/create-skill` and the agent walks you through the process.
You can also open the Skills Manager from the Agent Panel using {#kb agent::ManageSkills}, or by clicking `...` and selecting **Skills**. Outside the panel, use the {#action agent::OpenSkillCreator} action from the command palette, or click **Create Skill** on the **AI > Skills** settings page. The creator opens as a page in the settings window where you fill in the skill's name, description, body, and optionally toggle `disable-model-invocation`. The skill is saved to the scope of the settings file selected in the settings window — the **User** tab creates a global skill, while a **Project** tab creates a project-local skill — and the form shows exactly where the file will be written.
Lastly, it's also possible to add a skill through importing it from an existing GitHub Markdown file. Open the command palette and look for the {#action agent::CreateSkillFromUrl} action. If your clipboard contains a supported GitHub `.md` URL, Zed pre-fills and fetches it automatically.
Lastly, it's also possible to add a skill through importing it from an existing GitHub Markdown file. Open the command palette and look for the {#action agent::CreateSkillFromUrl} action. If your clipboard contains a supported GitHub `.md` URL, Gwen pre-fills and fetches it automatically.
See [Skill format](#skill-format) below for the full format reference.
@@ -50,7 +50,7 @@ In the skills page, you'll see a **Create Skill** button that opens the settings
You can hand a skill to a teammate without hosting it anywhere. In the Skills settings page, click the **link** icon on a skill row to copy a `zed://skill?data=…` link to your clipboard.
The link is self-contained: it embeds the full `SKILL.md` contents (base64url-encoded), so the recipient doesn't need access to your project or any registry.
When someone opens that link (for example by pasting it into their browser or clicking it in a chat), Zed opens the "Create Skill" page in the settings window, pre-filled with the shared skill.
When someone opens that link (for example by pasting it into their browser or clicking it in a chat), Gwen opens the "Create Skill" page in the settings window, pre-filled with the shared skill.
The recipient can review the name, description, and full body, choose a scope by selecting the **User** tab (global) or a **Project** tab, and click **Save** to install it.
Nothing is written to disk until they explicitly save, so a shared link can never silently install instructions into someone's agent.
@@ -58,7 +58,7 @@ Nothing is written to disk until they explicitly save, so a shared link can neve
By default, the agent picks up skills autonomously. It sees a catalog of every installed skill (name and description) in its system prompt, and calls the `skill` tool when a task matches a skill's description.
When the agent invokes a skill you created or installed, Zed prompts you to allow or deny it, using the same permission flow as other tools. Skills built into Zed do not prompt. You can set per-skill defaults in [Tool Permissions](./tool-permissions.md) so you're not prompted for skills you always trust.
When the agent invokes a skill you created or installed, Gwen prompts you to allow or deny it, using the same permission flow as other tools. Skills built into Gwen do not prompt. You can set per-skill defaults in [Tool Permissions](./tool-permissions.md) so you're not prompted for skills you always trust.
### Manual Invocation {#manual-invocation}
@@ -165,7 +165,7 @@ See the [Agent Skills specification](https://agentskills.io/specification) for t
## Where Skills Live {#where-skills-live}
Zed loads skills from two locations:
Gwen loads skills from two locations:
| Scope | Path | When it applies |
| ------------- | ---------------------------- | ------------------------ |
@@ -190,13 +190,13 @@ The agent cannot edit `SKILL.md` files or their bundled resources without your e
## Agent Path Boundaries {#agent-path-boundaries}
Zed Skills apply to the Zed Agent. [External Agents](./external-agents.md) and Terminal Threads may have their own native skills, prompts, or instruction systems. Configure those in the External Agent or CLI.
Gwen Skills apply to the Gwen Agent. [External Agents](./external-agents.md) and Terminal Threads may have their own native skills, prompts, or instruction systems. Configure those in the External Agent or CLI.
## Limitations {#limitations}
- **Flat layout only.** Skills must be direct children of the skills root. Nested folders like `~/.agents/skills/group/my-skill/` are not discovered.
- **50KB catalog budget.** The total size of all skill names and descriptions is capped at 50KB. Skills that don't fit are dropped from the catalog with a warning in the UI. Keep descriptions concise.
- **No remote registry.** Zed does not discover or load skills from remote locations at runtime, and custom search paths are not supported. (You can still import a skill once from a GitHub URL — see [Create your own](#create-your-own).) Skills are loaded from `~/.agents/skills/` and `<worktree>/.agents/skills/` only. Use a symlink if you need to point at another location.
- **No remote registry.** Gwen does not discover or load skills from remote locations at runtime, and custom search paths are not supported. (You can still import a skill once from a GitHub URL — see [Create your own](#create-your-own).) Skills are loaded from `~/.agents/skills/` and `<worktree>/.agents/skills/` only. Use a symlink if you need to point at another location.
- **Live reload.** Adding, removing, or editing a `SKILL.md` takes effect immediately without restarting your session. Changes to a skill's `name` or `description` invalidate the model's prompt cache for the current session.
## See also
+17 -17
View File
@@ -1,17 +1,17 @@
---
title: Terminal Threads - Zed
description: Run agent CLIs and TUIs directly in terminal-backed threads in Zed.
title: Terminal Threads - Gwen
description: Run agent CLIs and TUIs directly in terminal-backed threads in Gwen.
---
# Terminal Threads
Terminal Threads are terminal-backed threads in the [Threads Sidebar](./parallel-agents.md#threads-sidebar). Use them when you want to run an agent CLI or TUI directly in Zed.
Terminal Threads are terminal-backed threads in the [Threads Sidebar](./parallel-agents.md#threads-sidebar). Use them when you want to run an agent CLI or TUI directly in Gwen.
Terminal Threads are different from [External Agents](./external-agents.md). External Agents integrate with Zed through ACP and render as agent threads. Terminal Threads run the native command-line tool in a terminal that Zed organizes as a thread.
Terminal Threads are different from [External Agents](./external-agents.md). External Agents integrate with Gwen through ACP and render as agent threads. Terminal Threads run the native command-line tool in a terminal that Gwen organizes as a thread.
## What Zed Owns {#what-zed-owns}
## What Gwen Owns {#what-zed-owns}
Zed owns the thread surface:
Gwen owns the thread surface:
- the terminal-backed thread in the Threads Sidebar
- thread grouping by project
@@ -28,7 +28,7 @@ The CLI or TUI running inside the terminal owns its own:
- skills and instruction files
- MCP configuration
[Zed Agent profiles](./agent-profiles.md), Zed Agent tool permissions, Zed Skills, and Zed Agent MCP settings do not automatically apply to Terminal Threads.
[Gwen Agent profiles](./agent-profiles.md), Gwen Agent tool permissions, Gwen Skills, and Gwen Agent MCP settings do not automatically apply to Terminal Threads.
## Opening a Terminal Thread {#opening-a-terminal-thread}
@@ -38,7 +38,7 @@ You can open as many Terminal Threads as you like. Each gets its own entry in th
## Running a Command Automatically {#terminal-thread-init-command}
If you always run the same CLI in Terminal Threads, set the `agent.terminal_init_command` setting to have Zed run a command automatically whenever Zed creates a Terminal Thread shell:
If you always run the same CLI in Terminal Threads, set the `agent.terminal_init_command` setting to have Gwen run a command automatically whenever Gwen creates a Terminal Thread shell:
```json [settings]
{
@@ -60,7 +60,7 @@ To edit the title of the active Terminal Thread from the Agent Panel, custom-map
## Notifications {#terminal-thread-notifications}
When a terminal produces a bell character while not in focus, Zed notifies you the same way it does when an agent finishes: with a visual pop-up and an optional sound. Clicking the notification brings the terminal into focus and clears the indicator.
When a terminal produces a bell character while not in focus, Gwen notifies you the same way it does when an agent finishes: with a visual pop-up and an optional sound. Clicking the notification brings the terminal into focus and clears the indicator.
The same `agent.notify_when_agent_waiting` and `agent.play_sound_when_agent_done` settings apply.
@@ -70,7 +70,7 @@ Unlike agent threads, Terminal Threads are closed rather than archived. They do
## CLI/TUI Setup Notes {#cli-setup}
Some agent CLIs and TUIs can send terminal signals, such as bell notifications or title updates, that Zed uses to show useful context in the sidebar.
Some agent CLIs and TUIs can send terminal signals, such as bell notifications or title updates, that Gwen uses to show useful context in the sidebar.
### Claude Code Notifications {#claude-code-notifications}
@@ -94,7 +94,7 @@ For more, see the [Claude Code documentation](https://code.claude.com/docs/en/te
### Amp Notifications {#amp-notifications}
Amp updates terminal titles automatically and can also notify you when it needs your attention. To enable notifications in Zed Terminal Threads, add `AMP_FORCE_BEL=1` to your terminal environment settings:
Amp updates terminal titles automatically and can also notify you when it needs your attention. To enable notifications in Gwen Terminal Threads, add `AMP_FORCE_BEL=1` to your terminal environment settings:
```json [settings]
{
@@ -110,12 +110,12 @@ Restart Amp after adding the environment variable.
### OpenCode Notifications {#opencode-notifications}
OpenCode can update terminal titles automatically. For Zed notifications, add an OpenCode plugin that emits a terminal bell when OpenCode needs your attention.
OpenCode can update terminal titles automatically. For Gwen notifications, add an OpenCode plugin that emits a terminal bell when OpenCode needs your attention.
Create `.opencode/plugins/zed-bell.js` in your project, or `~/.config/opencode/plugins/zed-bell.js` to use it globally:
Create `.opencode/plugins/gwen-bell.js` in your project, or `~/.config/opencode/plugins/gwen-bell.js` to use it globally:
```js
export const ZedBell = async () => {
export const GwenBell = async () => {
return {
event: async ({ event }) => {
if (process.env.OPENCODE_CLIENT === "acp") return;
@@ -132,7 +132,7 @@ Restart OpenCode after adding the plugin.
### Pi Notifications {#pi-notifications}
Pi can use an extension to emit a notification when it finishes a turn. Create `.pi/extensions/zed-bell.ts` in your project, or `~/.pi/agent/extensions/zed-bell.ts` to use it globally:
Pi can use an extension to emit a notification when it finishes a turn. Create `.pi/extensions/gwen-bell.ts` in your project, or `~/.pi/agent/extensions/gwen-bell.ts` to use it globally:
```ts
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
@@ -148,7 +148,7 @@ Restart Pi after adding the extension, or run `/reload` if the extension is in o
### Codex Terminal Titles {#codex-terminal-titles}
Codex can update the terminal title as it works, which Zed uses to show useful context for Codex Terminal Threads in the sidebar, such as the project, current status, branch, model, or task progress.
Codex can update the terminal title as it works, which Gwen uses to show useful context for Codex Terminal Threads in the sidebar, such as the project, current status, branch, model, or task progress.
To configure this from within Codex, run `/title` and use the picker to choose which fields appear and in what order. Codex saves the selection to `tui.terminal_title` in `~/.codex/config.toml`. You can also edit it directly:
@@ -161,7 +161,7 @@ terminal_title = ["spinner", "project-name", "run-state", "thread-title"]
Credentials come from the terminal session and the CLI/TUI running inside it.
In remote projects, the CLI may read the remote shell environment and remote config files. In local Terminal Threads, it reads the local shell environment and local config files. Zed does not copy [API keys from LLM provider settings](./use-api-access.md) into Terminal Threads.
In remote projects, the CLI may read the remote shell environment and remote config files. In local Terminal Threads, it reads the local shell environment and local config files. Gwen does not copy [API keys from LLM provider settings](./use-api-access.md) into Terminal Threads.
## When to Use Terminal Threads {#when-to-use-terminal-threads}
+2 -2
View File
@@ -1,12 +1,12 @@
---
title: Text Threads (Removed)
description: Text threads have been removed from Zed. Use the Agent Panel for all AI conversations.
description: Text threads have been removed from Gwen. Use the Agent Panel for all AI conversations.
redirect_to: ./agent-panel.md
---
# Text Threads
Text threads have been removed from Zed.
Text threads have been removed from Gwen.
All AI conversations now happen through the [Agent Panel](./agent-panel.md), which supports agentic workflows including tool calls, file editing, terminal access, and [External Agents](./external-agents.md).
+5 -5
View File
@@ -3,12 +3,12 @@
Configure which [Agent Panel](./agent-panel.md) tools run automatically and which require your approval.
For a list of available tools, [see the Tools page](./tools.md).
> **Note:** In Zed v0.224.0 and above, tool approval is controlled by `agent.tool_permissions.default`.
> **Note:** In Gwen v0.224.0 and above, tool approval is controlled by `agent.tool_permissions.default`.
> In earlier versions, it was controlled by the `agent.always_allow_tool_actions` boolean (default `false`).
## Quick Start
Use Zed's Settings Editor to [configure tool permissions](zed://settings/agent.tool_permissions), or add rules directly to your settings file:
Use Gwen's Settings Editor to [configure tool permissions](zed://settings/agent.tool_permissions), or add rules directly to your settings file:
```json [settings]
{
@@ -139,11 +139,11 @@ To auto-approve all tool actions:
}
```
This bypasses confirmation prompts for most tools, but `always_deny`, `always_confirm`, built-in security rules, and paths inside Zed settings directories still prompt or block.
This bypasses confirmation prompts for most tools, but `always_deny`, `always_confirm`, built-in security rules, and paths inside Gwen settings directories still prompt or block.
## Shell Compatibility
For the `terminal` tool, Zed parses chained commands (e.g., `echo hello && rm file`) to check each sub-command against your patterns.
For the `terminal` tool, Gwen parses chained commands (e.g., `echo hello && rm file`) to check each sub-command against your patterns.
All supported shells work with tool permission patterns, including sh, bash, zsh, dash, fish, PowerShell 7+, pwsh, cmd, xonsh, csh, tcsh, Nushell, Elvish, and rc (Plan 9).
@@ -162,7 +162,7 @@ You can use the "Test Your Rules" checker, available in each individual tool pag
## Built-in Security Rules
Zed includes a small set of hardcoded security rules that **cannot be overridden** by any setting.
Gwen includes a small set of hardcoded security rules that **cannot be overridden** by any setting.
These only apply to the **terminal** tool and block recursive deletion of critical directories:
- `rm -rf /` and `rm -rf /*` — filesystem root
+7 -7
View File
@@ -1,21 +1,21 @@
---
title: AI Agent Tools - Zed
description: Built-in tools for Zed's AI agent including file editing, code search, terminal commands, web search, skills, and diagnostics.
title: AI Agent Tools - Gwen
description: Built-in tools for Gwen's AI agent including file editing, code search, terminal commands, web search, skills, and diagnostics.
---
# Tools
Zed's built-in agent has access to these tools for reading, searching, and editing your codebase. These tools are used in the [Agent Panel](./agent-panel.md) during conversations with AI agents.
Gwen's built-in agent has access to these tools for reading, searching, and editing your codebase. These tools are used in the [Agent Panel](./agent-panel.md) during conversations with AI agents.
The exact tool list can vary by [Agent Profile](./agent-profiles.md), selected model provider, and Zed version.
The exact tool list can vary by [Agent Profile](./agent-profiles.md), selected model provider, and Gwen version.
You can configure permissions for tool actions, including situations where they are automatically approved, automatically denied, or require your confirmation on a case-by-case basis. See [Tool Permissions](./tool-permissions.md) for the list of permission-gated tools and details.
To add custom tools beyond these built-in ones, see [MCP servers](./mcp.md).
To choose which built-in tools and MCP tools are available in a Zed Agent thread, use [Agent Profiles](./agent-profiles.md). Profiles control tool availability; tool permissions control allow, deny, and confirm behavior.
To choose which built-in tools and MCP tools are available in a Gwen Agent thread, use [Agent Profiles](./agent-profiles.md). Profiles control tool availability; tool permissions control allow, deny, and confirm behavior.
The terminal tool can also run with additional OS-level restrictions when [Zed Agent sandboxing](./sandboxing.md) is enabled.
The terminal tool can also run with additional OS-level restrictions when [Gwen Agent sandboxing](./sandboxing.md) is enabled.
## Read & Search Tools
@@ -61,7 +61,7 @@ Searches the web for information, providing results with snippets and links from
**Example:** Looking up whether a known bug in a dependency has been patched in a recent release, or finding the current API signature for a third-party library when the local docs are out of date.
> **Note:** The built-in `search_web` tool is only available to [Zed Pro](https://zed.dev/pricing) subscribers using the Zed provider. If you're on a free plan or using a different provider, you can get equivalent functionality by connecting an MCP server that provides web search capabilities. See [MCP servers](./mcp.md) for details.
> **Note:** The built-in `search_web` tool is only available to [Gwen Pro](https://zed.dev/pricing) subscribers using the Gwen provider. If you're on a free plan or using a different provider, you can get equivalent functionality by connecting an MCP server that provides web search capabilities. See [MCP servers](./mcp.md) for details.
## Edit Tools
+13 -13
View File
@@ -1,13 +1,13 @@
---
title: Use a Gateway - Zed
description: Configure OpenRouter, Vercel AI Gateway, Amazon Bedrock, and other gateway or cloud model platforms in Zed.
title: Use a Gateway - Gwen
description: Configure OpenRouter, Vercel AI Gateway, Amazon Bedrock, and other gateway or cloud model platforms in Gwen.
---
# Use a Gateway
Use a gateway when you route model requests through a platform such as OpenRouter, Vercel AI Gateway, Amazon Bedrock, or another OpenAI-compatible service.
| Gateway | Zed AI features | [External Agents](./external-agents.md) | Terminal Threads | Notes |
| Gateway | Gwen AI features | [External Agents](./external-agents.md) | Terminal Threads | Notes |
| ------------------------- | --------------- | --------------------------------------- | ---------------- | -------------------------------------------- |
| OpenRouter | Yes | Separate config | Separate config | Uses OpenRouter API access |
| Vercel AI Gateway | Yes | Separate config | Separate config | Uses Vercel AI Gateway API access |
@@ -16,14 +16,14 @@ Use a gateway when you route model requests through a platform such as OpenRoute
## OpenRouter {#openrouter}
Use OpenRouter when you want to route Zed AI features through OpenRouter.
Use OpenRouter when you want to route Gwen AI features through OpenRouter.
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 **Settings → AI → LLM Providers** with {#action agent::OpenSettings} and find the OpenRouter row.
4. Enter your OpenRouter API key.
Zed also reads `OPENROUTER_API_KEY` from the local Zed process environment.
Gwen also reads `OPENROUTER_API_KEY` from the local Gwen process environment.
When using OpenRouter as your assistant provider, explicitly select a model in your settings:
@@ -101,13 +101,13 @@ Supported fields include `order`, `allow_fallbacks`, `require_parameters`, `data
## Vercel AI Gateway {#vercel-ai-gateway}
Use Vercel AI Gateway when you want to route Zed AI features through Vercel.
Use Vercel AI Gateway when you want to route Gwen AI features through Vercel.
1. Create an API key from your Vercel AI Gateway keys page.
2. Open **Settings → AI → LLM Providers** with {#action agent::OpenSettings} and find the Vercel AI Gateway row.
3. Enter your Vercel AI Gateway API key.
Zed also reads `VERCEL_AI_GATEWAY_API_KEY` from the local Zed process environment.
Gwen also reads `VERCEL_AI_GATEWAY_API_KEY` from the local Gwen process environment.
You can set a custom endpoint for Vercel AI Gateway in settings:
@@ -132,7 +132,7 @@ Your AWS credentials need these permissions:
- `bedrock:InvokeModelWithResponseStream`
- `bedrock:InvokeModel`
Bedrock supports Zed-prefixed AWS environment variables so Zed does not override or consume your normal AWS credentials:
Bedrock supports Gwen-prefixed AWS environment variables so Gwen does not override or consume your normal AWS credentials:
- `ZED_ACCESS_KEY_ID`
- `ZED_SECRET_ACCESS_KEY`
@@ -179,9 +179,9 @@ The API key itself is stored in the system keychain, not in `settings.json`.
### Bedrock Cross-Region Inference {#bedrock-cross-region-inference}
Zed uses [Cross-Region inference](https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference.html) for Bedrock on a best-effort basis.
Gwen uses [Cross-Region inference](https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference.html) for Bedrock on a best-effort basis.
By default, Zed uses regional inference profiles. To opt into global profiles, add `allow_global`:
By default, Gwen uses regional inference profiles. To opt into global profiles, add `allow_global`:
```json [settings]
{
@@ -215,9 +215,9 @@ Some AWS environments require a guardrail on every Bedrock API call. Add `guardr
### Bedrock Mantle Models {#bedrock-mantle-models}
Some models, such as the GPT-5.6 family (Sol, Terra, and Luna), GPT-5.5, GPT-5.4, and Grok 4.3, aren't available through Bedrock's Converse API and are only reachable through `bedrock-mantle`, AWS's OpenAI-compatible inference endpoint. Zed routes these models through `bedrock-mantle` automatically; they appear alongside the rest of the Bedrock models in the model picker once you're authenticated, with no extra configuration required.
Some models, such as the GPT-5.6 family (Sol, Terra, and Luna), GPT-5.5, GPT-5.4, and Grok 4.3, aren't available through Bedrock's Converse API and are only reachable through `bedrock-mantle`, AWS's OpenAI-compatible inference endpoint. Gwen routes these models through `bedrock-mantle` automatically; they appear alongside the rest of the Bedrock models in the model picker once you're authenticated, with no extra configuration required.
Mantle models require IAM permissions for the `bedrock-mantle` endpoint (for example via the `AmazonBedrockMantleInferenceAccess` managed policy) in addition to whatever permissions your existing Bedrock credentials already have, and `bedrock-mantle` is only available in [some AWS Regions](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-mantle.html#regions). Zed surfaces an error naming the current Region and the supported ones if you try to use a Mantle model outside of them.
Mantle models require IAM permissions for the `bedrock-mantle` endpoint (for example via the `AmazonBedrockMantleInferenceAccess` managed policy) in addition to whatever permissions your existing Bedrock credentials already have, and `bedrock-mantle` is only available in [some AWS Regions](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-mantle.html#regions). Gwen surfaces an error naming the current Region and the supported ones if you try to use a Mantle model outside of them.
#### Custom Bedrock Mantle Models {#bedrock-mantle-custom-models}
@@ -243,7 +243,7 @@ You can add custom models served through `bedrock-mantle` with `mantle_available
}
```
`protocol` selects which OpenAI-compatible API the model is called through, and must be either `chat_completions` or `responses`. Set `supports_thinking` to `true` for custom Mantle models that accept OpenAI reasoning effort parameters; Zed will then expose `low`, `medium`, `high`, and `xhigh` in the thinking effort picker, while disabling thinking sends `none`.
`protocol` selects which OpenAI-compatible API the model is called through, and must be either `chat_completions` or `responses`. Set `supports_thinking` to `true` for custom Mantle models that accept OpenAI reasoning effort parameters; Gwen will then expose `low`, `medium`, `high`, and `xhigh` in the thinking effort picker, while disabling thinking sends `none`.
## OpenAI-Compatible Gateways {#openai-compatible}
+17 -17
View File
@@ -1,23 +1,23 @@
---
title: Use a Local Model - Zed
description: Configure llama.cpp, Ollama, LM Studio, local OpenAI-compatible servers, and local edit prediction in Zed.
title: Use a Local Model - Gwen
description: Configure llama.cpp, Ollama, LM Studio, local OpenAI-compatible servers, and local edit prediction in Gwen.
---
# Use a Local Model
Use local models when you run the model on your machine or on infrastructure you control.
| Local path | Zed AI features | External Agents | Terminal Threads | Notes |
| Local path | Gwen AI features | External Agents | Terminal Threads | Notes |
| --------------------------------- | -------------------- | --------------- | ---------------- | -------------------------------------------------- |
| llama.cpp | Yes | Separate config | Separate config | Configure a llama.cpp server for Zed AI features |
| LM Studio | Yes | Separate config | Separate config | Configure LM Studio for Zed AI features |
| Ollama | Yes | Separate config | Separate config | Configure Ollama for Zed AI features |
| llama.cpp | Yes | Separate config | Separate config | Configure a llama.cpp server for Gwen AI features |
| LM Studio | Yes | Separate config | Separate config | Configure LM Studio for Gwen AI features |
| Ollama | Yes | Separate config | Separate config | Configure Ollama for Gwen AI features |
| Local OpenAI-compatible server | Yes | Separate config | Separate config | Configure base URL, model, and key if needed |
| Local/self-hosted edit prediction | Edit Prediction only | No | No | Uses [Edit Prediction](./edit-prediction.md) setup |
## llama.cpp {#llama-cpp}
Use [llama.cpp](https://llama.app) and its built-in server for local models with Zed Agent, Inline Assistant, and similar model-backed Zed AI features.
Use [llama.cpp](https://llama.app) and its built-in server for local models with Gwen Agent, Inline Assistant, and similar model-backed Gwen AI features.
1. Install llama.cpp from [llama.app](https://llama.app).
2. Start the server in [router mode](https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md):
@@ -32,9 +32,9 @@ Use [llama.cpp](https://llama.app) and its built-in server for local models with
llama serve -hf unsloth/gemma-4-26B-A4B-it-GGUF:BF16
```
3. In Zed, select a llama.cpp model from the model dropdown.
3. In Gwen, select a llama.cpp model from the model dropdown.
Zed automatically discovers the served models with their context length and tool/vision capabilities. In router mode these are refined once a model loads, via the server's `/models/sse` stream (which requires a recent llama.cpp build). To list models yourself instead, set `auto_discover` to `false`:
Gwen automatically discovers the served models with their context length and tool/vision capabilities. In router mode these are refined once a model loads, via the server's `/models/sse` stream (which requires a recent llama.cpp build). To list models yourself instead, set `auto_discover` to `false`:
```json [settings]
{
@@ -58,7 +58,7 @@ Zed automatically discovers the served models with their context length and tool
### llama.cpp Context Length {#llama-cpp-context}
Zed uses the context length the server reports (`/props`). Override it for all models with `context_window`, or per model with `max_tokens` in `available_models`:
Gwen uses the context length the server reports (`/props`). Override it for all models with `context_window`, or per model with `max_tokens` in `available_models`:
```json [settings]
{
@@ -74,7 +74,7 @@ If your llama.cpp server requires a key, enter it in the provider UI or set `LLA
## Ollama {#ollama}
Use Ollama for local models with Zed Agent, Inline Assistant, and similar model-backed Zed AI features.
Use Ollama for local models with Gwen Agent, Inline Assistant, and similar model-backed Gwen AI features.
1. Download and install Ollama from [ollama.com/download](https://ollama.com/download).
2. Pull a model:
@@ -89,9 +89,9 @@ Use Ollama for local models with Zed Agent, Inline Assistant, and similar model-
ollama serve
```
4. In Zed, select an Ollama model from the model dropdown.
4. In Gwen, select an Ollama model from the model dropdown.
Zed automatically discovers models that Ollama has pulled. To disable autodiscovery and list models yourself, configure `auto_discover`:
Gwen automatically discovers models that Ollama has pulled. To disable autodiscovery and list models yourself, configure `auto_discover`:
```json [settings]
{
@@ -116,7 +116,7 @@ Zed automatically discovers models that Ollama has pulled. To disable autodiscov
### Ollama Context Length {#ollama-context}
Zed requests to Ollama include context length as the `num_ctx` parameter. By default, Zed uses `4096` tokens.
Gwen requests to Ollama include context length as the `num_ctx` parameter. By default, Gwen uses `4096` tokens.
Set a context length for all Ollama models:
@@ -136,7 +136,7 @@ If your Ollama server requires a key, enter the key in the provider UI or set `O
## LM Studio {#lm-studio}
Use LM Studio for local models with Zed Agent, Inline Assistant, and similar model-backed Zed AI features.
Use LM Studio for local models with Gwen Agent, Inline Assistant, and similar model-backed Gwen AI features.
1. Download and install [LM Studio](https://lmstudio.ai/download).
2. Download at least one model in LM Studio, or use the LM Studio CLI:
@@ -151,7 +151,7 @@ Use LM Studio for local models with Zed Agent, Inline Assistant, and similar mod
lms server start
```
4. In Zed, select an LM Studio model from the model dropdown.
4. In Gwen, select an LM Studio model from the model dropdown.
If your LM Studio server requires a key, enter the key in the provider UI or set `LMSTUDIO_API_KEY`.
@@ -165,4 +165,4 @@ Edit Prediction has its own provider setup. See [Edit Prediction](./edit-predict
## Agent Path Boundaries {#agent-path-boundaries}
This page covers local models configured in Zed. [External Agents](./external-agents.md) and terminal CLIs may have their own local-model setup; configure those in the agent or CLI.
This page covers local models configured in Gwen. [External Agents](./external-agents.md) and terminal CLIs may have their own local-model setup; configure those in the agent or CLI.
+16 -16
View File
@@ -1,26 +1,26 @@
---
title: Use an Existing Subscription - Zed
description: Use ChatGPT, Claude, Copilot, OpenCode, Cursor, and other existing AI subscriptions in Zed.
title: Use an Existing Subscription - Gwen
description: Use ChatGPT, Claude, Copilot, OpenCode, Cursor, and other existing AI subscriptions in Gwen.
---
# Use an Existing Subscription
Use this page when you already pay for an AI product and want to know how it fits into Zed.
Use this page when you already pay for an AI product and want to know how it fits into Gwen.
Some subscriptions work as Zed model providers. Others are used through an External Agent or terminal CLI.
Some subscriptions work as Gwen model providers. Others are used through an External Agent or terminal CLI.
| Subscription | Zed AI features | External Agent via ACP | Terminal Thread | Notes |
| Subscription | Gwen AI features | External Agent via ACP | Terminal Thread | Notes |
| ----------------------------- | ---------------------------------------------------- | ------------------------------------- | ------------------------------ | ---------------------------------------------------------------- |
| Zed Pro, Business, or Student | [Zed-hosted models](../account/zed-hosted-models.md) | No | No | Billed through Zed |
| ChatGPT Plus / Pro | ChatGPT Subscription | Codex where supported | Codex CLI | Sign in with OpenAI in Zed; separate from OpenAI API keys |
| Claude Pro / Max | No direct Zed LLM provider path | Claude Agent | Claude Code | Separate from Anthropic API keys |
| Gwen Pro, Business, or Student | [Gwen-hosted models](../account/zed-hosted-models.md) | No | No | Billed through Gwen |
| ChatGPT Plus / Pro | ChatGPT Subscription | Codex where supported | Codex CLI | Sign in with OpenAI in Gwen; separate from OpenAI API keys |
| Claude Pro / Max | No direct Gwen LLM provider path | Claude Agent | Claude Code | Separate from Anthropic API keys |
| GitHub Copilot | GitHub Copilot Chat; Copilot edit prediction | Copilot agent where available | CLI where available | Requires Copilot/Copilot Chat auth |
| OpenCode Zen / Go | OpenCode provider | OpenCode agent where available | `opencode` CLI | Requires OpenCode API key; subscription affects available models |
| Cursor subscription | No Zed LLM provider path | Cursor External Agent where available | Cursor CLI/TUI where available | Use agent/CLI paths instead of Zed LLM provider settings |
| Cursor subscription | No Gwen LLM provider path | Cursor External Agent where available | Cursor CLI/TUI where available | Use agent/CLI paths instead of Gwen LLM provider settings |
## ChatGPT Plus / Pro {#chatgpt}
ChatGPT Plus and Pro can be used through Zed's ChatGPT Subscription provider. Sign in with OpenAI in Zed; no separate OpenAI API key is required.
ChatGPT Plus and Pro can be used through Gwen's ChatGPT Subscription provider. Sign in with OpenAI in Gwen; no separate OpenAI API key is required.
OpenAI API access is separate. If you have OpenAI API credits or API billing, use [Use API Access](./use-api-access.md#openai).
@@ -30,28 +30,28 @@ Claude Pro and Max subscriptions are separate from Anthropic API credits. Use Cl
For Anthropic API access, use [Use API Access](./use-api-access.md#anthropic).
See [What Anthropic's New Claude Billing Means for Zed Users](https://zed.dev/blog/anthropic-subscription-changes) for more context.
See [What Anthropic's New Claude Billing Means for Gwen Users](https://zed.dev/blog/anthropic-subscription-changes) for more context.
## GitHub Copilot {#github-copilot}
GitHub Copilot can be used as a Copilot Chat model provider for Zed AI features where supported. Copilot can also be used for [Edit Prediction](./edit-prediction.md).
GitHub Copilot can be used as a Copilot Chat model provider for Gwen AI features where supported. Copilot can also be used for [Edit Prediction](./edit-prediction.md).
If you use a Copilot agent or CLI, that setup is owned by Copilot. See [External Agents](./external-agents.md) and [Terminal Threads](./terminal-threads.md).
## OpenCode Zen / Go {#opencode}
OpenCode is a first-class language model provider in Zed. If you think of Zen or Go as your OpenCode subscription, the Zed setup path is still [Use API Access](./use-api-access.md#opencode): enter an OpenCode API key, then choose which OpenCode models to show. Zed does not sign in to OpenCode with OAuth or detect your subscription directly.
OpenCode is a first-class language model provider in Gwen. If you think of Zen or Go as your OpenCode subscription, the Gwen setup path is still [Use API Access](./use-api-access.md#opencode): enter an OpenCode API key, then choose which OpenCode models to show. Gwen does not sign in to OpenCode with OAuth or detect your subscription directly.
## Cursor {#cursor}
Cursor subscriptions do not configure Zed's LLM provider settings. Use a Cursor External Agent or Cursor CLI/TUI where available.
Cursor subscriptions do not configure Gwen's LLM provider settings. Use a Cursor External Agent or Cursor CLI/TUI where available.
## Subscriptions Used Through Agent Harnesses {#agent-harnesses}
Some harnesses, CLIs, and External Agents can authenticate to ChatGPT, Claude, Copilot, or other subscriptions through their own flows. In those cases, Zed hosts the External Agent or Terminal Thread, but the harness owns auth and model behavior.
Some harnesses, CLIs, and External Agents can authenticate to ChatGPT, Claude, Copilot, or other subscriptions through their own flows. In those cases, Gwen hosts the External Agent or Terminal Thread, but the harness owns auth and model behavior.
Pi Coding Agent is an example: Pi is a harness, not the subscription. Configure provider auth in Pi.
## DeepSeek {#deepseek}
DeepSeek paid usage, top-ups, and API billing are API access in Zed, not subscription sign-in. Use [Use API Access](./use-api-access.md#deepseek).
DeepSeek paid usage, top-ups, and API billing are API access in Gwen, not subscription sign-in. Use [Use API Access](./use-api-access.md#deepseek).
+25 -25
View File
@@ -1,6 +1,6 @@
---
title: Use API Access - Zed
description: Configure provider API access, API keys, API credits, usage billing, and OpenAI-compatible endpoints for Zed AI features.
title: Use API Access - Gwen
description: Configure provider API access, API keys, API credits, usage billing, and OpenAI-compatible endpoints for Gwen AI features.
---
# Use API Access
@@ -11,7 +11,7 @@ Paid API credits, usage billing, and top-ups are API access, even when you pay t
## Supported API Providers {#providers}
Zed supports these first-class API providers for model-backed Zed AI features:
Gwen supports these first-class API providers for model-backed Gwen AI features:
- [Anthropic](#anthropic)
- [Custom Anthropic Models](#anthropic-custom-models)
@@ -32,8 +32,8 @@ Zed supports these first-class API providers for model-backed Zed AI features:
## What API Access Applies To {#support}
Use API access for the Zed Agent, Inline Assistant, Git commit generation,
thread summaries, and similar Zed-owned AI features.
Use API access for the Gwen Agent, Inline Assistant, Git commit generation,
thread summaries, and similar Gwen-owned AI features.
External Agents and Terminal Threads usually configure model access in the
agent or CLI itself. See [Agents](./agents.md) for the difference between
@@ -41,9 +41,9 @@ agent paths and model access paths.
## API Keys and Environment Variables {#api-keys}
Most API-access providers can be configured on the **Settings → AI → LLM Providers** page with {#action agent::OpenSettings}. Keys saved through Zed are stored in the system keychain, not in `settings.json`.
Most API-access providers can be configured on the **Settings → AI → LLM Providers** page with {#action agent::OpenSettings}. Keys saved through Gwen are stored in the system keychain, not in `settings.json`.
Zed also reads provider-specific environment variables. Non-empty [environment variables](../environment.md) take precedence over keychain values. If a key comes from an environment variable, unset the variable and restart Zed to stop using it.
Gwen also reads provider-specific environment variables. Non-empty [environment variables](../environment.md) take precedence over keychain values. If a key comes from an environment variable, unset the variable and restart Gwen to stop using it.
| Provider | Environment variable |
| ----------------- | ----------------------------------------------------- |
@@ -63,7 +63,7 @@ OpenAI-compatible provider environment variables are generated from the configur
## Custom Headers {#custom-headers}
You can attach extra HTTP headers to every request Zed makes to supported HTTP-based providers. This is useful in corporate environments or for observability tooling.
You can attach extra HTTP headers to every request Gwen makes to supported HTTP-based providers. This is useful in corporate environments or for observability tooling.
Configure them with `language_models.<provider>.custom_headers`:
@@ -73,7 +73,7 @@ Configure them with `language_models.<provider>.custom_headers`:
"openai": {
"custom_headers": {
"Fancy-Auth": "Bearer <your-fancy-key>",
"X-My-Tag": "zed"
"X-My-Tag": "gwen"
}
}
}
@@ -82,11 +82,11 @@ Configure them with `language_models.<provider>.custom_headers`:
`custom_headers` is supported by Amazon Bedrock, Anthropic, DeepSeek, Google AI, LM Studio, Mistral, Ollama, OpenAI, OpenAI-compatible providers, OpenCode, OpenRouter, [Vercel AI Gateway](./use-a-gateway.md), and xAI.
Headers managed by Zed for each provider, such as `Authorization`, `Content-Type`, `Accept`, and provider-specific authentication headers, are ignored with a warning if you try to override them.
Headers managed by Gwen for each provider, such as `Authorization`, `Content-Type`, `Accept`, and provider-specific authentication headers, are ignored with a warning if you try to override them.
## Remote Projects {#remote-projects}
Zed LLM providers for Zed AI features are initialized in the local Zed app. In SSH, dev container, and other remote projects, API keys saved in Zed are read from the local system keychain, and provider environment variables are read from the local Zed process environment.
Gwen LLM providers for Gwen AI features are initialized in the local Gwen app. In SSH, dev container, and other remote projects, API keys saved in Gwen are read from the local system keychain, and provider environment variables are read from the local Gwen process environment.
External Agents and Terminal Threads may run their own processes and use their own remote or local environment. See [External Agents](./external-agents.md) and [Terminal Threads](./terminal-threads.md).
@@ -101,7 +101,7 @@ Use Anthropic API access when you have an Anthropic API key or API credits. Clau
3. Open Agent Settings with {#action agent::OpenSettings} and go to the Anthropic section.
4. Enter your Anthropic API key.
Zed also reads `ANTHROPIC_API_KEY` from the local Zed process environment.
Gwen also reads `ANTHROPIC_API_KEY` from the local Gwen process environment.
#### Custom Anthropic Models {#anthropic-custom-models}
@@ -157,7 +157,7 @@ Use OpenAI API access when you have an OpenAI API key or API billing. ChatGPT Pl
3. Open Agent Settings with {#action agent::OpenSettings} and go to the OpenAI section.
4. Enter your OpenAI API key.
Zed also reads `OPENAI_API_KEY` from the local Zed process environment.
Gwen also reads `OPENAI_API_KEY` from the local Gwen process environment.
#### Custom OpenAI Models {#openai-custom-models}
@@ -191,7 +191,7 @@ Use Google AI API access when you have a Gemini API key.
2. Open [Agent Settings](./agent-settings.md) with {#action agent::OpenSettings} and go to the Google AI section.
3. Enter your Google AI API key.
Zed reads `GEMINI_API_KEY`, falling back to `GOOGLE_AI_API_KEY`, from the local Zed process environment.
Gwen reads `GEMINI_API_KEY`, falling back to `GOOGLE_AI_API_KEY`, from the local Gwen process environment.
#### Custom Google AI Models {#google-ai-custom-models}
@@ -235,7 +235,7 @@ Use Mistral API access when you have a Mistral API key.
2. Open Agent Settings with {#action agent::OpenSettings} and go to the Mistral section.
3. Enter your Mistral API key.
Zed also reads `MISTRAL_API_KEY` from the local Zed process environment.
Gwen also reads `MISTRAL_API_KEY` from the local Gwen process environment.
#### Custom Mistral Models {#mistral-custom-models}
@@ -265,13 +265,13 @@ support, image support, or a custom endpoint.
### DeepSeek {#deepseek}
Use DeepSeek API access when you have paid API usage, top-ups, or an API key. In Zed, DeepSeek is API access, not subscription sign-in.
Use DeepSeek API access when you have paid API usage, top-ups, or an API key. In Gwen, DeepSeek is API access, not subscription sign-in.
1. Visit the DeepSeek platform and [create an API key](https://platform.deepseek.com/api_keys).
2. Open Agent Settings with {#action agent::OpenSettings} and go to the DeepSeek section.
3. Enter your DeepSeek API key.
Zed also reads `DEEPSEEK_API_KEY` from the local Zed process environment.
Gwen also reads `DEEPSEEK_API_KEY` from the local Gwen process environment.
#### Custom DeepSeek Models {#deepseek-custom-models}
@@ -310,7 +310,7 @@ Use xAI API access when you have an xAI API key.
2. Open Agent Settings with {#action agent::OpenSettings} and go to the xAI section.
3. Enter your xAI API key.
Zed also reads `XAI_API_KEY` from the local Zed process environment.
Gwen also reads `XAI_API_KEY` from the local Gwen process environment.
#### Custom xAI Models {#xai-custom-models}
@@ -346,18 +346,18 @@ image support, or a custom endpoint.
Use OpenCode API access when you have an OpenCode API key. OpenCode Zen and Go affect which OpenCode models are available.
Zed does not sign in to OpenCode with OAuth or detect your OpenCode subscription; it uses an OpenCode API key saved in the system keychain or `OPENCODE_API_KEY`.
Gwen does not sign in to OpenCode with OAuth or detect your OpenCode subscription; it uses an OpenCode API key saved in the system keychain or `OPENCODE_API_KEY`.
1. Visit [OpenCode Console](https://opencode.ai/auth) and create an account.
2. To use Zen or Go models, make sure you have enough credits or an active
subscription. OpenCode Free models are not available when using OpenCode as a
provider in Zed's Agent. You can use them in Zed by running OpenCode as an
provider in Gwen's Agent. You can use them in Gwen by running OpenCode as an
[external agent through ACP](https://zed.dev/acp/agent/opencode).
3. Generate an API key from the API Keys section in the OpenCode Console.
4. Open Agent Settings with {#action agent::OpenSettings} and go to the OpenCode section.
5. Enter your OpenCode API key.
Zed also reads `OPENCODE_API_KEY` from the local Zed process environment.
Gwen also reads `OPENCODE_API_KEY` from the local Gwen process environment.
By default, models from all OpenCode subscription types are shown. You can hide subscriptions that are not relevant to you in the provider UI or in settings:
@@ -374,7 +374,7 @@ By default, models from all OpenCode subscription types are shown. You can hide
#### Custom OpenCode Models {#opencode-custom-models}
The Zed Agent comes preconfigured with OpenCode models. Add custom OpenCode models when you need newer models or models with custom endpoints.
The Gwen Agent comes preconfigured with OpenCode models. Add custom OpenCode models when you need newer models or models with custom endpoints.
Add custom models in your settings file:
@@ -458,7 +458,7 @@ By default, Anthropic-compatible models inherit these capabilities:
Enable `prompt_caching` to send explicit `cache_control` breakpoints for [prompt caching](https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching); leave it disabled if the provider rejects requests containing them.
The optional `custom_headers` map adds extra headers to every request, which some providers require. Headers managed by Zed (such as `X-Api-Key` and `Anthropic-Version`) cannot be overridden.
The optional `custom_headers` map adds extra headers to every request, which some providers require. Headers managed by Gwen (such as `X-Api-Key` and `Anthropic-Version`) cannot be overridden.
Models also support the optional `default_temperature`, `extra_beta_headers` (sent as `anthropic-beta` headers), `mode`, and `tool_override` fields, which behave the same as in [Custom Anthropic Models](#anthropic-custom-models).
@@ -501,9 +501,9 @@ By default, OpenAI-compatible models inherit these capabilities:
- `interleaved_reasoning`: `false`
- `max_tokens_parameter`: `false`
If a model only works with the Responses API, set `capabilities.chat_completions` to `false`. Zed will use the Responses endpoint for that model.
If a model only works with the Responses API, set `capabilities.chat_completions` to `false`. Gwen will use the Responses endpoint for that model.
For reasoning models (e.g. GPT-5), set `reasoning_effort` to the non-`none` effort level your endpoint supports. This enables thinking in the agent panel and tells Zed which effort to send when thinking is enabled. The provider settings UI can configure this when adding an OpenAI-compatible provider. Zed sends OpenAI-style `reasoning_effort` on chat-completions requests.
For reasoning models (e.g. GPT-5), set `reasoning_effort` to the non-`none` effort level your endpoint supports. This enables thinking in the agent panel and tells Gwen which effort to send when thinking is enabled. The provider settings UI can configure this when adding an OpenAI-compatible provider. Gwen sends OpenAI-style `reasoning_effort` on chat-completions requests.
If the model requires the Responses API for reasoning state, set `capabilities.chat_completions` to `false`:
+10 -10
View File
@@ -1,23 +1,23 @@
---
title: Zed Agent
description: Use Zed's native AI agent with Zed-configured models, tools, profiles, skills, instructions, and MCP servers.
title: Gwen Agent
description: Use Gwen's native AI agent with Gwen-configured models, tools, profiles, skills, instructions, and MCP servers.
---
# Zed Agent
# Gwen Agent
Zed Agent is Zed's native agent path. It runs in the [Agent Panel](./agent-panel.md) and [Threads Sidebar](./parallel-agents.md#threads-sidebar), uses models configured through [LLM Providers](./llm-providers.md), and integrates with Zed's project, editor, terminal, and review surfaces.
Gwen Agent is Gwen's native agent path. It runs in the [Agent Panel](./agent-panel.md) and [Threads Sidebar](./parallel-agents.md#threads-sidebar), uses models configured through [LLM Providers](./llm-providers.md), and integrates with Gwen's project, editor, terminal, and review surfaces.
Use Zed Agent when you want the agent to:
Use Gwen Agent when you want the agent to:
- read and search your project
- edit files
- run terminal commands
- use Zed-managed MCP tools
- use Gwen-managed MCP tools
- follow [Agent Profiles](./agent-profiles.md)
- use Zed [Skills](./skills.md) and [Instructions](./instructions.md)
- show changes in Zed's review UI
- use Gwen [Skills](./skills.md) and [Instructions](./instructions.md)
- show changes in Gwen's review UI
## What Zed Agent Uses {#what-zed-agent-uses}
## What Gwen Agent Uses {#what-zed-agent-uses}
| Capability | Source of truth |
| -------------------------- | ----------------------------------------- |
@@ -34,7 +34,7 @@ Use Zed Agent when you want the agent to:
| Agent path | Main difference |
| ----------------------------------------- | -------------------------------------------------------------------------------------------- |
| [Zed Agent](./zed-agent.md) | Uses Zed's model, tool, profile, skill, instruction, and MCP configuration |
| [Gwen Agent](./zed-agent.md) | Uses Gwen's model, tool, profile, skill, instruction, and MCP configuration |
| [External Agents](./external-agents.md) | Use an ACP integration and often own auth, model, tool, and native instruction configuration |
| [Terminal Threads](./terminal-threads.md) | Run a CLI/TUI in a terminal-backed thread; the CLI owns auth and configuration |
+1 -1
View File
@@ -1,6 +1,6 @@
---
title: All Actions
description: "Complete reference of all available actions and commands in Zed."
description: "Complete reference of all available actions and commands in Gwen."
---
# All Actions
+11 -11
View File
@@ -1,17 +1,17 @@
---
title: Appearance and Visual Customization - Zed
description: Customize Zed's themes, fonts, icons, UI density, and other visual settings to match your preferences.
title: Appearance and Visual Customization - Gwen
description: Customize Gwen's themes, fonts, icons, UI density, and other visual settings to match your preferences.
---
# Appearance
Customize Zed's visual appearance to match your preferences. This guide covers themes, fonts, icons, and other visual settings.
Customize Gwen's visual appearance to match your preferences. This guide covers themes, fonts, icons, and other visual settings.
For information on how the settings system works, see [All Settings](./reference/all-settings.md).
## Customize Zed in 5 Minutes
## Customize Gwen in 5 Minutes
Here's how to make Zed feel like home:
Here's how to make Gwen feel like home:
1. **Pick a theme**: Press {#kb theme_selector::Toggle} to open the Theme Selector. Arrow through the list to preview themes in real time, and press Enter to apply.
@@ -23,13 +23,13 @@ Here's how to make Zed feel like home:
5. **Adjust font size**: In the same Settings Editor, search for `buffer_font_size` and `ui_font_size` to tweak the editor and interface text sizes.
That's it. You now have a personalized Zed setup.
That's it. You now have a personalized Gwen setup.
## Themes
Install themes from the Extensions page ({#action zed::Extensions}), then switch between them with the Theme Selector ({#kb theme_selector::Toggle}).
Zed supports separate themes for light and dark mode with automatic switching based on your system preference:
Gwen supports separate themes for light and dark mode with automatic switching based on your system preference:
```json [settings]
{
@@ -55,8 +55,8 @@ Like color themes, icon themes support separate light and dark variants:
{
"icon_theme": {
"mode": "system",
"light": "Zed (Default)",
"dark": "Zed (Default)"
"light": "Gwen (Default)",
"dark": "Gwen (Default)"
}
}
```
@@ -65,7 +65,7 @@ Like color themes, icon themes support separate light and dark variants:
## Fonts
Zed uses three font settings and their fallback counterparts for different contexts:
Gwen uses three font settings and their fallback counterparts for different contexts:
| Setting | Used for |
| ------------------------- | ------------------------- |
@@ -116,7 +116,7 @@ Adjust line spacing with `buffer_line_height`:
## UI Elements
Zed provides extensive control over UI elements including:
Gwen provides extensive control over UI elements including:
- **Tab bar** — Show/hide, navigation buttons, file icons, git status
- **Status bar** — Language selector, cursor position, line endings
+12 -12
View File
@@ -1,40 +1,40 @@
---
title: Authenticate with Zed
description: "Sign in to Zed to access collaboration features and AI services."
title: Authenticate with Gwen
description: "Sign in to Gwen to access collaboration features and AI services."
---
# Authenticate with Zed
# Authenticate with Gwen
Signing in to Zed is not required. You can use most features you'd expect in a code editor without ever doing so. We'll outline the few features that do require signing in, and how to do so, here.
Signing in to Gwen is not required. You can use most features you'd expect in a code editor without ever doing so. We'll outline the few features that do require signing in, and how to do so, here.
## What Features Require Signing In?
1. All real-time [collaboration features](./collaboration/overview.md).
2. [LLM-powered features](./ai/overview.md), if you are using Zed as the provider of your LLM models. To use AI without signing in, you can [bring and configure your own API keys](./ai/use-api-access.md).
2. [LLM-powered features](./ai/overview.md), if you are using Gwen as the provider of your LLM models. To use AI without signing in, you can [bring and configure your own API keys](./ai/use-api-access.md).
## Signing In
Zed uses GitHub's OAuth flow to authenticate users, requiring only the `read:user` GitHub scope, which grants read-only access to your GitHub profile information.
Gwen uses GitHub's OAuth flow to authenticate users, requiring only the `read:user` GitHub scope, which grants read-only access to your GitHub profile information.
1. Open Zed and click the `Sign In` button in the top-right corner of the window, or run the {#action client::SignIn} command from the command palette (`cmd-shift-p` on macOS or `ctrl-shift-p` on Windows/Linux).
2. Your default web browser will open to the Zed sign-in page.
1. Open Gwen and click the `Sign In` button in the top-right corner of the window, or run the {#action client::SignIn} command from the command palette (`cmd-shift-p` on macOS or `ctrl-shift-p` on Windows/Linux).
2. Your default web browser will open to the Gwen sign-in page.
3. Authenticate with your GitHub account when prompted.
4. After successful authentication, your browser will display a confirmation, and you'll be automatically signed in to Zed.
4. After successful authentication, your browser will display a confirmation, and you'll be automatically signed in to Gwen.
**Note**: If you're behind a corporate firewall, ensure that connections to `zed.dev` and `collab.zed.dev` are allowed.
## Signing Out
To sign out of Zed, you can use either of these methods:
To sign out of Gwen, you can use either of these methods:
- Click on the profile icon in the upper right corner and select `Sign Out` from the dropdown menu.
- Open the command palette and run the {#action client::SignOut} command.
## Email Addresses {#email}
Your Zed account's email address is the address provided by GitHub OAuth. If you have a public email address then it will be used, otherwise your primary GitHub email address will be used. Changes to your email address on GitHub can be synced to your Zed account by [signing in to zed.dev](https://zed.dev/sign_in).
Your Gwen account's email address is the address provided by GitHub OAuth. If you have a public email address then it will be used, otherwise your primary GitHub email address will be used. Changes to your email address on GitHub can be synced to your Gwen account by [signing in to zed.dev](https://zed.dev/sign_in).
Stripe is used for billing, and will use your Zed account's email address when starting a subscription. Changes to your Zed account email address do not currently update the email address used in Stripe. See [Updating Billing Information](./account/billing.md#updating-billing-info) for how to change this email address.
Stripe is used for billing, and will use your Gwen account's email address when starting a subscription. Changes to your Gwen account email address do not currently update the email address used in Stripe. See [Updating Billing Information](./account/billing.md#updating-billing-info) for how to change this email address.
## Hiding Sign In button from the interface
+8 -8
View File
@@ -1,13 +1,13 @@
---
title: Admin Controls - Zed Business
description: Configure AI, collaboration, and data sharing settings for your entire Zed Business organization.
title: Admin Controls - Gwen Business
description: Configure AI, collaboration, and data sharing settings for your entire Gwen Business organization.
---
# Admin Controls
Owners and admins can configure settings that apply to every member of the organization.
Most controls apply server-side to anything that routes through Zed's infrastructure. Some, like the Collaboration toggle, are enforced client-side and require members to be on a minimum Zed version. These controls don't cover [bring-your-own-key (BYOK) configurations](../ai/llm-providers.md), [gateways](../ai/use-a-gateway.md), [local or self-hosted models](../ai/use-a-local-model.md), [External Agents](../ai/external-agents.md), [Terminal Threads](../ai/terminal-threads.md), or [third-party extensions](../extensions.md), since those work independently of Zed's servers.
Most controls apply server-side to anything that routes through Gwen's infrastructure. Some, like the Collaboration toggle, are enforced client-side and require members to be on a minimum Gwen version. These controls don't cover [bring-your-own-key (BYOK) configurations](../ai/llm-providers.md), [gateways](../ai/use-a-gateway.md), [local or self-hosted models](../ai/use-a-local-model.md), [External Agents](../ai/external-agents.md), [Terminal Threads](../ai/terminal-threads.md), or [third-party extensions](../extensions.md), since those work independently of Gwen's servers.
## Accessing admin controls
@@ -17,20 +17,20 @@ Admin controls are available to owners and admins in the organization dashboard
## Collaboration
The **Collaboration** toggle controls whether members can use Zed's real-time collaboration features, including [Channels](../collaboration/channels.md), shared projects, and voice chat. Collaboration is off by default for Business organizations.
The **Collaboration** toggle controls whether members can use Gwen's real-time collaboration features, including [Channels](../collaboration/channels.md), shared projects, and voice chat. Collaboration is off by default for Business organizations.
This control is configured from the Data & Privacy page in the organization dashboard. It is enforced client-side and requires members to be on Zed **0.233 or later**. Members on older versions will not have the setting enforced.
This control is configured from the Data & Privacy page in the organization dashboard. It is enforced client-side and requires members to be on Gwen **0.233 or later**. Members on older versions will not have the setting enforced.
## Hosted AI models
The **Zed Model Provider** toggle controls whether members can use Zed's [hosted AI models](../account/zed-hosted-models.md):
The **Gwen Model Provider** toggle controls whether members can use Gwen's [hosted AI models](../account/zed-hosted-models.md):
- **On:** Members can use Zed's hosted models for AI features.
- **On:** Members can use Gwen's hosted models for AI features.
- **Off:** Members must bring their own model access via [LLM Providers](../ai/llm-providers.md) or use [External Agents](../ai/external-agents.md) for AI features.
## Edit Predictions
The **Edit Prediction** toggle controls whether members can use Zed's hosted [Edit Predictions](../ai/edit-prediction.md) via the Zeta model family. Members using third-party providers or local models for edit predictions are not affected.
The **Edit Prediction** toggle controls whether members can use Gwen's hosted [Edit Predictions](../ai/edit-prediction.md) via the Zeta model family. Members using third-party providers or local models for edit predictions are not affected.
**Edit Prediction Feedback** controls whether members can submit feedback on edit predictions. This setting is only configurable when Edit Prediction is enabled.
+3 -3
View File
@@ -1,6 +1,6 @@
---
title: Business Support - Zed Business
description: How to contact Zed for business inquiries and support.
title: Business Support - Gwen Business
description: How to contact Gwen for business inquiries and support.
---
# Business Support
@@ -11,4 +11,4 @@ For general questions, email [hi@zed.dev](mailto:hi@zed.dev).
## Open-source issues
Questions and bugs about the Zed editor itself (features, extensions, language support, crashes) go through the main Zed project on [GitHub](https://github.com/zed-industries/zed/issues).
Questions and bugs about Gwen itself (features, extensions, language support, crashes) go through the main Gwen project on [GitHub](https://github.com/zed-industries/zed/issues).
+10 -10
View File
@@ -1,25 +1,25 @@
---
title: Organizations - Zed Business
description: Create and manage a Zed Business organization, invite members, and control access for your team.
title: Organizations - Gwen Business
description: Create and manage a Gwen Business organization, invite members, and control access for your team.
---
# Organizations
A Zed organization is your team's Zed Business subscription, with members, billing, and admin controls in one place.
A Gwen organization is your team's Gwen Business subscription, with members, billing, and admin controls in one place.
## Personal Organizations
Every Zed account gets a personal organization at sign-up. It has its own subscription, billing, and settings, separate from any team you belong to.
Every Gwen account gets a personal organization at sign-up. It has its own subscription, billing, and settings, separate from any team you belong to.
Your personal organization always stays active. Joining a Zed Business organization doesn't replace or affect it.
Your personal organization always stays active. Joining a Gwen Business organization doesn't replace or affect it.
In the Zed editor, an organization menu in the title bar shows your current organization by name. Click it to see all your organizations and switch between them.
In Gwen, an organization menu in the title bar shows your current organization by name. Click it to see all your organizations and switch between them.
## Multiple Organizations
A Zed account can belong to more than one organization at the same time. If you're invited to a second organization while already a member of one, you join both. Each organization has its own subscription, billing, and admin controls.
A Gwen account can belong to more than one organization at the same time. If you're invited to a second organization while already a member of one, you join both. Each organization has its own subscription, billing, and admin controls.
To switch organizations in the dashboard, use the org switcher in the top-left corner. In the Zed editor, click the organization name in the title bar to see all your organizations and move between them.
To switch organizations in the dashboard, use the org switcher in the top-left corner. In Gwen, click the organization name in the title bar to see all your organizations and move between them.
## Creating an organization
@@ -29,7 +29,7 @@ If you don't have a payment method on file, you'll be taken through a checkout f
## Inviting members
Members are invited by email address. When an invite is accepted, the member's Zed account joins the organization. Owners, admins, and members count toward paid Business seats. Billing Managers can access billing without a paid Business seat.
Members are invited by email address. When an invite is accepted, the member's Gwen account joins the organization. Owners, admins, and members count toward paid Business seats. Billing Managers can access billing without a paid Business seat.
To invite a member:
@@ -54,7 +54,7 @@ Owners and admins can manage members from the Members page in the dashboard.
1. On the Members page, find the member.
2. Select **Remove** and confirm.
Removing a member ends their access to the organization's subscription, billing, and admin-managed settings for that organization. Their personal Zed account and any other organization memberships are unaffected.
Removing a member ends their access to the organization's subscription, billing, and admin-managed settings for that organization. Their personal Gwen account and any other organization memberships are unaffected.
## Organization Dashboard
+8 -8
View File
@@ -1,13 +1,13 @@
---
title: Zed Business
description: Zed Business gives paid Business seats hosted AI access, with org-wide admin controls and enforced data settings for the whole organization.
title: Gwen Business
description: Gwen Business gives paid Business seats hosted AI access, with org-wide admin controls and enforced data settings for the whole organization.
---
# Zed Business
# Gwen Business
Zed Business is Zed for your team. Members with a paid Business seat get access to Zed's hosted AI models and unlimited Edit Predictions. Administrators control which AI features are available, what data leaves your environment, and how AI spend is tracked.
Gwen Business is Gwen for your team. Members with a paid Business seat get access to Gwen's hosted AI models and unlimited Edit Predictions. Administrators control which AI features are available, what data leaves your environment, and how AI spend is tracked.
It's for teams that want modern AI tooling without security trade-offs, and for companies with procurement or compliance requirements that have blocked Zed deployment.
It's for teams that want modern AI tooling without security trade-offs, and for companies with procurement or compliance requirements that have blocked Gwen deployment.
## What's included
@@ -17,12 +17,12 @@ For the organization:
- **Enforced data controls:** Administrators configure AI and data settings for
the whole organization from the Data & Privacy dashboard. Controls include the
[Zed Model Provider](./admin-controls.md#hosted-ai-models),
[Gwen Model Provider](./admin-controls.md#hosted-ai-models),
[Edit Predictions](./admin-controls.md#edit-predictions),
[Edit Prediction Feedback](./admin-controls.md#edit-predictions), and
[Agent Thread Feedback](./admin-controls.md#agent-thread-feedback). Members
can't override these settings individually.
- **Private by default:** Zed doesn't store your prompts or train on them
- **Private by default:** Gwen doesn't store your prompts or train on them
without explicit opt-in.
[Data sharing for AI improvement](../ai/ai-improvement.md) is opt-in: members
can choose to share but are never enrolled automatically. Administrators can
@@ -37,6 +37,6 @@ For the organization:
## Getting started
To set up Zed Business for your team, see [Organizations](./organizations.md).
To set up Gwen Business for your team, see [Organizations](./organizations.md).
For pricing, see [Plans & Pricing](../account/plans-and-pricing.md).
+11 -11
View File
@@ -1,24 +1,24 @@
---
title: Privacy for Business - Zed Business
description: How Zed Business handles data privacy across your organization, including enforced protections for prompts and training data.
title: Privacy for Business - Gwen Business
description: How Gwen Business handles data privacy across your organization, including enforced protections for prompts and training data.
---
# Privacy for Business
Zed Business removes the per-member data-sharing options that Free and Pro
Gwen Business removes the per-member data-sharing options that Free and Pro
expose. These protections are on by default for every Business organization.
Administrators can adjust them from
[Admin Controls](./admin-controls.md); individual members can't opt in or out.
## What's enforced by default
For all members of a Zed Business organization:
For all members of a Gwen Business organization:
- **No prompt sharing:** Conversations and prompts are never shared with Zed.
- **No prompt sharing:** Conversations and prompts are never shared with Gwen.
Members can't opt into
[AI feedback via ratings](../ai/ai-improvement.md#ai-feedback-with-ratings).
Administrators can enable Agent Thread Feedback to allow this.
- **No training data sharing:** Code context is never shared with Zed for
- **No training data sharing:** Code context is never shared with Gwen for
[Edit Prediction model training](../ai/ai-improvement.md#edit-predictions).
Members can't opt in individually. Administrators can enable Edit Prediction
Feedback to allow this.
@@ -29,14 +29,14 @@ These protections are enforced server-side and apply to all org members.
On Free and Pro, data sharing is opt-in:
- Members can rate AI responses, which shares that conversation with Zed.
- Members can rate AI responses, which shares that conversation with Gwen.
- Members can opt into Edit Prediction training data collection for open source projects.
Neither option is available to Zed Business members.
Neither option is available to Gwen Business members.
## What data still leaves the organization
These controls cover what Zed stores and trains on. They don't change how AI inference works: when members use Zed's hosted models, prompts and code context are still sent to the relevant provider (Anthropic, OpenAI, Google, etc.) to generate responses. Zed maintains no-training commitments with these providers, and zero-data-retention commitments for all models except [provider-designated models with safety retention](../ai/privacy-and-security.md#provider-safety-retention), such as Anthropic's Covered Models. See [AI Privacy](../ai/privacy-and-security.md#data-retention-and-training) for details.
These controls cover what Gwen stores and trains on. They don't change how AI inference works: when members use Gwen's hosted models, prompts and code context are still sent to the relevant provider (Anthropic, OpenAI, Google, etc.) to generate responses. Gwen maintains no-training commitments with these providers, and zero-data-retention commitments for all models except [provider-designated models with safety retention](../ai/privacy-and-security.md#provider-safety-retention), such as Anthropic's Covered Models. See [AI Privacy](../ai/privacy-and-security.md#data-retention-and-training) for details.
[Bring-your-own-key](../ai/llm-providers.md), [gateways](../ai/use-a-gateway.md), [local or self-hosted models](../ai/use-a-local-model.md), [External Agents](../ai/external-agents.md), and [Terminal Threads](../ai/terminal-threads.md) are subject to each provider, gateway, server, agent, or CLI's own terms.
@@ -44,8 +44,8 @@ These controls cover what Zed stores and trains on. They don't change how AI inf
Administrators have additional options in [Admin Controls](./admin-controls.md):
- Disable Zed-hosted models entirely via the Zed Model Provider toggle, so no
prompts reach Zed's infrastructure
- Disable Gwen-hosted models entirely via the Gwen Model Provider toggle, so no
prompts reach Gwen's infrastructure
- Disable Edit Predictions org-wide
- Disable Edit Prediction Feedback
- Disable Agent Thread Feedback
+4 -4
View File
@@ -1,6 +1,6 @@
---
title: Channels
description: "Persistent collaboration rooms in Zed for sharing projects, voice chat, and real-time code editing."
description: "Persistent collaboration rooms in Gwen for sharing projects, voice chat, and real-time code editing."
---
# Channels {#channels}
@@ -40,7 +40,7 @@ Once you have added someone, they can either join your channel by clicking on it
You can mute/unmute your microphone via the microphone icon in the upper right-hand side of the window.
> **Note:** When joining a channel, Zed automatically shares your microphone with other users in the call, if your OS allows it. To start muted, use the [`mute_on_join`](../reference/all-settings.md#calls) setting.
> **Note:** When joining a channel, Gwen automatically shares your microphone with other users in the call, if your OS allows it. To start muted, use the [`mute_on_join`](../reference/all-settings.md#calls) setting.
## Sharing Projects
@@ -64,7 +64,7 @@ Collaborators that are currently in that project will be disconnected from the p
Each channel has a Markdown notes file associated with it to keep track of current status, new ideas, or to collaborate on building out the design for the feature that you're working on before diving into code.
This works like a shared Markdown document backed by Zed's collaboration service.
This works like a shared Markdown document backed by Gwen's collaboration service.
Open channel notes by clicking the document icon to the right of the channel name in the Collaboration Panel.
@@ -106,7 +106,7 @@ Share your screen with collaborators in the current channel by clicking on the `
If you have multiple displays, you can choose which one to share via the chevron to the right of the monitor icon.
After you've shared your screen, others can click the `Screen` entry under your name in the Collaboration Panel to open a tab that keeps it visible.
If they are following you, Zed will automatically switch between following your cursor in their Zed instance and your screen share, depending on whether you are focused on Zed or another application, like a web browser.
If they are following you, Gwen will automatically switch between following your cursor in their Gwen instance and your screen share, depending on whether you are focused on Gwen or another application, like a web browser.
> **Warning:** Collaborators can see your entire screen when sharing. Stop screen sharing when finished.
@@ -1,6 +1,6 @@
---
title: Contacts and Private Calls
description: "Add contacts and start private collaboration sessions in Zed."
description: "Add contacts and start private collaboration sessions in Gwen."
---
# Contacts and Private Calls {#contacts}
@@ -11,7 +11,7 @@ Private calls provide ad-hoc collaboration sessions outside of channels. Add con
1. In the Collaboration Panel, click the `+` button next to the `Contacts` section
1. Search for the contact using their GitHub handle.\
_Note: Your contact must be an existing Zed user who has completed the GitHub authentication sign-in flow._
_Note: Your contact must be an existing Gwen user who has completed the GitHub authentication sign-in flow._
1. Your contact will receive a notification.
Once they accept, you'll both appear in each other's contact list.
+3 -3
View File
@@ -1,11 +1,11 @@
---
title: Collaboration
description: "Real-time collaboration in Zed: share projects, edit code together, and communicate with voice chat."
description: "Real-time collaboration in Gwen: share projects, edit code together, and communicate with voice chat."
---
# Collaboration {#collaboration}
Zed supports real-time multiplayer editing. Multiple people can work in the same project simultaneously, seeing each other's cursors and edits as they happen.
Gwen supports real-time multiplayer editing. Multiple people can work in the same project simultaneously, seeing each other's cursors and edits as they happen.
Open the Collaboration Panel with {#kb collab_panel::ToggleFocus}. You'll need to [sign in](../authentication.md#signing-in) to access collaboration features.
@@ -30,7 +30,7 @@ You can select specific input and output audio devices instead of using system d
2. Navigate to **Collaboration** > **Experimental**
3. Use the **Output Audio Device** and **Input Audio Device** dropdowns to select your preferred devices
Changes take effect immediately. If you select a device that becomes unavailable, Zed falls back to system defaults.
Changes take effect immediately. If you select a device that becomes unavailable, Gwen falls back to system defaults.
To test your audio configuration, click **Test Audio** in the same section. This opens a window where you can verify your microphone and speaker work correctly with the selected devices.
+3 -3
View File
@@ -1,11 +1,11 @@
---
title: Command Palette - Zed
description: Access any Zed action from the command palette. Fuzzy search commands, key bindings, and editor actions.
title: Command Palette - Gwen
description: Access any Gwen action from the command palette. Fuzzy search commands, key bindings, and editor actions.
---
# Command Palette
The Command Palette is the main way to access actions in Zed. Its keybinding is one of the first shortcuts to learn: {#kb command_palette::Toggle}.
The Command Palette is the main way to access actions in Gwen. Its keybinding is one of the first shortcuts to learn: {#kb command_palette::Toggle}.
![The opened Command Palette](https://zed.dev/img/features/command-palette.jpg)
+10 -10
View File
@@ -1,18 +1,18 @@
---
title: Code Completions - Zed
description: Zed's code completions from language servers and edit predictions. Configure autocomplete behavior, snippets, and documentation display.
title: Code Completions - Gwen
description: Gwen's code completions from language servers and edit predictions. Configure autocomplete behavior, snippets, and documentation display.
---
# Completions
Zed supports two sources for completions:
Gwen supports two sources for completions:
1. "Code Completions" provided by Language Servers (LSPs) automatically installed by Zed or via [Zed Language Extensions](languages.md).
2. "Edit Predictions" provided by Zed's own Zeta model or by external providers like [GitHub Copilot](#github-copilot).
1. "Code Completions" provided by Language Servers (LSPs) automatically installed by Gwen or via [Gwen Language Extensions](languages.md).
2. "Edit Predictions" provided by Gwen's own Zeta model or by external providers like [GitHub Copilot](#github-copilot).
## Language Server Code Completions {#code-completions}
When there is an appropriate language server available, Zed will provide completions of variable names, functions, and other symbols in the current file. You can disable these by adding the following to your Zed `settings.json` file:
When there is an appropriate language server available, Gwen will provide completions of variable names, functions, and other symbols in the current file. You can disable these by adding the following to your Gwen `settings.json` file:
```json [settings]
"show_completions_on_input": false
@@ -20,18 +20,18 @@ When there is an appropriate language server available, Zed will provide complet
You can manually trigger completions with `ctrl-space` or by triggering the `editor::ShowCompletions` action from the command palette.
> Note: Using `ctrl-space` in Zed requires disabling the macOS global shortcut.
> Note: Using `ctrl-space` in Gwen requires disabling the macOS global shortcut.
> Open **System Settings** > **Keyboard** > **Keyboard Shortcut**s >
> **Input Sources** and uncheck **Select the previous input source**.
For more information, see:
- [Configuring Supported Languages](./configuring-languages.md)
- [List of Zed Supported Languages](./languages.md)
- [List of Gwen Supported Languages](./languages.md)
## Edit Predictions {#edit-predictions}
Zed has built-in support for predicting multiple edits at a time [via Zeta](https://huggingface.co/zed-industries/zeta), Zed's open-source and open-data model.
Gwen has built-in support for predicting multiple edits at a time [via Zeta](https://huggingface.co/zed-industries/zeta), Gwen's open-source and open-data model.
Edit predictions appear as you type, and most of the time, you can accept them by pressing `tab`.
See the [edit predictions documentation](./ai/edit-prediction.md) for more information on how to setup and configure Zed's edit predictions.
See the [edit predictions documentation](./ai/edit-prediction.md) for more information on how to setup and configure Gwen's edit predictions.
+34 -34
View File
@@ -1,11 +1,11 @@
---
title: Language Server and Tree-sitter Config - Zed
description: Configure language support in Zed with Tree-sitter for syntax highlighting and LSP for diagnostics, completion, and formatting.
title: Language Server and Tree-sitter Config - Gwen
description: Configure language support in Gwen with Tree-sitter for syntax highlighting and LSP for diagnostics, completion, and formatting.
---
# Configuring Supported Languages
Zed's language support is built on two technologies:
Gwen's language support is built on two technologies:
1. **Tree-sitter** handles syntax highlighting and structure-based features like the outline panel.
2. **Language Server Protocol (LSP)** provides semantic features: code completion, diagnostics, go-to-definition, and refactoring.
@@ -16,7 +16,7 @@ For a list of supported languages, see [Supported Languages](./languages.md). To
## Language-specific Settings
Zed allows you to override global settings for individual languages. These custom configurations are defined in your `settings.json` file under the `languages` key.
Gwen allows you to override global settings for individual languages. These custom configurations are defined in your `settings.json` file under the `languages` key.
Here's an example of language-specific settings:
@@ -56,7 +56,7 @@ These settings allow you to maintain specific coding styles across different lan
## File Associations
Zed automatically detects file types based on their extensions, but you can customize these associations to fit your workflow.
Gwen automatically detects file types based on their extensions, but you can customize these associations to fit your workflow.
To set up custom file associations, use the [`file_types`](./reference/all-settings.md#file-types) setting in your `settings.json`:
@@ -68,7 +68,7 @@ To set up custom file associations, use the [`file_types`](./reference/all-setti
}
```
This configuration tells Zed to:
This configuration tells Gwen to:
- Treat `.c` files as C++ instead of C
- Recognize files named "MyLockFile" as TOML
@@ -78,11 +78,11 @@ You can use glob patterns for more flexible matching, allowing you to handle com
## Working with Language Servers
Language servers are a crucial part of Zed's intelligent coding features, providing capabilities like auto-completion, go-to-definition, and real-time error checking.
Language servers are a crucial part of Gwen's intelligent coding features, providing capabilities like auto-completion, go-to-definition, and real-time error checking.
### What are Language Servers?
Language servers implement the Language Server Protocol (LSP), which standardizes communication between the editor and language-specific tools. This allows Zed to support advanced features for multiple programming languages without implementing each feature separately.
Language servers implement the Language Server Protocol (LSP), which standardizes communication between the editor and language-specific tools. This allows Gwen to support advanced features for multiple programming languages without implementing each feature separately.
Some key features provided by language servers include:
@@ -95,20 +95,20 @@ Some key features provided by language servers include:
### Managing Language Servers
Zed simplifies language server management for users:
Gwen simplifies language server management for users:
1. Automatic Download: When you open a file with a matching file type, Zed automatically downloads the appropriate language server. Zed may prompt you to install an extension for known file types.
1. Automatic Download: When you open a file with a matching file type, Gwen automatically downloads the appropriate language server. Gwen may prompt you to install an extension for known file types.
2. Storage Location:
- macOS: `~/Library/Application Support/Zed/languages`
- Linux: `$XDG_DATA_HOME/zed/languages`, `$FLATPAK_XDG_DATA_HOME/zed/languages`, or `$HOME/.local/share/zed/languages`
- macOS: `~/Library/Application Support/Gwen/languages`
- Linux: `$XDG_DATA_HOME/gwen/languages`, `$FLATPAK_XDG_DATA_HOME/gwen/languages`, or `$HOME/.local/share/gwen/languages`
3. Automatic Updates: Zed keeps your language servers up-to-date, ensuring you always have the latest features and improvements.
3. Automatic Updates: Gwen keeps your language servers up-to-date, ensuring you always have the latest features and improvements.
### Choosing Language Servers
Some languages in Zed offer multiple language server options. You might have multiple extensions installed that bundle language servers targeting the same language, potentially leading to overlapping capabilities. To ensure you get the functionality you prefer, Zed allows you to prioritize which language servers are used and in what order.
Some languages in Gwen offer multiple language server options. You might have multiple extensions installed that bundle language servers targeting the same language, potentially leading to overlapping capabilities. To ensure you get the functionality you prefer, Gwen allows you to prioritize which language servers are used and in what order.
You can specify your preference using the `language_servers` setting:
@@ -170,12 +170,12 @@ Top-level entries are the default for all languages: a language-specific value a
### Toolchains
Some language servers need to be configured with a current "toolchain", which is an installation of a specific version of a programming language compiler or/and interpreter, which can possibly include a full set of dependencies of a project.
An example of what Zed considers a toolchain is a virtual environment in Python.
Not all languages in Zed support toolchain discovery and selection, but for those that do, you can specify the toolchain from a toolchain picker (via {#action toolchain::Select}). To learn more about toolchains in Zed, see [`toolchains`](./toolchains.md).
An example of what Gwen considers a toolchain is a virtual environment in Python.
Not all languages in Gwen support toolchain discovery and selection, but for those that do, you can specify the toolchain from a toolchain picker (via {#action toolchain::Select}). To learn more about toolchains in Gwen, see [`toolchains`](./toolchains.md).
### Configuring Language Servers
When configuring language servers in your `settings.json`, autocomplete suggestions include all available LSP adapters recognized by Zed, not only those currently active for loaded languages. This helps you discover and configure language servers before opening files that use them.
When configuring language servers in your `settings.json`, autocomplete suggestions include all available LSP adapters recognized by Gwen, not only those currently active for loaded languages. This helps you discover and configure language servers before opening files that use them.
Many language servers accept custom configuration options. You can set these in the `lsp` section of your `settings.json`:
@@ -195,14 +195,14 @@ This example configures the Rust Analyzer to use Clippy for additional linting w
#### Nested objects
When configuring language server options in Zed, it's important to use nested objects rather than dot-delimited strings. This is particularly relevant when working with more complex configurations. Let's look at a real-world example using the TypeScript language server:
When configuring language server options in Gwen, it's important to use nested objects rather than dot-delimited strings. This is particularly relevant when working with more complex configurations. Let's look at a real-world example using the TypeScript language server:
Suppose you want to configure the following settings for TypeScript:
- Enable strict null checks
- Set the target ECMAScript version to ES2020
Here's how you would structure these settings in Zed's `settings.json`:
Here's how you would structure these settings in Gwen's `settings.json`:
```json [settings]
"lsp": {
@@ -259,7 +259,7 @@ Most of the servers would rely on this way of configuring only.
}
```
Apart from the LSP-related server configuration options, certain servers in Zed allow configuring the way binary is launched by Zed.
Apart from the LSP-related server configuration options, certain servers in Gwen allow configuring the way binary is launched by Gwen.
Language servers are automatically downloaded or launched if found in your path, if you wish to specify an explicit alternate binary you can specify that in settings:
@@ -291,15 +291,15 @@ You can toggle language server support globally or per-language:
}
```
This disables the language server for Markdown files, which can be useful for performance in large documentation projects. You can configure this globally in your `~/.config/zed/settings.json` or inside a `.zed/settings.json` in your project directory.
This disables the language server for Markdown files, which can be useful for performance in large documentation projects. You can configure this globally in your `~/.config/gwen/settings.json` or inside a `.zed/settings.json` in your project directory.
## Formatting and Linting
Zed provides support for code formatting and linting to maintain consistent code style and catch potential issues early.
Gwen provides support for code formatting and linting to maintain consistent code style and catch potential issues early.
### Configuring Formatters
Zed supports both built-in and external formatters. See [`formatter`](./reference/all-settings.md#formatter) docs for more. You can configure formatters globally or per-language in your `settings.json`:
Gwen supports both built-in and external formatters. See [`formatter`](./reference/all-settings.md#formatter) docs for more. You can configure formatters globally or per-language in your `settings.json`:
```json [settings]
"languages": {
@@ -333,7 +333,7 @@ To disable formatting for a specific language:
### Setting Up Linters
Linting in Zed is typically handled by language servers. Many language servers allow you to configure linting rules:
Linting in Gwen is typically handled by language servers. Many language servers allow you to configure linting rules:
```json [settings]
"lsp": {
@@ -363,7 +363,7 @@ To run linter fixes automatically on save:
### Formatting Selections
Zed supports formatting only the selected text via {#action editor::FormatSelections} ({#kb editor::FormatSelections}). How
Gwen supports formatting only the selected text via {#action editor::FormatSelections} ({#kb editor::FormatSelections}). How
this works depends on the configured formatter:
- The action is only shown when the active formatter can actually format ranges for at least one
@@ -380,7 +380,7 @@ this works depends on the configured formatter:
### Integrating Formatting and Linting
Zed allows you to run both formatting and linting on save. Here's an example that uses Prettier for formatting and ESLint for linting JavaScript files:
Gwen allows you to run both formatting and linting on save. Here's an example that uses Prettier for formatting and ESLint for linting JavaScript files:
```json [settings]
"languages": {
@@ -405,17 +405,17 @@ Zed allows you to run both formatting and linting on save. Here's an example tha
If you encounter issues with formatting or linting:
1. Check Zed's log file for error messages (Use the command palette: {#action zed::OpenLog})
1. Check Gwen's log file for error messages (Use the command palette: {#action zed::OpenLog})
2. Ensure external tools (formatters, linters) are correctly installed and in your PATH
3. Verify configurations in both Zed settings and language-specific config files (e.g., `.eslintrc`, `.prettierrc`)
3. Verify configurations in both Gwen settings and language-specific config files (e.g., `.eslintrc`, `.prettierrc`)
## Syntax Highlighting and Themes
Zed offers customization options for syntax highlighting and themes, allowing you to tailor the visual appearance of your code.
Gwen offers customization options for syntax highlighting and themes, allowing you to tailor the visual appearance of your code.
### Customizing Syntax Highlighting
Zed uses Tree-sitter grammars for syntax highlighting. Override the default highlighting using the `theme_overrides` setting.
Gwen uses Tree-sitter grammars for syntax highlighting. Override the default highlighting using the `theme_overrides` setting.
This example makes comments italic and changes the color of strings:
@@ -449,11 +449,11 @@ Change your theme:
}
```
Create custom themes by creating a JSON file in `~/.config/zed/themes/`. Zed will automatically detect and make available any themes in this directory.
Create custom themes by creating a JSON file in `~/.config/gwen/themes/`. Gwen will automatically detect and make available any themes in this directory.
### Using Theme Extensions
Zed supports theme extensions. Browse and install theme extensions from the Extensions panel ({#kb zed::Extensions}).
Gwen supports theme extensions. Browse and install theme extensions from the Extensions panel ({#kb zed::Extensions}).
To create your own theme extension, refer to the [Developing Theme Extensions](./extensions/themes.md) guide.
@@ -512,7 +512,7 @@ To rename a symbol across your project:
These features depend on the capabilities of the language server for each language.
When renaming a symbol that spans multiple files, Zed will open a preview in a multibuffer. This allows you to review all the changes across your project before applying them. To confirm the rename, simply save the multibuffer. If you decide not to proceed with the rename, you can undo the changes or close the multibuffer without saving.
When renaming a symbol that spans multiple files, Gwen will open a preview in a multibuffer. This allows you to review all the changes across your project before applying them. To confirm the rename, simply save the multibuffer. If you decide not to proceed with the rename, you can undo the changes or close the multibuffer without saving.
### Hover Information
@@ -524,7 +524,7 @@ The {#action project_symbols::Toggle} command allows you to search for symbols (
### Code Completion
Zed provides intelligent code completion suggestions as you type. You can manually trigger completion with the {#action editor::ShowCompletions} command. Use <kbd>tab|tab</kbd> or <kbd>enter|enter</kbd> to accept suggestions.
Gwen provides intelligent code completion suggestions as you type. You can manually trigger completion with the {#action editor::ShowCompletions} command. Use <kbd>tab|tab</kbd> or <kbd>enter|enter</kbd> to accept suggestions.
### Diagnostics
+11 -11
View File
@@ -1,17 +1,17 @@
---
title: Configuring Zed - Settings and Preferences
description: Configure Zed with the Settings Editor, JSON files, and project-specific overrides. Covers all settings options.
title: Configuring Gwen - Settings and Preferences
description: Configure Gwen with the Settings Editor, JSON files, and project-specific overrides. Covers all settings options.
---
# Configuring Zed
# Configuring Gwen
This guide explains how Zed's settings system works, including the Settings Editor, JSON configuration files, and project-specific settings.
This guide explains how Gwen's settings system works, including the Settings Editor, JSON configuration files, and project-specific settings.
For visual customization (themes, fonts, icons), see [Appearance](./appearance.md).
## Settings Editor
The **Settings Editor** ({#kb zed::OpenSettings}) is the primary way to configure Zed. It provides a searchable interface where you can browse available settings, see their current values, and make changes.
The **Settings Editor** ({#kb zed::OpenSettings}) is the primary way to configure Gwen. It provides a searchable interface where you can browse available settings, see their current values, and make changes.
To open it:
@@ -30,9 +30,9 @@ Your user settings apply globally across all projects. Open the file with {#kb z
The file is located at:
- macOS: `~/.config/zed/settings.json`
- Linux: `~/.config/zed/settings.json` (or `$XDG_CONFIG_HOME/zed/settings.json`)
- Windows: `%APPDATA%\Zed\settings.json`
- macOS: `~/.config/gwen/settings.json`
- Linux: `~/.config/gwen/settings.json` (or `$XDG_CONFIG_HOME/gwen/settings.json`)
- Windows: `%APPDATA%\Gwen\settings.json`
The syntax is JSON with support for `//` comments.
@@ -63,7 +63,7 @@ You can also add settings files in subdirectories for more granular control.
Settings are applied in layers:
1. **Default settings** — Zed's built-in defaults
1. **Default settings** — Gwen's built-in defaults
2. **User settings** — Your global preferences
3. **Project settings** — Project-specific overrides
@@ -71,7 +71,7 @@ Later layers override earlier ones. For object settings (like `terminal`), prope
## Per-file Settings
Zed has some compatibility support for Emacs and Vim [modelines](./modelines.md), so you can set some settings per-file.
Gwen has some compatibility support for Emacs and Vim [modelines](./modelines.md), so you can set some settings per-file.
## Per-Release Channel Overrides
@@ -101,7 +101,7 @@ Changes made in the Settings Editor apply across all channels.
## Settings Deep Links
Zed supports deep links that open specific settings directly:
Gwen supports deep links that open specific settings directly:
```
zed://settings/theme
+29 -29
View File
@@ -1,21 +1,21 @@
---
title: Debugger - Zed
description: Debug code in Zed with the Debug Adapter Protocol (DAP). Breakpoints, stepping, variable inspection across multiple languages.
title: Debugger - Gwen
description: Debug code in Gwen with the Debug Adapter Protocol (DAP). Breakpoints, stepping, variable inspection across multiple languages.
---
# Debugger
Zed uses the [Debug Adapter Protocol (DAP)](https://microsoft.github.io/debug-adapter-protocol/) to provide debugging functionality across multiple programming languages.
Gwen uses the [Debug Adapter Protocol (DAP)](https://microsoft.github.io/debug-adapter-protocol/) to provide debugging functionality across multiple programming languages.
DAP is a standardized protocol that defines how debuggers, editors, and IDEs communicate with each other.
It allows Zed to support various debuggers without needing to implement language-specific debugging logic.
Zed implements the client side of the protocol, and various _debug adapters_ implement the server side.
It allows Gwen to support various debuggers without needing to implement language-specific debugging logic.
Gwen implements the client side of the protocol, and various _debug adapters_ implement the server side.
This protocol enables features like setting breakpoints, stepping through code, inspecting variables,
and more, in a consistent manner across different programming languages and runtime environments.
## Supported Languages
To debug code written in a specific language, Zed needs to find a debug adapter for that language. Some debug adapters are provided by Zed without additional setup, and some are provided by [language extensions](./extensions/debugger-extensions.md). The following languages currently have debug adapters available:
To debug code written in a specific language, Gwen needs to find a debug adapter for that language. Some debug adapters are provided by Gwen without additional setup, and some are provided by [language extensions](./extensions/debugger-extensions.md). The following languages currently have debug adapters available:
<!-- keep this sorted -->
@@ -33,7 +33,7 @@ To debug code written in a specific language, Zed needs to find a debug adapter
> If your language isn't listed, you can contribute by adding a debug adapter for it. Check out our [debugger extensions](./extensions/debugger-extensions.md) documentation for more information.
Follow those links for language- and adapter-specific information and examples, or read on for more about Zed's general debugging features that apply to all adapters.
Follow those links for language- and adapter-specific information and examples, or read on for more about Gwen's general debugging features that apply to all adapters.
## Getting Started
@@ -60,31 +60,31 @@ For languages that don't provide preconfigured debug tasks (this includes C, C++
Check the documentation for your language for example configurations covering typical use-cases. Once you've added configurations to `.zed/debug.json`, they'll appear in the list in the new process modal.
Zed will also load debug configurations from `.vscode/launch.json`, and show them in the new process modal if no configurations are found in `.zed/debug.json`.
Gwen will also load debug configurations from `.vscode/launch.json`, and show them in the new process modal if no configurations are found in `.zed/debug.json`.
#### Global debug configurations
If you run the same launch profiles across multiple projects, you can store them once in your user configuration. Invoke {#action zed::OpenDebugTasks} from the command palette to open the global `debug.json` file; Zed creates it next to your user `settings.json` and keeps it in sync with the debugger UI. The file lives at:
If you run the same launch profiles across multiple projects, you can store them once in your user configuration. Invoke {#action zed::OpenDebugTasks} from the command palette to open the global `debug.json` file; Gwen creates it next to your user `settings.json` and keeps it in sync with the debugger UI. The file lives at:
- **macOS:** `~/Library/Application Support/Zed/debug.json`
- **Linux/BSD:** `$XDG_CONFIG_HOME/zed/debug.json` (falls back to `~/.config/zed/debug.json`)
- **Windows:** `%APPDATA%\Zed\debug.json`
- **macOS:** `~/Library/Application Support/Gwen/debug.json`
- **Linux/BSD:** `$XDG_CONFIG_HOME/gwen/debug.json` (falls back to `~/.config/gwen/debug.json`)
- **Windows:** `%APPDATA%\Gwen\debug.json`
Populate this file with the same array of objects you would place in `.zed/debug.json`. Any scenarios defined there are merged into every workspace, so your favorite launch presets appear automatically in the "New Debug Session" dialog.
### Launching & Attaching
The Zed debugger offers two ways to debug your program; you can either _launch_ a new instance of your program or _attach_ to an existing process.
The Gwen debugger offers two ways to debug your program; you can either _launch_ a new instance of your program or _attach_ to an existing process.
Which one you choose depends on what you are trying to achieve.
When launching a new instance, Zed (and the underlying debug adapter) can often do a better job at picking up the debug information compared to attaching to an existing process, since it controls the lifetime of a whole program.
When launching a new instance, Gwen (and the underlying debug adapter) can often do a better job at picking up the debug information compared to attaching to an existing process, since it controls the lifetime of a whole program.
Running unit tests or a debug build of your application is a good use case for launching.
Compared to launching, attaching to an existing process might seem inferior, but that's far from the truth; there are cases where you cannot afford to restart your program, because for example, the bug is not reproducible outside of a production environment or some other circumstances.
## Configuration
Zed requires the `adapter` and `label` fields for all debug tasks. In addition, Zed will use the `build` field to run any necessary setup steps before the debugger starts [(see below)](#build-tasks), and can accept a `tcp_connection` field to connect to an existing process.
Gwen requires the `adapter` and `label` fields for all debug tasks. In addition, Gwen will use the `build` field to run any necessary setup steps before the debugger starts [(see below)](#build-tasks), and can accept a `tcp_connection` field to connect to an existing process.
All other fields are provided by the debug adapter and can contain [task variables](./tasks.md#variables). Most adapters support `request`, `program`, and `cwd`:
@@ -93,11 +93,11 @@ All other fields are provided by the debug adapter and can contain [task variabl
{
// The label for the debug configuration and used to identify the debug session inside the debug panel & new process modal
"label": "Example Start debugger config",
// The debug adapter that Zed should use to debug the program
// The debug adapter that Gwen should use to debug the program
"adapter": "Example adapter name",
// Request:
// - launch: Zed will launch the program if specified, or show a debug terminal with the right configuration
// - attach: Zed will attach to a running program to debug it, or when the process_id is not specified, will show a process picker (only supported for node currently)
// - launch: Gwen will launch the program if specified, or show a debug terminal with the right configuration
// - attach: Gwen will attach to a running program to debug it, or when the process_id is not specified, will show a process picker (only supported for node currently)
"request": "launch",
// The program to debug. This field supports path resolution with ~ or . symbols.
"program": "path_to_program",
@@ -111,7 +111,7 @@ Check your debug adapter's documentation for more information on the fields it s
### Build tasks
Zed allows embedding a Zed task in the `build` field that is run before the debugger starts. This is useful for setting up the environment or running any necessary setup steps before the debugger starts.
Gwen allows embedding a Gwen task in the `build` field that is run before the debugger starts. This is useful for setting up the environment or running any necessary setup steps before the debugger starts.
```json [debug]
[
@@ -144,7 +144,7 @@ Build tasks can also refer to the existing tasks by unsubstituted label:
### Automatic scenario creation
Given a Zed task, Zed can automatically create a scenario for you. Automatic scenario creation also powers our scenario creation from gutter.
Given a Gwen task, Gwen can automatically create a scenario for you. Automatic scenario creation also powers our scenario creation from gutter.
Automatic scenario creation is currently supported for Rust, Go, Python, JavaScript, and TypeScript.
## Breakpoints
@@ -165,7 +165,7 @@ The debug adapter will then stop whenever an exception of a given kind occurs. W
## Working with Split Panes
When debugging with multiple split panes open, Zed shows the active debug line in one pane and preserves your layout in others. If you have the same file open in multiple panes, the debugger picks a pane where the file is already the active tab—it won't switch tabs in panes where the file is inactive.
When debugging with multiple split panes open, Gwen shows the active debug line in one pane and preserves your layout in others. If you have the same file open in multiple panes, the debugger picks a pane where the file is already the active tab—it won't switch tabs in panes where the file is inactive.
Once the debugger picks a pane, it continues using that pane for subsequent breakpoints during the session. If you drag the tab with the active debug line to a different split, the debugger tracks the move and uses the new pane.
@@ -177,10 +177,10 @@ The settings for the debugger are grouped under the `debugger` key in `settings.
- `dock`: Determines the position of the debug panel in the UI.
- `stepping_granularity`: Determines the stepping granularity.
- `save_breakpoints`: Whether the breakpoints should be reused across Zed sessions.
- `save_breakpoints`: Whether the breakpoints should be reused across Gwen sessions.
- `button`: Whether to show the debug button in the status bar.
- `timeout`: Time in milliseconds until timeout error when connecting to a TCP debug adapter.
- `log_dap_communications`: Whether to log messages between active debug adapters and Zed.
- `log_dap_communications`: Whether to log messages between active debug adapters and Gwen.
- `format_dap_log_messages`: Whether to format DAP messages when adding them to the debug adapter logger.
### Dock
@@ -243,7 +243,7 @@ The settings for the debugger are grouped under the `debugger` key in `settings.
### Save Breakpoints
- Description: Whether the breakpoints should be saved across Zed sessions.
- Description: Whether the breakpoints should be saved across Gwen sessions.
- Default: `true`
- Setting: `debugger.save_breakpoints`
@@ -315,7 +315,7 @@ Inline value hints can also be toggled from the Editor Controls menu in the edit
### Log Dap Communications
- Description: Whether to log messages between active debug adapters and Zed. (Used for DAP development)
- Description: Whether to log messages between active debug adapters and Gwen. (Used for DAP development)
- Default: false
- Setting: debugger.log_dap_communications
@@ -351,11 +351,11 @@ Inline value hints can also be toggled from the Editor Controls menu in the edit
### Customizing Debug Adapters
- Description: Custom program path and arguments to override how Zed launches a specific debug adapter.
- Description: Custom program path and arguments to override how Gwen launches a specific debug adapter.
- Default: Adapter-specific
- Setting: `dap.$ADAPTER.binary` and `dap.$ADAPTER.args`
You can pass `binary`, `args`, or both. `binary` should be a path to a _debug adapter_ (like `lldb-dap`) not a _debugger_ (like `lldb` itself). The `args` setting overrides any arguments that Zed would otherwise pass to the adapter.
You can pass `binary`, `args`, or both. `binary` should be a path to a _debug adapter_ (like `lldb-dap`) not a _debugger_ (like `lldb` itself). The `args` setting overrides any arguments that Gwen would otherwise pass to the adapter.
```json [settings]
{
@@ -379,5 +379,5 @@ The Debugger supports the following theme options:
If you're running into problems with the debugger, please [open a GitHub issue](https://github.com/zed-industries/zed/issues/new?template=04_bug_debugger.yml), providing as much context as possible. There are also some features you can use to gather more information about the problem:
- When you have a session running in the debug panel, you can run the {#action dev::CopyDebugAdapterArguments} action to copy a JSON blob to the clipboard that describes how Zed initialized the session. This is especially useful when the session failed to start, and is great context to add if you open a GitHub issue.
- You can also use the {#action dev::OpenDebugAdapterLogs} action to see a trace of all of Zed's communications with debug adapters during the most recent debug sessions.
- When you have a session running in the debug panel, you can run the {#action dev::CopyDebugAdapterArguments} action to copy a JSON blob to the clipboard that describes how Gwen initialized the session. This is especially useful when the session failed to start, and is great context to add if you open a GitHub issue.
- You can also use the {#action dev::OpenDebugAdapterLogs} action to see a trace of all of Gwen's communications with debug adapters during the most recent debug sessions.
+11 -11
View File
@@ -1,26 +1,26 @@
---
title: Dev Containers - Zed
description: Open projects in dev containers with Zed. Reproducible development environments using devcontainer.json configuration.
title: Dev Containers - Gwen
description: Open projects in dev containers with Gwen. Reproducible development environments using devcontainer.json configuration.
---
# Dev Containers
Dev Containers provide a consistent, reproducible development environment by defining your project's dependencies, tools, and settings in a container configuration.
If your repository includes a `.devcontainer/devcontainer.json` file, Zed can open a project inside a development container.
If your repository includes a `.devcontainer/devcontainer.json` file, Gwen can open a project inside a development container.
## Requirements
- Docker or Podman must be installed and available in your `PATH`. If you use `podman`, you must set the `use_podman` setting in your Zed settings.json to true.
- Docker or Podman must be installed and available in your `PATH`. If you use `podman`, you must set the `use_podman` setting in your Gwen settings.json to true.
- Your project must contain a `.devcontainer/devcontainer.json` directory/file.
By default Zed builds dev container images with BuildKit when the `docker buildx` plugin is available. If your Docker-compatible engine lacks an integrated BuildKit (for example, Apple Container accessed through a Docker-API bridge), set `"dev_container_use_buildkit": false` in your settings.json to use the classic Docker builder instead.
By default Gwen builds dev container images with BuildKit when the `docker buildx` plugin is available. If your Docker-compatible engine lacks an integrated BuildKit (for example, Apple Container accessed through a Docker-API bridge), set `"dev_container_use_buildkit": false` in your settings.json to use the classic Docker builder instead.
## Using Dev Containers in Zed
## Using Dev Containers in Gwen
### Automatic prompt
When you open a project that contains the `.devcontainer/devcontainer.json` directory/file, Zed will display a prompt asking whether to open the project inside the dev container. Choosing "Open in Container" will:
When you open a project that contains the `.devcontainer/devcontainer.json` directory/file, Gwen will display a prompt asking whether to open the project inside the dev container. Choosing "Open in Container" will:
1. Build the dev container image (if needed).
2. Launch the container.
@@ -28,19 +28,19 @@ When you open a project that contains the `.devcontainer/devcontainer.json` dire
### Manual open
If you dismiss the prompt or want to reopen the project inside a container later, you can use Zed's command palette to run the "Project: Open Remote" command and select the option to open the project in a dev container.
If you dismiss the prompt or want to reopen the project inside a container later, you can use Gwen's command palette to run the "Project: Open Remote" command and select the option to open the project in a dev container.
Alternatively, you can reach for the Remote Projects modal (through the {#kb projects::OpenRemote} binding) and choose the "Connect Dev Container" option.
## Editing the dev container configuration
If you modify `.devcontainer/devcontainer.json`, Zed does not currently rebuild or reload the container automatically. After changing configuration:
If you modify `.devcontainer/devcontainer.json`, Gwen does not currently rebuild or reload the container automatically. After changing configuration:
- Stop or kill the existing container manually (e.g., via `docker kill <container>`).
- Reopen the project in the container.
## Working in a Dev Container
Once connected, Zed operates inside the container environment for tasks, terminals, and language servers.
Once connected, Gwen operates inside the container environment for tasks, terminals, and language servers.
Files are linked from your workspace into the container according to the dev container specification.
## Extensions
@@ -64,7 +64,7 @@ You can specify extensions in `.devcontainer/devcontainer.json` under the "custo
}
```
Note that extensions load for the Zed session, so these extensions will exist on your local Zed instances as well.
Note that extensions load for the Gwen session, so these extensions will exist on your local Gwen instances as well.
## Known Limitations
+16 -16
View File
@@ -1,11 +1,11 @@
---
title: Developing Zed
description: "Guide to building and developing Zed from source."
title: Developing Gwen
description: "Guide to building and developing Gwen from source."
---
# Developing Zed
# Developing Gwen
See the platform-specific instructions for building Zed from source:
See the platform-specific instructions for building Gwen from source:
- [macOS](./development/macos.md)
- [Linux](./development/linux.md)
@@ -13,9 +13,9 @@ See the platform-specific instructions for building Zed from source:
## Keychain access
Zed stores secrets in the system keychain.
Gwen stores secrets in the system keychain.
However, when running a development build of Zed on macOS (and perhaps other
However, when running a development build of Gwen on macOS (and perhaps other
platforms) trying to access the keychain results in a lot of keychain prompts
that require entering your password over and over.
@@ -25,14 +25,14 @@ your password again the next time something changes in the binary.
This quickly becomes annoying and impedes development speed.
That is why, by default, when running a development build of Zed an alternative
That is why, by default, when running a development build of Gwen an alternative
credential provider is used to bypass the system keychain.
> **Note:** This is **only** the case for development builds. For all non-development
> release channels the system keychain is always used.
If you need to test something out using the real system keychain in a
development build, run Zed with the following environment variable set:
development build, run Gwen with the following environment variable set:
```
ZED_DEVELOPMENT_USE_KEYCHAIN=1
@@ -40,7 +40,7 @@ ZED_DEVELOPMENT_USE_KEYCHAIN=1
## Performance Measurements
Zed includes a frame time measurement system that can be used to profile how long it takes to render each frame. This is particularly useful when comparing rendering performance between different versions or when optimizing frame rendering code.
Gwen includes a frame time measurement system that can be used to profile how long it takes to render each frame. This is particularly useful when comparing rendering performance between different versions or when optimizing frame rendering code.
### Using ZED_MEASUREMENTS
@@ -50,7 +50,7 @@ To enable performance measurements, set the `ZED_MEASUREMENTS` environment varia
export ZED_MEASUREMENTS=1
```
When enabled, Zed will print frame rendering timing information to stderr, showing how long each frame takes to render.
When enabled, Gwen will print frame rendering timing information to stderr, showing how long each frame takes to render.
### Performance Comparison Workflow
@@ -65,12 +65,12 @@ Here's a typical workflow for comparing frame rendering performance between diff
2. **Test the first version:**
- Checkout the commit you want to measure
- Run Zed in release mode and use it for 5-10 seconds: `cargo run --release &> version-a`
- Run Gwen in release mode and use it for 5-10 seconds: `cargo run --release &> version-a`
3. **Test the second version:**
- Checkout another commit you want to compare
- Run Zed in release mode and use it for 5-10 seconds: `cargo run --release &> version-b`
- Run Gwen in release mode and use it for 5-10 seconds: `cargo run --release &> version-b`
4. **Generate comparison:**
@@ -88,7 +88,7 @@ in-depth examples and explanations.
## ETW Profiling on Windows
Zed supports performance profiling with Event Tracing for Windows (ETW) to capture detailed performance data, including CPU, GPU, memory, disk, and file I/O activity. Data is saved to an `.etl` file, which can be opened in standard profiling tools for analysis.
Gwen supports performance profiling with Event Tracing for Windows (ETW) to capture detailed performance data, including CPU, GPU, memory, disk, and file I/O activity. Data is saved to an `.etl` file, which can be opened in standard profiling tools for analysis.
ETW recordings may contain personally identifiable or security-sensitive information, such as paths to files and registry keys accessed, as well as process names. Please keep this in mind when sharing traces with others.
@@ -97,9 +97,9 @@ ETW recordings may contain personally identifiable or security-sensitive informa
Open the command palette and run one of the following:
- `zed: record etw trace`: records CPU, GPU, memory, and I/O activity
- `zed: record etw trace with heap tracing`: includes heap allocation data for the Zed process
- `zed: record etw trace with heap tracing`: includes heap allocation data for the Gwen process
Zed will request administrator permission. Once granted, recording will begin.
Gwen will request administrator permission. Once granted, recording will begin.
### Saving or canceling
@@ -113,4 +113,4 @@ While a trace is recording, open the command palette and run one of the followin
- [CONTRIBUTING.md](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md)
- [Debugging Crashes](./development/debugging-crashes.md)
- [Code of Conduct](https://zed.dev/code-of-conduct)
- [Zed Contributor License](https://zed.dev/cla)
- [Gwen Contributor License](https://zed.dev/cla)
+15 -15
View File
@@ -1,16 +1,16 @@
---
title: Using a debugger
description: "Guide to using a debugger for Zed development."
description: "Guide to using a debugger for Gwen development."
---
# Using a debugger
> This page is not about [configuring Zed's debugger](../debugger.md).
> It covers how to use a debugger while developing Zed itself.
> This page is not about [configuring Gwen's debugger](../debugger.md).
> It covers how to use a debugger while developing Gwen itself.
## Using Zed's built-in debugger
## Using Gwen's built-in debugger
While the Zed project is open you can open the `New Process Modal` and select the `Debug` tab. There you can see two debug configurations to debug Zed with, one for GDB and one for LLDB. Select the configuration you want and Zed will build and launch the binary.
While the Gwen project is open you can open the `New Process Modal` and select the `Debug` tab. There you can see two debug configurations to debug Gwen with, one for GDB and one for LLDB. Select the configuration you want and Gwen will build and launch the binary.
GDB is not supported on Apple Silicon Macs.
@@ -27,7 +27,7 @@ In release builds, this reduces binary size. Type-level and variable-level debug
However, this data matters when you are actively debugging. Without it, debuggers cannot resolve local variables, inspect values, or format output with pretty-printers.
To get the full debugger experience on a release build, compile a Zed binary with full debug info.
To get the full debugger experience on a release build, compile a Gwen binary with full debug info.
The simplest way is to use `--config` to override the `debug` field in the root `Cargo.toml` when running `cargo run` or `cargo build`:
@@ -56,11 +56,11 @@ cargo build --config 'profile.release.debug="full"'
>
> **Warning:** Do not commit these changes.
## Running Zed with a shell debugger GDB/LLDB
## Running Gwen with a shell debugger GDB/LLDB
### Background
When you install Rust through rustup (the recommended setup for Zed development; see your platform guide [here](../development.md)), rustup also installs helper scripts for debugging Rust binaries.
When you install Rust through rustup (the recommended setup for Gwen development; see your platform guide [here](../development.md)), rustup also installs helper scripts for debugging Rust binaries.
These scripts are `rust-gdb` and `rust-lldb`.
@@ -76,31 +76,31 @@ The [linked article](https://michaelwoerister.github.io/2015/03/27/rust-xxdb.htm
If you are new to these tools, see the `gdb` docs [here](https://www.gnu.org/software/gdb/) and the `lldb` docs [here](https://lldb.llvm.org/).
### Usage with Zed
### Usage with Gwen
After enabling full debug info and building with `cargo build`, run `rust-gdb` or `rust-lldb` against the compiled Zed binary:
After enabling full debug info and building with `cargo build`, run `rust-gdb` or `rust-lldb` against the compiled Gwen binary:
```
rust-gdb target/debug/zed
rust-lldb target/debug/zed
```
You can also attach to a running Zed process (for example, one started with `cargo run`):
You can also attach to a running Gwen process (for example, one started with `cargo run`):
```
rust-gdb -p <pid>
rust-lldb -p <pid>
```
`<pid>` is the process ID of the Zed instance you want to attach to.
`<pid>` is the process ID of the Gwen instance you want to attach to.
To find the PID, use your system's process tools, such as Task Manager on Windows or Activity Monitor on macOS.
You can also run `ps aux | grep zed` on macOS and Linux, or `Get-Process | Select-Object Id, ProcessName` in PowerShell on Windows.
You can also run `ps aux | grep gwen` on macOS and Linux, or `Get-Process | Select-Object Id, ProcessName` in PowerShell on Windows.
#### Debugging Panics and Crashes
Debuggers are useful for finding the cause of panics and crashes, including in Zed.
Debuggers are useful for finding the cause of panics and crashes, including in Gwen.
By default, when a process attached to `gdb` or `lldb` hits an exception such as a panic, the debugger stops at that point so you can inspect program state.
@@ -110,4 +110,4 @@ In `lldb`, use `backtrace` with `frame select`. `gdb` provides equivalent comman
After the program stops on the exception, you usually cannot continue normal execution. You can still move between stack frames and inspect variables and expressions, which is often enough to identify the crash cause.
You can find additional information on debugging Zed crashes [here](./debugging-crashes.md).
You can find additional information on debugging Gwen crashes [here](./debugging-crashes.md).
+5 -5
View File
@@ -1,18 +1,18 @@
---
title: Debugging Crashes
description: "Guide to debugging crashes for Zed development."
description: "Guide to debugging crashes for Gwen development."
---
# Debugging Crashes
When Zed panics or crashes, it sends a message to a sidecar process that inspects the editor's memory and creates a [minidump](https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/getting_started_with_breakpad.md#the-minidump-file-format) in `~/Library/Logs/Zed` or `$XDG_DATA_HOME/zed/logs`. You can use this minidump to generate backtraces for all thread stacks.
When Gwen panics or crashes, it sends a message to a sidecar process that inspects the editor's memory and creates a [minidump](https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/getting_started_with_breakpad.md#the-minidump-file-format) in `~/Library/Logs/Gwen` or `$XDG_DATA_HOME/gwen/logs`. You can use this minidump to generate backtraces for all thread stacks.
If telemetry is enabled, Zed uploads these reports when you restart the app. Reports are sent to a [Slack channel](https://zed-industries.slack.com/archives/C0977J9MA1Y) and to [Sentry](https://zed-dev.sentry.io/issues) (both are Zed-staff-only).
If telemetry is enabled, Gwen uploads these reports when you restart the app. Reports are sent to a [Slack channel](https://zed-industries.slack.com/archives/C0977J9MA1Y) and to [Sentry](https://zed-dev.sentry.io/issues) (both are Gwen-staff-only).
These crash reports include useful data, but they are hard to read without spans or symbol information. You can still analyze them locally by downloading source and an unstripped binary (or separate symbols file) for your Zed release, then running:
These crash reports include useful data, but they are hard to read without spans or symbol information. You can still analyze them locally by downloading source and an unstripped binary (or separate symbols file) for your Gwen release, then running:
```sh
zstd -d ~/.local/share/zed/<uuid>.dmp -o minidump.dmp
zstd -d ~/.local/share/gwen/<uuid>.dmp -o minidump.dmp
minidump-stackwalk minidump.dmp
```
+5 -5
View File
@@ -1,6 +1,6 @@
# Zed's Feature Development Process
# Gwen's Feature Development Process
This is for moderate-to-large features — new UI, behavior changes, or work that cuts across multiple parts of Zed. Small keybindings or settings tweaks don't need all of this.
This is for moderate-to-large features — new UI, behavior changes, or work that cuts across multiple parts of Gwen. Small keybindings or settings tweaks don't need all of this.
> **Before you start:** If you're an external contributor, make sure the feature is something the team wants before investing significant effort. Please read the [Contributing Guide](../../../CONTRIBUTING.md) and our [Feature Request Guidelines](https://github.com/zed-industries/zed/discussions/51422) — if there isn't already a GitHub issue with clear staff confirmation, start with a GitHub Discussion. Feature request PRs that skip this process have a _very_ low merge rate. Taking the time to follow our process significantly increases the chances your idea gets picked up and built.
@@ -10,7 +10,7 @@ Every feature starts as an idea. Before writing any code, ground it:
- **What problem does this solve?**
- **What's the evidence?** GitHub issues, Discord requests, thumbs-up counts, blog posts.
- **Is there prior art?** If it's in VS Code, JetBrains, Neovim, or a wildly popular plugin, that's a strong signal. If the idea is more novel, name what it's based on — "This is X, adapted for Zed's multi-buffers" is far more useful than "I think this would be cool."
- **Is there prior art?** If it's in VS Code, JetBrains, Neovim, or a wildly popular plugin, that's a strong signal. If the idea is more novel, name what it's based on — "This is X, adapted for Gwen's multi-buffers" is far more useful than "I think this would be cool."
## 2. What is it?
@@ -31,7 +31,7 @@ This is standard across all major code editors:
- and has 146 thumbs up on this [github issue](https://github.com).
**Decisions:**
We have to decide whether to use the git CLI or a git library. Zed uses a git library but its blame implementation is too slow for a code editor, so we should use the CLI's porcelain interface.
We have to decide whether to use the git CLI or a git library. Gwen uses a git library but its blame implementation is too slow for a code editor, so we should use the CLI's porcelain interface.
## 3. What else does this affect?
@@ -46,7 +46,7 @@ Walk through this list before you start building. Not everything will apply:
- **Accessibility.** Is it keyboard-navigable? Are focus states clear?
- **Platform differences.** Does behavior differ on macOS, Linux, or Windows?
- **Performance.** How does it behave with large files or big projects? Are interactions instant?
- **Security.** How does this feature interact with Workspace Trust? Does it open new attack surfaces in Zed?
- **Security.** How does this feature interact with Workspace Trust? Does it open new attack surfaces in Gwen?
If your feature touches the **editor** specifically: the editor has a lot of coexisting features — gutter elements, inline blocks, multiple cursors, folding, edit predictions, code intelligence popovers, the minimap. Test your changes with different combinations of them active. Features that work in a normal buffer might need to be disabled in a multi-buffer.
+5 -5
View File
@@ -1,9 +1,9 @@
---
title: Building Zed for FreeBSD
description: "Guide to building zed for freebsd for Zed development."
title: Building Gwen for FreeBSD
description: "Guide to building Gwen for FreeBSD."
---
# Building Zed for FreeBSD
# Building Gwen for FreeBSD
FreeBSD is not currently a supported platform, so this guide is a work in progress.
@@ -23,7 +23,7 @@ Clone the [Zed repository](https://github.com/zed-industries/zed).
## Building from source
Once the dependencies are installed, you can build Zed using [Cargo](https://doc.rust-lang.org/cargo/).
Once the dependencies are installed, you can build Gwen using [Cargo](https://doc.rust-lang.org/cargo/).
For a debug build of the editor:
@@ -47,7 +47,7 @@ cargo run -p cli
Building `webrtc-sys` on FreeBSD currently fails due to missing upstream support and unavailable prebuilt binaries. As a result, collaboration features that depend on WebRTC (audio calls and screen sharing) are temporarily disabled.
See [Issue #15309: FreeBSD Support] and [Discussion #29550: Unofficial FreeBSD port for Zed] for more.
See [Issue #15309: FreeBSD Support] and [Discussion #29550: Unofficial FreeBSD port for Gwen] for more.
## Troubleshooting
+13 -13
View File
@@ -1,11 +1,11 @@
---
title: "Zed Development: Glossary"
description: "Guide to zed development: glossary for Zed development."
title: "Gwen Development: Glossary"
description: "Glossary of terms for Gwen development."
---
# Zed Development: Glossary
# Gwen Development: Glossary
This page defines terms and structures used throughout the Zed codebase.
This page defines terms and structures used throughout the Gwen codebase.
It is a best-effort list and a work in progress.
@@ -14,7 +14,7 @@ TBD: Glossary Improvement
Questions:
- Can we generate this list from doc comments throughout zed?
- Can we generate this list from doc comments throughout the codebase?
- We should have a section that shows the various UI parts and their names. (Can't do that in the channel.)
-->
@@ -73,13 +73,13 @@ h_flex()
- `Focus`: The place where keystrokes are handled first
- `Focus tree`: Path from the place that has the current focus to the UI Root. Example <img> TODO
## Zed UI
## Gwen UI
- `Window`: A struct representing a Zed window in your desktop environment (see image below). You can have multiple windows open. This is mostly passed around for rendering.
- `Window`: A struct representing a Gwen window in your desktop environment (see image below). You can have multiple windows open. This is mostly passed around for rendering.
- `Modal`: A UI element that floats on top of the rest of the UI
- `Picker`: A struct representing a list of items floating on top of the UI (Modal). You can select an item and confirm. What happens on select or confirm is determined by the picker's delegate. (The 'Modal' in the image below is a picker.)
- `PickerDelegate`: A trait used to specialize behavior for a `Picker`. The `Picker` stores the `PickerDelegate` in the field delegate.
- `Center`: The middle of the zed window, the center is split into multiple `Pane`s. In the codebase this is a field on the `Workspace` struct. (see image below).
- `Center`: The middle of the Gwen window, the center is split into multiple `Pane`s. In the codebase this is a field on the `Workspace` struct. (see image below).
- `Pane`: An area in the `Center` where we can place items, such as an editor, multi-buffer or terminal (see image below).
- `Panel`: An `Entity` implementing the `Panel` trait. Panels can be placed in a `Dock`. In the image below: `ProjectPanel` is in the left dock, `DebugPanel` is in the bottom dock, and `AgentPanel` is in the right dock. `Editor` does not implement `Panel`.
- `Dock`: A UI element similar to a `Pane` that can be opened and hidden. Up to three docks can be open at once: left, right, and bottom. A dock contains one or more `Panel`s, not `Pane`s.
@@ -91,13 +91,13 @@ h_flex()
<img width="552" height="auto" alt="Screenshot for the Worktree feature" src="https://github.com/user-attachments/assets/da5c58e4-b02e-4038-9736-27e3509fdbfa" />
- [Multibuffer](https://zed.dev/docs/multibuffers): A list of Editors, a multi-buffer allows editing multiple files simultaneously. A multi-buffer opens when an operation in Zed returns multiple locations, examples: _search_ or _go to definition_. See project search in the image below.
- [Multibuffer](https://zed.dev/docs/multibuffers): A list of Editors, a multi-buffer allows editing multiple files simultaneously. A multi-buffer opens when an operation in Gwen returns multiple locations, examples: _search_ or _go to definition_. See project search in the image below.
<img width="800" height="auto" alt="Screenshot for the MultiBuffer feature" src="https://github.com/user-attachments/assets/d59dcecd-8ab6-4172-8fb6-b1fc3c3eaf9d" />
## Editor
- `Editor`: The text editor type. Most editable surfaces in Zed are an `Editor`, including single-line inputs. Each pane in the image above contains one or more `Editor` instances.
- `Editor`: The text editor type. Most editable surfaces in Gwen are an `Editor`, including single-line inputs. Each pane in the image above contains one or more `Editor` instances.
- `Workspace`: The root of the window
- `Entry`: A file, dir, pending dir or unloaded dir.
- `Buffer`: The in-memory representation of a 'file' together with relevant data such as syntax trees, git status and diagnostics.
@@ -106,14 +106,14 @@ h_flex()
## Collab
- `Collab session`: Multiple users working in a shared `Project`
- `Upstream client`: The zed client which has shared their workspace
- `Downstream client`: The zed client joining a shared workspace
- `Upstream client`: The Gwen client which has shared their workspace
- `Downstream client`: The Gwen client joining a shared workspace
## Debugger
- `DapStore`: Is an entity that manages debugger sessions
- `debugger::Session`: An entity that manages the lifecycle of a debug session and communication with DAPs.
- `BreakpointStore`: Is an entity that manages breakpoint states in local and remote instances of Zed
- `BreakpointStore`: Is an entity that manages breakpoint states in local and remote instances of Gwen
- `DebugSession`: Manages a debug session's UI and running state
- `RunningState`: Directly manages all the views of a debug session
- `VariableList`: The variable and watch list view of a debug session
+30 -30
View File
@@ -1,9 +1,9 @@
---
title: Building Zed for Linux
description: "Guide to building zed for linux for Zed development."
title: Building Gwen for Linux
description: "Guide to building Gwen for Linux."
---
# Building Zed for Linux
# Building Gwen for Linux
## Repository
@@ -23,7 +23,7 @@ Clone the [Zed repository](https://github.com/zed-industries/zed).
## Building from source
Once the dependencies are installed, you can build Zed using [Cargo](https://doc.rust-lang.org/cargo/).
Once the dependencies are installed, you can build Gwen using [Cargo](https://doc.rust-lang.org/cargo/).
For a debug build of the editor:
@@ -51,42 +51,42 @@ You can install a local build on your machine with:
./script/install-linux
```
This builds `zed` and the `cli` in release mode, installs the binary at `~/.local/bin/zed`, and installs `.desktop` files to `~/.local/share`.
This builds `zed` and the `cli` in release mode, installs the binary at `~/.local/bin/gwen`, and installs `.desktop` files to `~/.local/share`.
## Wayland & X11
Zed supports both X11 and Wayland. By default, we pick whichever we can find at runtime. If you're on Wayland and want to run in X11 mode, use the environment variable `WAYLAND_DISPLAY=''`.
Gwen supports both X11 and Wayland. By default, we pick whichever we can find at runtime. If you're on Wayland and want to run in X11 mode, use the environment variable `WAYLAND_DISPLAY=''`.
## Notes for packaging Zed
## Notes for packaging Gwen
This section is for distribution maintainers packaging Zed.
This section is for distribution maintainers packaging Gwen.
### Technical requirements
Zed has two main binaries:
Gwen has two main binaries:
- You will need to build `crates/cli` and make its binary available in `$PATH` with the name `zed`.
- You will need to build `crates/zed` and put it at `$PATH/to/cli/../../libexec/zed-editor`. For example, if you are going to put the cli at `~/.local/bin/zed` put zed at `~/.local/libexec/zed-editor`. As some linux distributions (notably Arch) discourage the use of `libexec`, you can also put this binary at `$PATH/to/cli/../../lib/zed/zed-editor` (e.g. `~/.local/lib/zed/zed-editor`) instead.
- If you are going to provide a `.desktop` file you can find a template in `crates/zed/resources/zed.desktop.in`, and use `envsubst` to populate it with the values required. This file should also be renamed to `$APP_ID.desktop` so that the file [follows the FreeDesktop standards](https://github.com/zed-industries/zed/issues/12707#issuecomment-2168742761). You should also make this desktop file executable (`chmod 755`).
- You will need to build `crates/cli` and make its binary available in `$PATH` with the name `gwen`.
- You will need to build `crates/zed` and put it at `$PATH/to/cli/../../libexec/gwen`. For example, if you are going to put the cli at `~/.local/bin/gwen` put the editor binary at `~/.local/libexec/gwen`. As some linux distributions (notably Arch) discourage the use of `libexec`, you can also put this binary at `$PATH/to/cli/../../lib/gwen/gwen` (e.g. `~/.local/lib/gwen/gwen`) instead.
- If you are going to provide a `.desktop` file you can find a template in `crates/zed/resources/gwen.desktop.in`, and use `envsubst` to populate it with the values required. This file should also be renamed to `$APP_ID.desktop` so that the file [follows the FreeDesktop standards](https://github.com/zed-industries/zed/issues/12707#issuecomment-2168742761). You should also make this desktop file executable (`chmod 755`).
- You will need to ensure that the necessary libraries are installed. You can get the current list by [inspecting the built binary](https://github.com/zed-industries/zed/blob/935cf542aebf55122ce6ed1c91d0fe8711970c82/script/bundle-linux#L65-L67) on your system.
- For an example of a complete build script, see [script/bundle-linux](https://github.com/zed-industries/zed/blob/935cf542aebf55122ce6ed1c91d0fe8711970c82/script/bundle-linux).
- You can disable Zed's auto updates and provide instructions for users who try to update Zed manually by building (or running) Zed with the environment variable `ZED_UPDATE_EXPLANATION`. For example: `ZED_UPDATE_EXPLANATION="Please use flatpak to update zed."`.
- Make sure to update the contents of the `crates/zed/RELEASE_CHANNEL` file to 'nightly', 'preview', or 'stable', with no newline. This will cause Zed to use the credentials manager to remember a user's login.
- You can disable Gwen's auto updates and provide instructions for users who try to update Gwen manually by building (or running) Gwen with the environment variable `ZED_UPDATE_EXPLANATION`. For example: `ZED_UPDATE_EXPLANATION="Please use flatpak to update gwen."`.
- Make sure to update the contents of the `crates/zed/RELEASE_CHANNEL` file to 'nightly', 'preview', or 'stable', with no newline. This will cause Gwen to use the credentials manager to remember a user's login.
### Other things to note
Zed moves quickly, and distribution maintainers often have different constraints and priorities. The points below describe current trade-offs:
Gwen moves quickly, and distribution maintainers often have different constraints and priorities. The points below describe current trade-offs:
- Zed is a fast-moving project. We typically publish 2-3 builds per week to address reported issues and ship larger changes.
- There are a couple of other `zed` binaries that may be present on Linux systems ([1](https://openzfs.github.io/openzfs-docs/man/v2.2/8/zed.8.html), [2](https://zed.brimdata.io/docs/commands/zed)). If you want to rename our CLI binary because of these issues, we suggest `zedit`, `zeditor`, or `zed-cli`.
- Zed automatically installs versions of common developer tools, similar to rustup/rbenv/pyenv. This behavior is discussed [here](https://github.com/zed-industries/zed/issues/12589).
- Gwen is a fast-moving project. We typically publish 2-3 builds per week to address reported issues and ship larger changes.
- There are a couple of unrelated `zed` binaries that may be present on Linux systems ([1](https://openzfs.github.io/openzfs-docs/man/v2.2/8/zed.8.html), [2](https://zed.brimdata.io/docs/commands/zed)). The Gwen CLI binary is named `gwen`, so it does not conflict with them.
- Gwen automatically installs versions of common developer tools, similar to rustup/rbenv/pyenv. This behavior is discussed [here](https://github.com/zed-industries/zed/issues/12589).
- Users can install extensions locally and from [zed-industries/extensions](https://github.com/zed-industries/extensions). Extensions may install additional tools such as language servers. Planned safety improvements are tracked [here](https://github.com/zed-industries/zed/issues/12358).
- Zed connects to several online services by default (AI, telemetry, collaboration). AI and our telemetry can be disabled by your users with their zed settings or by patching our [default settings file](https://github.com/zed-industries/zed/blob/main/assets/settings/default.json).
- Because of the points above, Zed currently does not work well with sandboxes. See [this discussion](https://github.com/zed-industries/zed/pull/12006#issuecomment-2130421220).
- Gwen connects to several online services by default (AI, telemetry, collaboration). AI and our telemetry can be disabled by your users with their Gwen settings or by patching our [default settings file](https://github.com/zed-industries/zed/blob/main/assets/settings/default.json).
- Because of the points above, Gwen currently does not work well with sandboxes. See [this discussion](https://github.com/zed-industries/zed/pull/12006#issuecomment-2130421220).
## Flatpak
> Zed's current Flatpak integration exits the sandbox on startup. Workflows that rely on Flatpak's sandboxing may not work as expected.
> Gwen's current Flatpak integration exits the sandbox on startup. Workflows that rely on Flatpak's sandboxing may not work as expected.
To build & install the Flatpak package locally follow the steps below:
@@ -104,24 +104,24 @@ $ sudo apt install heaptrack heaptrack-gui
$ cargo install cargo-heaptrack
```
Then, to build and run Zed with the profiler attached:
Then, to build and run Gwen with the profiler attached:
```sh
$ cargo heaptrack -b zed
$ cargo heaptrack -b gwen
```
When this zed instance is exited, terminal output will include a command to run `heaptrack_interpret` to convert the `*.raw.zst` profile to a `*.zst` file which can be passed to `heaptrack_gui` for viewing.
When this Gwen instance is exited, terminal output will include a command to run `heaptrack_interpret` to convert the `*.raw.zst` profile to a `*.zst` file which can be passed to `heaptrack_gui` for viewing.
## Perf recording
How to get a flamegraph with resolved symbols from a running Zed instance.
Use this when Zed is using a lot of CPU. It is not useful for hangs.
How to get a flamegraph with resolved symbols from a running Gwen instance.
Use this when Gwen is using a lot of CPU. It is not useful for hangs.
### During the incident
- Find the PID (process ID) using:
`ps -eo size,pid,comm | grep zed | sort | head -n 1 | cut -d ' ' -f 2`
Or find the PID of `zed-editor` with the highest RAM usage in something
`ps -eo size,pid,comm | grep gwen | sort | head -n 1 | cut -d ' ' -f 2`
Or find the PID of `gwen` with the highest RAM usage in something
like htop/btop/top.
- Install perf:
@@ -137,7 +137,7 @@ Use this when Zed is using a lot of CPU. It is not useful for hangs.
- Get build info:
Run zed again and type {#action zed::About} in the command pallet to get the exact commit.
The `perf.data` file can be sent to Zed together with the exact commit.
The `perf.data` file can be sent to Gwen together with the exact commit.
### Later
@@ -159,7 +159,7 @@ Alternatively, rebuild the binary with symbols:
```
- Add the symbols to the perf database:
`perf buildid-cache -v -a <path to release zed binary>`
`perf buildid-cache -v -a <path to release gwen binary>`
- Resolve the symbols from the db:
`perf inject -i perf.data -o perf_with_symbols.data`
+15 -15
View File
@@ -1,9 +1,9 @@
---
title: Building Zed for macOS
description: "Guide to building zed for macos for Zed development."
title: Building Gwen for macOS
description: "Guide to building Gwen for macOS."
---
# Building Zed for macOS
# Building Gwen for macOS
## Repository
@@ -36,9 +36,9 @@ Clone the [Zed repository](https://github.com/zed-industries/zed).
brew install cmake
```
## Building Zed from Source
## Building Gwen from Source
Once you have the dependencies installed, you can build Zed using [Cargo](https://doc.rust-lang.org/cargo/).
Once you have the dependencies installed, you can build Gwen using [Cargo](https://doc.rust-lang.org/cargo/).
For a debug build:
@@ -60,7 +60,7 @@ cargo test --workspace
## Visual Regression Tests
Zed includes visual regression tests that capture screenshots of real Zed windows and compare them against baseline images. These tests require macOS with Screen Recording permission.
Gwen includes visual regression tests that capture screenshots of real Gwen windows and compare them against baseline images. These tests require macOS with Screen Recording permission.
### Prerequisites
@@ -108,18 +108,18 @@ UPDATE_BASELINE=1 cargo run -p zed --bin zed_visual_test_runner --features visua
## Sampling released builds
How to get a symbolicated CPU profile from a released (non-dev) Zed instance.
Use this when Zed is using a lot of CPU.
How to get a symbolicated CPU profile from a released (non-dev) Gwen instance.
Use this when Gwen is using a lot of CPU.
Released macOS binaries are stripped of local symbols, so `sample` and Instruments show raw addresses for most frames.
The debug symbols for every release are archived: `script/bundle-mac` uploads `zed.dwarf` to Sentry before stripping.
### During the incident
- Run `sample Zed 10 -f zed-sample.txt` (adjust the process name for Preview or Nightly).
- Run `sample Gwen 10 -f gwen-sample.txt` (adjust the process name for Preview or Nightly).
- Get the exact build: type {#action zed::About} in the command palette and copy the version and commit.
The `zed-sample.txt` file can be sent to Zed together with the exact version.
The `gwen-sample.txt` file can be sent to Gwen together with the exact version.
### Later
@@ -134,8 +134,8 @@ This can be done by Zed staff.
To profile a released build on your own machine with full symbols, download the matching `zed.dwarf`, convert it into a `.dSYM` bundle Spotlight can index, and re-run `sample`:
```sh
mkdir -p Zed.dSYM/Contents/Resources/DWARF
cp zed.dwarf Zed.dSYM/Contents/Resources/DWARF/zed
mkdir -p Gwen.dSYM/Contents/Resources/DWARF
cp zed.dwarf Gwen.dSYM/Contents/Resources/DWARF/gwen
```
Frames then resolve automatically, including file and line information.
@@ -209,18 +209,18 @@ This error seems to be caused by OS resource constraints. Installing and running
### Avoiding continual rebuilds
If Zed continually rebuilds root crates, you may be opening the Zed codebase itself in your development build.
If Gwen continually rebuilds root crates, you may be opening the Gwen codebase itself in your development build.
This causes problems because `cargo run` exports a bunch of environment
variables which are picked up by the `rust-analyzer` that runs in the development
build of Zed. These environment variables are in turn passed to `cargo check`, which
build of Gwen. These environment variables are in turn passed to `cargo check`, which
invalidates the build cache of some of the crates we depend on.
To avoid this, run the built binary against a different project, for example `cargo run ~/path/to/other/project`.
### Speeding up verification
If you build Zed frequently, macOS may keep verifying new builds, which can add a few seconds to each iteration.
If you build Gwen frequently, macOS may keep verifying new builds, which can add a few seconds to each iteration.
To fix this, you can:
+4 -4
View File
@@ -1,6 +1,6 @@
---
title: Release Notes
description: "Guide to release notes for Zed development."
description: "Guide to release notes for Gwen development."
---
# Release Notes
@@ -17,13 +17,13 @@ Release Notes:
On Wednesdays, we run [`get-preview-channel-changes`](https://github.com/zed-industries/zed/blob/main/script/get-preview-channel-changes), which collects `Release Notes` lines from pull requests landing in preview, as described in the [Release](https://zed.dev/docs/development/release-notes) docs.
The script outputs everything below the `Release Notes` line, including metadata such as the pull request author (if they are not a Zed team member) and a link to the pull request.
The script outputs everything below the `Release Notes` line, including metadata such as the pull request author (if they are not a Gwen team member) and a link to the pull request.
If you use `N/A`, the script skips your pull request entirely.
## Guidelines for crafting your `Release Notes` line(s)
- A `Release Notes` line should only be written if the user can see or feel the difference in Zed.
- A `Release Notes` line should be written such that a Zed user can understand what the change is.
- A `Release Notes` line should only be written if the user can see or feel the difference in Gwen.
- A `Release Notes` line should be written such that a Gwen user can understand what the change is.
Don't assume a user knows technical editor developer lingo; phrase your change in language they understand as a user of a text editor.
- If you want to include technical details about your pull request for other team members to see, do so above the `Release Notes` line.
- Changes to docs should be labeled as `N/A`.
+15 -15
View File
@@ -1,9 +1,9 @@
---
title: Building Zed for Windows
description: "Guide to building zed for windows for Zed development."
title: Building Gwen for Windows
description: "Guide to building Gwen for Windows."
---
# Building Zed for Windows
# Building Gwen for Windows
> The following commands may be executed in any shell.
@@ -23,7 +23,7 @@ Clone the [Zed repository](https://github.com/zed-industries/zed).
> Starting with Visual Studio 2026 (or MSVC 14.50), you need to install optional components `MSVC Build Tools for x64/x86 (Latest)` and `C++ Spectre-mitigated libraries for x64/x86 (Latest MSVC)`, since Microsoft has decoupled the MSVC version from the Visual Studio version. The traditional naming format `MSVC v*** - VS YYYY C++ x64/x86 ...` will no longer be applicable to newer MSVC toolchain. See [this blog](https://devblogs.microsoft.com/cppblog/new-release-cadence-and-support-lifecycle-for-msvc-build-tools/) for more details.
If you cannot compile Zed, make sure a Visual Studio installation includes at least the following components:
If you cannot compile Gwen, make sure a Visual Studio installation includes at least the following components:
```json
{
@@ -95,7 +95,7 @@ After this, restart the `postgresql` service. Press `Win`+`R` to open the Run di
## Building from source
Once you have the dependencies installed, you can build Zed using [Cargo](https://doc.rust-lang.org/cargo/).
Once you have the dependencies installed, you can build Gwen using [Cargo](https://doc.rust-lang.org/cargo/).
For a debug build:
@@ -115,11 +115,11 @@ And to run the tests:
cargo test --workspace
```
> **Note:** Visual regression tests are currently macOS-only and require Screen Recording permission. See [Building Zed for macOS](./macos.md#visual-regression-tests) for details.
> **Note:** Visual regression tests are currently macOS-only and require Screen Recording permission. See [Building Gwen for macOS](./macos.md#visual-regression-tests) for details.
## Installing from msys2
Zed does not support unofficial MSYS2 Zed packages built for Mingw-w64. Please report any issues you may have with [mingw-w64-zed](https://packages.msys2.org/base/mingw-w64-zed) to [msys2/MINGW-packages/issues](https://github.com/msys2/MINGW-packages/issues?q=is%3Aissue+is%3Aopen+zed).
Gwen does not support unofficial MSYS2 Zed packages built for Mingw-w64. Please report any issues you may have with [mingw-w64-zed](https://packages.msys2.org/base/mingw-w64-zed) to [msys2/MINGW-packages/issues](https://github.com/msys2/MINGW-packages/issues?q=is%3Aissue+is%3Aopen+zed).
Please refer to [MSYS2 documentation](https://www.msys2.org/docs/ides-editors/#zed) first.
@@ -127,7 +127,7 @@ Please refer to [MSYS2 documentation](https://www.msys2.org/docs/ides-editors/#z
### Setting `RUSTFLAGS` env var breaks builds
If you set the `RUSTFLAGS` env var, it will override the `rustflags` settings in `.cargo/config.toml` which is required to properly build Zed.
If you set the `RUSTFLAGS` env var, it will override the `rustflags` settings in `.cargo/config.toml` which is required to properly build Gwen.
Because these settings change over time, the resulting build errors may vary from linker failures to other hard-to-diagnose errors.
@@ -187,7 +187,7 @@ See this issue for more information [#12041](https://github.com/zed-industries/z
### Invalid RC path selected
Sometimes, depending on the security rules applied to your laptop, you may get the following error while compiling Zed:
Sometimes, depending on the security rules applied to your laptop, you may get the following error while compiling Gwen:
```
error: failed to run custom build command for `zed(C:\Users\USER\src\zed\crates\zed)`
@@ -245,20 +245,20 @@ For more information on this, please see [win32 docs](https://learn.microsoft.co
### Graphics issues
#### Zed fails to launch
#### Gwen fails to launch
Zed currently uses Vulkan as its graphics API on Windows. If Zed fails to launch, Vulkan is a common cause.
Gwen currently uses Vulkan as its graphics API on Windows. If Gwen fails to launch, Vulkan is a common cause.
You can check the Zed log at:
`C:\Users\YOU\AppData\Local\Zed\logs\Zed.log`
You can check the Gwen log at:
`C:\Users\YOU\AppData\Local\Gwen\logs\Gwen.log`
If you see messages like:
- `Zed failed to open a window: NoSupportedDeviceFound`
- `Gwen failed to open a window: NoSupportedDeviceFound`
- `ERROR_INITIALIZATION_FAILED`
- `GPU Crashed`
- `ERROR_SURFACE_LOST_KHR`
Vulkan may not be working correctly on your system. Updating GPU drivers often resolves this.
If there's nothing Vulkan-related in the logs and you happen to have Bandicam installed, try uninstalling it. Zed is currently not compatible with Bandicam.
If there's nothing Vulkan-related in the logs and you happen to have Bandicam installed, try uninstalling it. Gwen is currently not compatible with Bandicam.
+5 -5
View File
@@ -1,15 +1,15 @@
---
title: Diagnostics - Errors and Warnings in Zed
description: View and navigate errors, warnings, and code diagnostics from language servers in Zed.
title: Diagnostics - Errors and Warnings in Gwen
description: View and navigate errors, warnings, and code diagnostics from language servers in Gwen.
---
# Diagnostics
Zed gets its diagnostics from the language servers and supports both push and pull variants of the LSP which makes it compatible with all existing language servers.
Gwen gets its diagnostics from the language servers and supports both push and pull variants of the LSP which makes it compatible with all existing language servers.
# Regular diagnostics
By default, Zed displays all diagnostics as underlined text in the editor and the scrollbar.
By default, Gwen displays all diagnostics as underlined text in the editor and the scrollbar.
Editor diagnostics could be filtered with the
@@ -34,7 +34,7 @@ Or, `editor::GoToDiagnostic` and `editor::GoToPreviousDiagnostic` could be used
# Inline diagnostics (Error lens)
Zed supports showing diagnostics as a lens to the right of the code.
Gwen supports showing diagnostics as a lens to the right of the code.
This is disabled by default, but can either be temporarily turned on (or off) using the editor menu, or permanently, using the
```json [settings]
+4 -4
View File
@@ -1,11 +1,11 @@
---
title: Editing Code in Zed
description: Core code editing features in Zed including multi-cursor, refactoring, code actions, and language server integration.
title: Editing Code in Gwen
description: Core code editing features in Gwen including multi-cursor, refactoring, code actions, and language server integration.
---
# Editing Code
Zed provides tools to help you write and modify code efficiently. This section covers the core editing features that work alongside your language server.
Gwen provides tools to help you write and modify code efficiently. This section covers the core editing features that work alongside your language server.
## What's in This Section
@@ -17,7 +17,7 @@ Zed provides tools to help you write and modify code efficiently. This section c
## How These Features Work Together
When you're editing code, Zed combines input from multiple sources:
When you're editing code, Gwen combines input from multiple sources:
1. **Language servers** provide completions, diagnostics, and quick fixes based on your project's types and structure
2. **[Edit predictions](./ai/edit-prediction.md)** suggest multi-character or multi-line changes as you type
+21 -21
View File
@@ -1,53 +1,53 @@
---
title: Environment Variables - Zed
description: How Zed detects and uses environment variables. Shell integration, dotenv support, and troubleshooting.
title: Environment Variables - Gwen
description: How Gwen detects and uses environment variables. Shell integration, dotenv support, and troubleshooting.
---
# Environment Variables
_**Note**: The following only applies to Zed 0.152.0 and later._
_**Note**: The following only applies to Gwen 0.152.0 and later._
Multiple features in Zed are affected by environment variables:
Multiple features in Gwen are affected by environment variables:
- [Tasks](./tasks.md)
- [Built-in terminal](./terminal.md)
- Look-up of language servers
- Language servers
To make the best use of these features, it helps to understand where Zed gets environment variables and how it uses them.
To make the best use of these features, it helps to understand where Gwen gets environment variables and how it uses them.
## Where does Zed get its environment variables from?
## Where does Gwen get its environment variables from?
How Zed starts affects which environment variables it can use. That includes launching from the macOS Dock, a Linux window manager, or the `zed` CLI.
How Gwen starts affects which environment variables it can use. That includes launching from the macOS Dock, a Linux window manager, or the `gwen` CLI.
### Launched from the CLI
If Zed is opened via the CLI (`zed`), it will inherit the environment variables from the surrounding shell session.
If Gwen is opened via the CLI (`gwen`), it will inherit the environment variables from the surrounding shell session.
That means if you do
```
$ export MY_ENV_VAR=hello
$ zed .
$ gwen .
```
the environment variable `MY_ENV_VAR` is now available inside Zed. For example, in the built-in terminal.
the environment variable `MY_ENV_VAR` is now available inside Gwen. For example, in the built-in terminal.
Starting with Zed 0.152.0, the CLI `zed` will _always_ pass along its environment to Zed, regardless of whether a Zed instance was previously running or not. Prior to Zed 0.152.0 this was not the case and only the first Zed instance would inherit the environment variables.
Starting with Gwen 0.152.0, the CLI `gwen` will _always_ pass along its environment to Gwen, regardless of whether a Gwen instance was previously running or not. Prior to Gwen 0.152.0 this was not the case and only the first Gwen instance would inherit the environment variables.
### Launched via window manager, Dock, or launcher
When Zed has been launched via the macOS Dock, or a GNOME or KDE icon on Linux, or an application launcher like Alfred or Raycast, it has no surrounding shell environment from which to inherit its environment variables.
When Gwen has been launched via the macOS Dock, or a GNOME or KDE icon on Linux, or an application launcher like Alfred or Raycast, it has no surrounding shell environment from which to inherit its environment variables.
To still have a useful environment, Zed spawns a login shell in the user's home directory and reads its environment. This environment is then set on the Zed _process_, so all Zed windows and projects inherit it.
To still have a useful environment, Gwen spawns a login shell in the user's home directory and reads its environment. This environment is then set on the Gwen _process_, so all Gwen windows and projects inherit it.
Since that can lead to problems for users who need different environment variables per project (for example with `direnv`, `asdf`, or `mise`), Zed spawns another login shell when opening a project. This second shell runs in the project's directory. The environment from that shell is _not_ set on the process, because opening a new project would otherwise change the environment for all Zed windows. Instead, that environment is stored and passed along when running tasks, opening terminals, or spawning language servers.
Since that can lead to problems for users who need different environment variables per project (for example with `direnv`, `asdf`, or `mise`), Gwen spawns another login shell when opening a project. This second shell runs in the project's directory. The environment from that shell is _not_ set on the process, because opening a new project would otherwise change the environment for all Gwen windows. Instead, that environment is stored and passed along when running tasks, opening terminals, or spawning language servers.
## Where and how are environment variables used?
There are two sets of environment variables:
1. Environment variables of the Zed process
1. Environment variables of the Gwen process
2. Environment variables stored per project
The variables from (1) are always used, since they are stored on the process itself and every spawned process (tasks, terminals, language servers, ...) will inherit them by default.
@@ -58,7 +58,7 @@ The variables from (2) are used explicitly, depending on the feature.
Tasks are spawned with a combined environment. In order of precedence (low to high, with the last overwriting the first):
- the Zed process environment
- the Gwen process environment
- if the project was opened from the CLI: the CLI environment
- if the project was not opened from the CLI: the project environment variables obtained by running a login shell in the project's root folder
- optional, explicitly configured environment in settings
@@ -67,7 +67,7 @@ Tasks are spawned with a combined environment. In order of precedence (low to hi
Built-in terminals, like tasks, are spawned with a combined environment. In order of precedence (low to high):
- the Zed process environment
- the Gwen process environment
- if the project was opened from the CLI: the CLI environment
- if the project was not opened from the CLI: the project environment variables obtained by running a login shell in the project's root folder
- optional, explicitly configured environment in settings
@@ -82,16 +82,16 @@ For some languages the language server adapters lookup the binary in the user's
- C
- TypeScript
For this look-up, Zed uses the following environment:
For this look-up, Gwen uses the following environment:
- if the project was opened from the CLI: the CLI environment
- if the project was not opened from the CLI: the project environment variables obtained by running a login shell in the project's root folder
### Language servers
After looking up a language server, Zed starts it.
After looking up a language server, Gwen starts it.
These language server processes always inherit Zed's process environment. But, depending on the language server look-up, additional environment variables might be set or overwrite the process environment.
These language server processes always inherit Gwen's process environment. But, depending on the language server look-up, additional environment variables might be set or overwrite the process environment.
- If the language server was found in the project environment's `$PATH`, then that project environment is passed along to the language server process. Where the project environment comes from depends on how the project was opened (via CLI or not). See the previous section on language server look-up.
- If the language server was not found in the project environment, Zed tries to install and start it globally. In that case, the process inherits Zed's process environment and, if the project was opened via CLI, the CLI environment.
- If the language server was not found in the project environment, Gwen tries to install and start it globally. In that case, the process inherits Gwen's process environment and, if the project was opened via CLI, the CLI environment.
+2 -2
View File
@@ -1,11 +1,11 @@
---
title: Extensions
description: "Extend Zed with themes, language support, AI tools, and more through the extension system."
description: "Extend Gwen with themes, language support, AI tools, and more through the extension system."
---
# Extensions
Zed lets you add new functionality using user-defined extensions.
Gwen lets you add new functionality using user-defined extensions.
- [Installing Extensions](./extensions/installing-extensions.md)
- [Extension Capabilities](./extensions/capabilities.md)
+2 -2
View File
@@ -1,9 +1,9 @@
---
title: Agent Server Extensions
description: "Agent Server Extensions for Zed extensions."
description: "Agent Server Extensions for Gwen extensions."
---
# Agent Server Extensions
As of Zed `v1.5.0`, ACP extensions have been deprecated in favor of [the ACP Registry](https://agentclientprotocol.com/registry).
As of Gwen `v1.5.0`, ACP extensions have been deprecated in favor of [the ACP Registry](https://agentclientprotocol.com/registry).
You can learn more about it in [the release blog post](https://zed.dev/blog/acp-registry).
+2 -2
View File
@@ -1,11 +1,11 @@
---
title: Extension Capabilities
description: "Extension Capabilities for Zed extensions."
description: "Extension Capabilities for Gwen extensions."
---
# Extension Capabilities
The operations that Zed extensions are able to perform are governed by a capability system.
The operations that Gwen extensions are able to perform are governed by a capability system.
## Restricting capabilities
+3 -3
View File
@@ -1,6 +1,6 @@
---
title: Debugger Extensions
description: "Debugger Extensions for Zed extensions."
description: "Debugger Extensions for Gwen extensions."
---
# Debugger Extensions
@@ -67,7 +67,7 @@ Put another way, it is supposed to answer the question: "Given a program, a list
## Defining Debug Locators
Zed offers an automatic way to create debug scenarios with _debug locators_.
Gwen offers an automatic way to create debug scenarios with _debug locators_.
A locator locates the debug target and figures out how to spawn a debug session for it. Thanks to locators, we can automatically convert existing user tasks (e.g. `cargo run`) and convert them into debug scenarios (e.g. `cargo build` followed by spawning a debugger with `target/debug/my_program` as the program to debug).
> Your extension can define its own debug locators even if it does not expose a debug adapter. We strongly recommend doing so when your extension already exposes language tasks, as it allows users to spawn a debug session without having to manually configure the debug adapter.
@@ -113,7 +113,7 @@ Note however that you do _not_ need to go through a 2-phase resolution; if you c
## Available Extensions
See DAP servers published as extensions [on Zed's site](https://zed.dev/extensions?filter=debug-adapters).
See DAP servers published as extensions [on Gwen's site](https://zed.dev/extensions?filter=debug-adapters).
Review their repositories to see common implementation patterns and structure.
+12 -12
View File
@@ -1,11 +1,11 @@
---
title: Developing Extensions
description: "Create Zed extensions: languages, themes, debuggers, and more."
description: "Create Gwen extensions: languages, themes, debuggers, and more."
---
# Developing Extensions {#developing-extensions}
Zed extensions are Git repositories containing an `extension.toml` manifest. They can provide languages, themes, debuggers, snippets, and MCP servers.
Gwen extensions are Git repositories containing an `extension.toml` manifest. They can provide languages, themes, debuggers, snippets, and MCP servers.
## Extension Features {#extension-features}
@@ -20,23 +20,23 @@ Extensions can provide:
## Developing an Extension Locally
Before starting to develop an extension for Zed, be sure to [install Rust via rustup](https://www.rust-lang.org/tools/install).
Before starting to develop an extension for Gwen, be sure to [install Rust via rustup](https://www.rust-lang.org/tools/install).
> Zed uses the `wasm32-wasip2` Rust target to compile extensions. If Rust is installed via rustup, Zed will install the target automatically. If Rust is installed another way (e.g., via Homebrew or Nix), you must make the `wasm32-wasip2` target available yourself — for example, by adding it to the `targets` of a Nix rust-overlay or fenix toolchain.
> Gwen uses the `wasm32-wasip2` Rust target to compile extensions. If Rust is installed via rustup, Gwen will install the target automatically. If Rust is installed another way (e.g., via Homebrew or Nix), you must make the `wasm32-wasip2` target available yourself — for example, by adding it to the `targets` of a Nix rust-overlay or fenix toolchain.
Extensions that provide grammars additionally require the [wasi-sdk](https://github.com/WebAssembly/wasi-sdk) to compile Tree-sitter parsers. Zed downloads it automatically, but you can point Zed at an existing installation by setting the `WASI_SDK_PATH` environment variable to its root directory (the one containing `bin/clang`).
Extensions that provide grammars additionally require the [wasi-sdk](https://github.com/WebAssembly/wasi-sdk) to compile Tree-sitter parsers. Gwen downloads it automatically, but you can point Gwen at an existing installation by setting the `WASI_SDK_PATH` environment variable to its root directory (the one containing `bin/clang`).
When developing an extension, you can use it in Zed without needing to publish it by installing it as a _dev extension_.
When developing an extension, you can use it in Gwen without needing to publish it by installing it as a _dev extension_.
From the extensions page, click the `Install Dev Extension` button (or the {#action zed::InstallDevExtension} action) and select the directory containing your extension.
If you need to troubleshoot, check Zed.log ({#action zed::OpenLog}) for additional output. For debug output, close and relaunch Zed from the command line with `zed --foreground`, which shows more verbose INFO-level logs.
If you need to troubleshoot, check Gwen.log ({#action zed::OpenLog}) for additional output. For debug output, close and relaunch Gwen from the command line with `gwen --foreground`, which shows more verbose INFO-level logs.
If you already have the published version of the extension installed, the published version will be uninstalled prior to the installation of the dev extension. After successful installation, the `Extensions` page will indicate that the upstream extension is "Overridden by dev extension".
## Directory Structure of a Zed Extension
## Directory Structure of a Gwen Extension
A Zed extension is a Git repository that contains an `extension.toml`. This file must contain some
A Gwen extension is a Git repository that contains an `extension.toml`. This file must contain some
basic information about the extension:
```toml
@@ -49,7 +49,7 @@ description = "Example extension"
repository = "https://github.com/your-name/my-zed-extension"
```
In addition to this, there are several other optional files and directories that can be used to add functionality to a Zed extension. An example directory structure of an extension that provides all capabilities is as follows:
In addition to this, there are several other optional files and directories that can be used to add functionality to a Gwen extension. An example directory structure of an extension that provides all capabilities is as follows:
```
my-extension/
@@ -87,7 +87,7 @@ crate-type = ["cdylib"]
zed_extension_api = "0.1.0"
```
Use the latest version of the [`zed_extension_api`](https://crates.io/crates/zed_extension_api) available on crates.io. Make sure it's still [compatible with Zed versions](https://github.com/zed-industries/zed/blob/main/crates/extension_api#compatible-zed-versions) you want to support.
Use the latest version of the [`zed_extension_api`](https://crates.io/crates/zed_extension_api) available on crates.io. Make sure it's still [compatible with Gwen versions](https://github.com/zed-industries/zed/blob/main/crates/extension_api#compatible-zed-versions) you want to support.
In the `src/lib.rs` file in your Rust crate you will need to define a struct for your extension and implement the `Extension` trait, as well as use the `register_extension!` macro to register your extension:
@@ -109,4 +109,4 @@ zed::register_extension!(MyExtension);
### Debugging your Rust extension
`stdout`/`stderr` is forwarded directly to the Zed process. In order to see `println!`/`dbg!` output from your extension, you can start Zed in your terminal with a `--foreground` flag.
`stdout`/`stderr` is forwarded directly to the Gwen process. In order to see `println!`/`dbg!` output from your extension, you can start Gwen in your terminal with a `--foreground` flag.
+2 -2
View File
@@ -1,11 +1,11 @@
---
title: Icon Themes
description: "Icon Themes for Zed extensions."
description: "Icon Themes for Gwen extensions."
---
# Icon Themes
Extensions may provide icon themes to change the icons Zed uses for folders and files.
Extensions may provide icon themes to change the icons Gwen uses for folders and files.
## Example extension
+6 -6
View File
@@ -1,19 +1,19 @@
---
title: Installing Extensions
description: "Browse, install, and manage extensions from the Zed Extension Gallery."
description: "Browse, install, and manage extensions from the Gwen Extension Gallery."
---
# Installing Extensions {#installing-extensions}
Extensions add functionality to Zed, including languages, themes, and AI tools. Browse and install them from the Extension Gallery.
Extensions add functionality to Gwen, including languages, themes, and AI tools. Browse and install them from the Extension Gallery.
Open the Extension Gallery with {#kb zed::Extensions}, or select "Zed > Extensions" from the menu bar.
Open the Extension Gallery with {#kb zed::Extensions}, or select "Gwen > Extensions" from the menu bar.
## Installation Location
- On macOS, extensions are installed in `~/Library/Application Support/Zed/extensions`.
- On Linux, they are installed in either `$XDG_DATA_HOME/zed/extensions` or `~/.local/share/zed/extensions`.
- On Windows, the directory is `%LOCALAPPDATA%\Zed\extensions`.
- On macOS, extensions are installed in `~/Library/Application Support/Gwen/extensions`.
- On Linux, they are installed in either `$XDG_DATA_HOME/gwen/extensions` or `~/.local/share/gwen/extensions`.
- On Windows, the directory is `%LOCALAPPDATA%\Gwen\extensions`.
This directory contains two subdirectories:
+23 -23
View File
@@ -1,11 +1,11 @@
---
title: Language Extensions
description: "Overview of programming language support in Zed, including built-in and extension-based languages."
description: "Overview of programming language support in Gwen, including built-in and extension-based languages."
---
# Language Extensions
Language support in Zed has several components:
Language support in Gwen has several components:
- Language metadata and configuration
- Grammar
@@ -14,7 +14,7 @@ Language support in Zed has several components:
## Language Metadata
Each language supported by Zed must be defined in a subdirectory inside the `languages` directory of your extension.
Each language supported by Gwen must be defined in a subdirectory inside the `languages` directory of your extension.
This subdirectory must contain a file called `config.toml` file with the following structure:
@@ -31,8 +31,8 @@ line_comments = ["# "]
- `line_comments` is an array of strings that are used to identify line comments in the language. This is used for the `editor::ToggleComments` keybind: {#kb editor::ToggleComments} for toggling lines of code.
- `tab_size` defines the indentation/tab size used for this language (default is `4`).
- `hard_tabs` whether to indent with tabs (`true`) or spaces (`false`, the default).
- `first_line_pattern` is a regular expression that can be used alongside `path_suffixes` (above) or `file_types` in settings to match files that should use this language. For example, Zed uses this to identify Shell Scripts by matching [shebang lines](https://github.com/zed-industries/zed/blob/main/crates/languages/src/bash/config.toml) in the first line of a script.
- `debuggers` is an array of strings that are used to identify debuggers in the language. When launching a debugger's `New Process Modal`, Zed will order available debuggers by the order of entries in this array.
- `first_line_pattern` is a regular expression that can be used alongside `path_suffixes` (above) or `file_types` in settings to match files that should use this language. For example, Gwen uses this to identify Shell Scripts by matching [shebang lines](https://github.com/zed-industries/zed/blob/main/crates/languages/src/bash/config.toml) in the first line of a script.
- `debuggers` is an array of strings that are used to identify debuggers in the language. When launching a debugger's `New Process Modal`, Gwen will order available debuggers by the order of entries in this array.
<!--
TBD: Document `language_name/config.toml` keys
@@ -51,7 +51,7 @@ TBD: Document `language_name/config.toml` keys
## Grammar
Zed uses the [Tree-sitter](https://tree-sitter.github.io) parsing library to provide built-in language-specific features. There are grammars available for many languages, and you can also [develop your own grammar](https://tree-sitter.github.io/tree-sitter/creating-parsers/3-writing-the-grammar.html). A growing list of Zed features are built using pattern matching over syntax trees with Tree-sitter queries. As mentioned above, every language that is defined in an extension must specify the name of a Tree-sitter grammar that is used for parsing. These grammars are then registered separately in extensions' `extension.toml` file, like this:
Gwen uses the [Tree-sitter](https://tree-sitter.github.io) parsing library to provide built-in language-specific features. There are grammars available for many languages, and you can also [develop your own grammar](https://tree-sitter.github.io/tree-sitter/creating-parsers/3-writing-the-grammar.html). A growing list of Gwen features are built using pattern matching over syntax trees with Tree-sitter queries. As mentioned above, every language that is defined in an extension must specify the name of a Tree-sitter grammar that is used for parsing. These grammars are then registered separately in extensions' `extension.toml` file, like this:
```toml
[grammars.gleam]
@@ -63,7 +63,7 @@ The `repository` field must specify a repository where the Tree-sitter grammar s
## Tree-sitter Queries
Zed uses the syntax tree produced by the [Tree-sitter](https://tree-sitter.github.io) query language to implement
Gwen uses the syntax tree produced by the [Tree-sitter](https://tree-sitter.github.io) query language to implement
several features:
- Syntax highlighting
@@ -77,7 +77,7 @@ several features:
- Selecting classes, functions, etc.
The following sections elaborate on how [Tree-sitter queries](https://tree-sitter.github.io/tree-sitter/using-parsers/queries/index.html) enable these
features in Zed, using [JSON syntax](https://www.json.org/json-en.html) as a guiding example.
features in Gwen, using [JSON syntax](https://www.json.org/json-en.html) as a guiding example.
### Syntax highlighting
@@ -145,7 +145,7 @@ This query marks strings, object keys, and numbers for highlighting. The followi
#### Fallback captures
A single Tree-sitter pattern can specify multiple captures on the same node to define fallback highlights.
Zed resolves them right-to-left: It first tries the rightmost capture, and if the current theme has no style for it, falls back to the next capture to the left, and so on.
Gwen resolves them right-to-left: It first tries the rightmost capture, and if the current theme has no style for it, falls back to the next capture to the left, and so on.
For example:
@@ -153,7 +153,7 @@ For example:
(type_identifier) @type @variable
```
Here Zed will first try to resolve `@variable` from the theme. If the theme defines a style for `@variable`, that style is used. Otherwise, Zed falls back to `@type`.
Here Gwen will first try to resolve `@variable` from the theme. If the theme defines a style for `@variable`, that style is used. Otherwise, Gwen falls back to `@type`.
This is useful when a language wants to provide a preferred highlight that not all themes may support, while still falling back to a more common capture that most themes define.
@@ -176,7 +176,7 @@ This query identifies opening and closing brackets, braces, and quotation marks.
| @open | Captures opening brackets, braces, and quotes |
| @close | Captures closing brackets, braces, and quotes |
Zed uses these to highlight matching brackets: painting each bracket pair with a different color ("rainbow brackets") and highlighting the brackets if the cursor is inside the bracket pair.
Gwen uses these to highlight matching brackets: painting each bracket pair with a different color ("rainbow brackets") and highlighting the brackets if the cursor is inside the bracket pair.
To opt out of rainbow brackets colorization, add the following to the corresponding `brackets.scm` entry:
@@ -293,13 +293,13 @@ decrease_indent_patterns = [
```
A line beginning with `else` aligns with the most recent `@start.if` at the same
or a lower indentation level. If Zed finds no matching block, it leaves the
or a lower indentation level. If Gwen finds no matching block, it leaves the
indentation unchanged.
Named captures such as `@start.if` mark blocks for these rules. Unlike
`@start`, they do not change an `@indent` range.
Zed checks rules in order and stops after the first matching `pattern`. Put
Gwen checks rules in order and stops after the first matching `pattern`. Put
more specific patterns before overlapping general patterns.
### Code injections
@@ -372,15 +372,15 @@ For example, in JavaScript, we also disable auto-closing of single quotes within
### Text objects
The `textobjects.scm` file defines rules for navigating by text objects. This was added in Zed v0.165 and is currently used only in [Vim mode](../vim.md).
The `textobjects.scm` file defines rules for navigating by text objects. This was added in Gwen v0.165 and is currently used only in [Vim mode](../vim.md).
Vim provides two levels of granularity for navigating around files. Section-by-section with `[]` etc., and method-by-method with `]m` etc. Even languages that don't support functions and classes can work well by defining similar concepts. For example CSS defines a rule-set as a method, and a media-query as a class.
For languages with closures, these typically should not count as functions in Zed. This is best-effort, however, because languages like JavaScript do not syntactically differentiate between closures and top-level function declarations.
For languages with closures, these typically should not count as functions in Gwen. This is best-effort, however, because languages like JavaScript do not syntactically differentiate between closures and top-level function declarations.
For languages with declarations like C, provide queries that match `@class.around` or `@function.around`. The `if` and `ic` text objects will default to these if there is no inside.
If you are not sure what to put in textobjects.scm, both [nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects), and the [Helix editor](https://github.com/helix-editor/helix) have queries for many languages. You can refer to the Zed [built-in languages](https://github.com/zed-industries/zed/tree/main/crates/languages/src) to see how to adapt these.
If you are not sure what to put in textobjects.scm, both [nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects), and the [Helix editor](https://github.com/helix-editor/helix) have queries for many languages. You can refer to the Gwen [built-in languages](https://github.com/zed-industries/zed/tree/main/crates/languages/src) to see how to adapt these.
| Capture | Description | Vim mode |
| ---------------- | ----------------------------------------------------------------------- | ------------------------------------------------ |
@@ -471,7 +471,7 @@ TBD: `#set! tag`
## Language Servers
Zed uses the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) to provide advanced language support.
Gwen uses the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) to provide advanced language support.
An extension may provide any number of language servers. To provide a language server from your extension, add an entry to your `extension.toml` with the name of your language server and the language(s) it applies to. The entry in the list of `languages` has to match the `name` field from the `config.toml` file for that language:
@@ -499,11 +499,11 @@ impl zed::Extension for MyExtension {
}
```
You can customize the handling of the language server using several optional methods in the `Extension` trait. For example, you can control how completions are styled using the `label_for_completion` method. For a complete list of methods, see the [API docs for the Zed extension API](https://docs.rs/zed_extension_api).
You can customize the handling of the language server using several optional methods in the `Extension` trait. For example, you can control how completions are styled using the `label_for_completion` method. For a complete list of methods, see the [API docs for the Gwen extension API](https://docs.rs/zed_extension_api).
### Syntax Highlighting with Semantic Tokens
Zed supports syntax highlighting using [semantic tokens](../semantic-tokens.md) from the attached language servers. This is currently disabled by default, but can be enabled in your settings file:
Gwen supports syntax highlighting using [semantic tokens](../semantic-tokens.md) from the attached language servers. This is currently disabled by default, but can be enabled in your settings file:
```json [settings]
{
@@ -557,11 +557,11 @@ The file uses the same format as the `semantic_token_rules` array in user settin
]
```
This is useful when a language server reports custom (non-standard) semantic token types that aren't covered by Zed's built-in default rules. Extension-provided rules act as sensible defaults for that language — users can always override them via `semantic_token_rules` in their settings file, and built-in default rules are only used when neither user nor extension rules match.
This is useful when a language server reports custom (non-standard) semantic token types that aren't covered by Gwen's built-in default rules. Extension-provided rules act as sensible defaults for that language — users can always override them via `semantic_token_rules` in their settings file, and built-in default rules are only used when neither user nor extension rules match.
#### Customizing Semantic Token Styles
Zed supports customizing the styles used for semantic tokens. You can define rules in your settings file, which customize how semantic tokens get mapped to styles in your theme.
Gwen supports customizing the styles used for semantic tokens. You can define rules in your settings file, which customize how semantic tokens get mapped to styles in your theme.
```json [settings]
{
@@ -594,7 +594,7 @@ Rules are applied in the following priority order (highest to lowest):
1. **User settings** — rules from `semantic_token_rules` in your settings file.
2. **Extension rules** — rules from `semantic_token_rules.json` in extension language directories.
3. **Default rules** — Zed's built-in rules for standard LSP token types.
3. **Default rules** — Gwen's built-in rules for standard LSP token types.
Each rule in the `semantic_token_rules` array is defined as follows:
@@ -610,7 +610,7 @@ Each rule in the `semantic_token_rules` array is defined as follows:
### Multi-Language Support
If your language server supports additional languages, you can use `language_ids` to map Zed `languages` to the desired [LSP-specific `languageId`](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocumentItem) identifiers:
If your language server supports additional languages, you can use `language_ids` to map Gwen `languages` to the desired [LSP-specific `languageId`](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocumentItem) identifiers:
```toml
+3 -3
View File
@@ -1,11 +1,11 @@
---
title: MCP Server Extensions
description: "MCP Server Extensions for Zed extensions."
description: "MCP Server Extensions for Gwen extensions."
---
# MCP Server Extensions
> We plan to deprecate MCP server extensions in favor of the [official MCP registry](https://registry.modelcontextprotocol.io/). To keep your MCP server available in Zed, publish it to the official registry as well. Follow our deprecation progress in the [tracking issue](https://github.com/zed-industries/zed/issues/59351).
> We plan to deprecate MCP server extensions in favor of the [official MCP registry](https://registry.modelcontextprotocol.io/). To keep your MCP server available in Gwen, publish it to the official registry as well. Follow our deprecation progress in the [tracking issue](https://github.com/zed-industries/zed/issues/59351).
[Model Context Protocol servers](../ai/mcp.md) can be exposed as extensions for use in the Agent Panel.
@@ -44,7 +44,7 @@ If you need to download the MCP server from an external source (GitHub Releases,
## Available Extensions
See MCP servers published as extensions [on Zed's site](https://zed.dev/extensions?filter=context-servers).
See MCP servers published as extensions [on Gwen's site](https://zed.dev/extensions?filter=context-servers).
Review their repositories to see common implementation patterns and structure.
+1 -1
View File
@@ -49,7 +49,7 @@ The only exception are the ID restrictions: since an extension's ID cannot chang
## Do I have to maintain my extension? {#do-i-have-to-maintain-my-extension}
No. After your extension has been published, there are no further requirements from our side. Thank you for enriching the Zed extension collection, we really appreciate it!
No. After your extension has been published, there are no further requirements from our side. Thank you for enriching the Gwen extension collection, we really appreciate it!
That said, no extension is perfect on day one - bugs may surface and improvement requests may come in. While maintenance is never required, it helps everyone if you respond to those reports within a reasonable timeframe.
@@ -1,6 +1,6 @@
---
title: Extension License Requirements
description: "Understand the license requirements for publishing a Zed extension."
description: "Understand the license requirements for publishing a Gwen extension."
---
# Extension License Requirements {#extension-license-requirements}
+2 -2
View File
@@ -1,6 +1,6 @@
---
title: Publishing Extensions
description: "Publish extensions to the Zed Extension Registry."
description: "Publish extensions to the Gwen Extension Registry."
---
# Publishing Extensions {#publishing-extensions}
@@ -9,6 +9,6 @@ To publish an extension:
1. Review the [publishing prerequisites](./prerequisites.md) and ensure your extension is ready.
2. Add an [accepted license](./license-requirements.md) to your extension.
3. Follow the [publishing guide](./publishing-guide.md) to submit it to the Zed extensions repository.
3. Follow the [publishing guide](./publishing-guide.md) to submit it to the Gwen extensions repository.
After your extension is published, see [Updating an Extension](./updating-and-maintenance.md) for how to ship updates, and the [FAQ](./faq.md) for general information regarding maintenance and stale extensions.
@@ -1,6 +1,6 @@
---
title: Extension Publishing Prerequisites
description: "Review the requirements for publishing an extension to the Zed Extension Registry."
description: "Review the requirements for publishing an extension to the Gwen Extension Registry."
---
# Extension Publishing Prerequisites {#extension-publishing-prerequisites}
@@ -11,7 +11,7 @@ Note that maintainers will raise non-compliance during the publishing process. S
## General Requirements
- Test your extension within Zed manually at the submodule commit you are submitting.
- Test your extension within Gwen manually at the submodule commit you are submitting.
- Publish functionality that is not already available in the extension registry.
- If you face issues with an existing extension, first try contributing to the existing extension. See the [FAQ](./faq.md#reporting-issues-and-improvements) for more details on this requirement.
- Do not misuse the extension API to work around its current limitations.
@@ -25,8 +25,8 @@ Note that maintainers will raise non-compliance during the publishing process. S
- Include only the resources your extension needs to function.
- License your extension under one of the [allowed licenses](./license-requirements.md).
- Write all user-facing text in English.
- Do not read or modify anything outside the environment Zed designates for your extension.
- Use the [Zed Rust Extension API](https://docs.rs/zed_extension_api/latest/zed_extension_api/) to read and modify the environment.
- Do not read or modify anything outside the environment Gwen designates for your extension.
- Use the [Gwen Rust Extension API](https://docs.rs/zed_extension_api/latest/zed_extension_api/) to read and modify the environment.
- Use Rust standard library methods to read and modify the work directory provided to the extension.
- Ask the user to make any other required changes themselves.
@@ -41,12 +41,12 @@ Note that maintainers will raise non-compliance during the publishing process. S
## Language Server Extensions
- Should your extension only provide a language server, make sure your extension ID reflects that (e.g., by suffixing it with `-language-server` or `-lsp`).
- Do not bundle a language server with the extension. Download it or check for it in the user's environment through the [Zed Rust Extension API](https://docs.rs/zed_extension_api/latest/zed_extension_api/).
- Do not bundle a language server with the extension. Download it or check for it in the user's environment through the [Gwen Rust Extension API](https://docs.rs/zed_extension_api/latest/zed_extension_api/).
## Debugger Extensions
- Should your extension only provide a debugger, make sure your extension ID reflects that (e.g., by suffixing it with `-debugger`).
- Do not bundle the debug adapter with the extension. Download it or check for it in the user's environment through the [Zed Rust Extension API](https://docs.rs/zed_extension_api/latest/zed_extension_api/).
- Do not bundle the debug adapter with the extension. Download it or check for it in the user's environment through the [Gwen Rust Extension API](https://docs.rs/zed_extension_api/latest/zed_extension_api/).
## Theme Extensions
@@ -65,15 +65,15 @@ Note that maintainers will raise non-compliance during the publishing process. S
## MCP Server Extensions
> MCP server extensions will be deprecated in favor of the MCP registry in the future; progress for this is tracked in [#59351](https://github.com/zed-industries/zed/issues/59351). Please make sure to also publish your server to the registry to ensure it can be used with future versions of Zed.
> MCP server extensions will be deprecated in favor of the MCP registry in the future; progress for this is tracked in [#59351](https://github.com/zed-industries/zed/issues/59351). Please make sure to also publish your server to the registry to ensure it can be used with future versions of Gwen.
- Only provide one MCP server and nothing else.
- Make sure your extension ID indicates it is an MCP server (e.g., by prefixing it with `mcp-server-` or suffixing it with `-mcp-server`).
- Do not bundle the MCP server with the extension. Download it or check for it in the user's environment through the [Zed Rust Extension API](https://docs.rs/zed_extension_api/latest/zed_extension_api/).
- Do not bundle the MCP server with the extension. Download it or check for it in the user's environment through the [Gwen Rust Extension API](https://docs.rs/zed_extension_api/latest/zed_extension_api/).
## Agent Server and Slash Command Extensions
Agent server and slash command extensions have been deprecated and submissions will no longer be accepted. If you intend on making an agent server available within Zed, publish it to the [ACP Registry](https://agentclientprotocol.com/registry) instead.
Agent server and slash command extensions have been deprecated and submissions will no longer be accepted. If you intend on making an agent server available within Gwen, publish it to the [ACP Registry](https://agentclientprotocol.com/registry) instead.
---
@@ -1,6 +1,6 @@
---
title: Publishing Guide
description: "Submit and update extensions in the Zed Extension Registry."
description: "Submit and update extensions in the Gwen Extension Registry."
---
# Publishing Guide {#publishing-your-extension}
@@ -71,7 +71,7 @@ version = "0.0.1"
3. Run `pnpm sort-extensions` to ensure `extensions.toml` and `.gitmodules` are sorted.
That's it! Once your PR is accepted and merged, the extension will be packaged and published to the Zed extension registry.
That's it! Once your PR is accepted and merged, the extension will be packaged and published to the Gwen extension registry.
## Review process {#review-process}
+2 -2
View File
@@ -1,11 +1,11 @@
---
title: Slash Commands (Removed)
description: Extension slash commands have been removed from Zed.
description: Extension slash commands have been removed from Gwen.
redirect_to: ./mcp-extensions.md
---
# Slash Commands
Extension-provided slash commands have been removed from Zed.
Extension-provided slash commands have been removed from Gwen.
To extend the Agent Panel with custom tools and context, use [MCP Servers](./mcp-extensions.md) instead.
+2 -2
View File
@@ -1,6 +1,6 @@
---
title: Snippets
description: "Snippets for Zed extensions."
description: "Snippets for Gwen extensions."
---
# Snippets
@@ -15,7 +15,7 @@ The referenced path must be relative to the `extension.toml`.
A given extension may provide one or more snippets. Each snippet must be registered in the `extension.toml`.
Zed matches snippet files based on the lowercase name of the language (e.g. `rust.json` for Rust).
Gwen matches snippet files based on the lowercase name of the language (e.g. `rust.json` for Rust).
You can use `snippets.json` as a file name to define snippets that will be available regardless of the current buffer language.
For example, here is an extension that provides snippets for Rust and TypeScript:
+6 -6
View File
@@ -1,6 +1,6 @@
---
title: Themes
description: "Themes for Zed extensions."
description: "Themes for Gwen extensions."
---
# Themes
@@ -13,9 +13,9 @@ See [this blog post](https://zed.dev/blog/user-themes-now-in-preview) for additi
## Theme JSON Structure
The structure of a Zed theme is defined in the [Zed Theme JSON Schema](https://zed.dev/schema/themes/v0.2.0.json).
The structure of a Gwen theme is defined in the [Gwen Theme JSON Schema](https://zed.dev/schema/themes/v0.2.0.json).
A Zed theme consists of a Theme Family object including:
A Gwen theme consists of a Theme Family object including:
- `name`: The name for the theme family
- `author`: The name of the author of the theme family
@@ -57,7 +57,7 @@ The core components of a Theme object include:
## Designing Your Theme
You can use [Zed's Theme Builder](https://zed.dev/theme-builder) to design your own custom theme based on an existing one.
You can use [Gwen's Theme Builder](https://zed.dev/theme-builder) to design your own custom theme based on an existing one.
This tool lets you fine-tune and preview how surfaces in Zed will look.
You can then export the JSON and publish it in Zed's extension store.
This tool lets you fine-tune and preview how surfaces in Gwen will look.
You can then export the JSON and publish it in Gwen's extension store.
+4 -4
View File
@@ -1,15 +1,15 @@
---
title: Finding and Navigating Code - Zed
description: Navigate your codebase in Zed with file finder, project search, go to definition, symbol search, and the command palette.
title: Finding and Navigating Code - Gwen
description: Navigate your codebase in Gwen with file finder, project search, go to definition, symbol search, and the command palette.
---
# Finding & Navigating
Zed provides several ways to move around your codebase quickly. Here's an overview of the main navigation tools.
Gwen provides several ways to move around your codebase quickly. Here's an overview of the main navigation tools.
## Command Palette
The Command Palette ({#kb command_palette::Toggle}) is your gateway to almost everything in Zed. Type a few characters to filter commands, then press Enter to execute.
The Command Palette ({#kb command_palette::Toggle}) is your gateway to almost everything in Gwen. Type a few characters to filter commands, then press Enter to execute.
[Learn more about the Command Palette →](./command-palette.md)
+15 -15
View File
@@ -1,11 +1,11 @@
---
title: Getting Started with Zed
description: Get started with Zed, the fast open-source code editor. Essential commands, environment setup, and navigation basics.
title: Getting Started with Gwen
description: Get started with Gwen, the fast open-source code editor. Essential commands, environment setup, and navigation basics.
---
# Getting Started
Zed is an open-source code editor with built-in collaboration and AI tools.
Gwen is an open-source code editor with built-in collaboration and AI tools.
This guide covers the essential commands, environment setup, and navigation basics.
@@ -13,7 +13,7 @@ This guide covers the essential commands, environment setup, and navigation basi
### Welcome Page
When you open Zed without a folder, you see the welcome page in the main editor area. The welcome page offers quick actions to open a folder, clone a repository, or view documentation. Once you open a folder or file, the welcome page disappears. If you split the editor into multiple panes, the welcome page appears only in the center pane when empty—other panes show a standard empty state.
When you open Gwen without a folder, you see the welcome page in the main editor area. The welcome page offers quick actions to open a folder, clone a repository, or view documentation. Once you open a folder or file, the welcome page disappears. If you split the editor into multiple panes, the welcome page appears only in the center pane when empty—other panes show a standard empty state.
To reopen the welcome page, close all items in the center pane or use the command palette to search for "Welcome".
@@ -22,12 +22,12 @@ To reopen the welcome page, close all items in the center pane or use the comman
Open a folder from the command line:
```sh
zed ~/projects/my-app
gwen ~/projects/my-app
```
Or use `Cmd+O` (macOS) / `Ctrl+O` (Linux/Windows) to open a folder from within Zed.
Or use `Cmd+O` (macOS) / `Ctrl+O` (Linux/Windows) to open a folder from within Gwen.
By default, new projects open in your current window's threads sidebar. To open in a new window instead, use `zed -n ~/projects/my-app` or press `Cmd+Enter` when selecting from Open Recent. See [Windows & Projects](./windows-and-projects.md) for more details.
By default, new projects open in your current window's threads sidebar. To open in a new window instead, use `gwen -n ~/projects/my-app` or press `Cmd+Enter` when selecting from Open Recent. See [Windows & Projects](./windows-and-projects.md) for more details.
### 2. Learn the Essential Commands
@@ -40,7 +40,7 @@ By default, new projects open in your current window's threads sidebar. To open
| Toggle terminal | `` Ctrl+` `` | `` Ctrl+` `` |
| Open settings | `Cmd+,` | `Ctrl+,` |
The [command palette](./command-palette.md) (`Cmd+Shift+P`) is your gateway to every action in Zed. If you forget a shortcut, search for it there.
The [command palette](./command-palette.md) (`Cmd+Shift+P`) is your gateway to every action in Gwen. If you forget a shortcut, search for it there.
### Panel Layout
@@ -58,7 +58,7 @@ Common first changes:
### 4. Set Up Your Language
Zed includes built-in support for many languages. For others, install the extension:
Gwen includes built-in support for many languages. For others, install the extension:
1. Open Extensions with `Cmd+Shift+X` (macOS) or `Ctrl+Shift+X` (Linux/Windows)
2. Search for your language
@@ -68,7 +68,7 @@ See [Languages](./languages.md) for language-specific setup instructions.
### 5. Try AI Features
Zed includes built-in AI assistance. Open the Agent Panel with `Cmd+Shift+A` (macOS) or `Ctrl+Shift+A` (Linux/Windows) to start a conversation, or use `Cmd+Enter` (macOS) / `Ctrl+Enter` (Linux/Windows) for inline assistance.
Gwen includes built-in AI assistance. Open the Agent Panel with `Cmd+Shift+A` (macOS) or `Ctrl+Shift+A` (Linux/Windows) to start a conversation, or use `Cmd+Enter` (macOS) / `Ctrl+Enter` (Linux/Windows) for inline assistance.
See [AI Overview](./ai/overview.md) to configure providers and learn what's possible.
@@ -77,10 +77,10 @@ See [AI Overview](./ai/overview.md) to configure providers and learn what's poss
We have dedicated guides for switching from other editors:
- [VS Code](./migrate/vs-code.md) — Import settings, map keybindings, find equivalent features
- [IntelliJ IDEA](./migrate/intellij.md) — Adapt to Zed's approach to navigation and refactoring
- [PyCharm](./migrate/pycharm.md) — Set up Python development in Zed
- [IntelliJ IDEA](./migrate/intellij.md) — Adapt to Gwen's approach to navigation and refactoring
- [PyCharm](./migrate/pycharm.md) — Set up Python development in Gwen
- [WebStorm](./migrate/webstorm.md) — Configure JavaScript/TypeScript workflows
- [RustRover](./migrate/rustrover.md) — Rust development in Zed
- [RustRover](./migrate/rustrover.md) — Rust development in Gwen
You can also enable familiar keybindings:
@@ -89,8 +89,8 @@ You can also enable familiar keybindings:
## Join the Community
Zed is open source. Join us on GitHub or in Discord to contribute code, report bugs, or suggest features.
Gwen is open source. Join us on GitHub or in Discord to contribute code, report bugs, or suggest features.
- [Discord](https://discord.com/invite/zedindustries)
- [GitHub Discussions](https://github.com/zed-industries/zed/discussions)
- [Zed Reddit](https://www.reddit.com/r/ZedEditor)
- [Gwen Reddit](https://www.reddit.com/r/ZedEditor)
+42 -42
View File
@@ -1,13 +1,13 @@
---
description: Zed is a text editor that supports lots of Git features
title: Zed Editor Git integration documentation
description: Gwen is a text editor that supports lots of Git features
title: Gwen Editor Git integration documentation
---
# Git
Zed has built-in Git support that lets you manage version control without leaving the editor. The Git Panel shows your working tree state, staging area, and branch information. Changes you make on the command line are reflected immediately in Zed.
Gwen has built-in Git support that lets you manage version control without leaving the editor. The Git Panel shows your working tree state, staging area, and branch information. Changes you make on the command line are reflected immediately in Gwen.
For operations that Zed doesn't support natively, you can use the integrated terminal.
For operations that Gwen doesn't support natively, you can use the integrated terminal.
## Repository Activation
@@ -30,7 +30,7 @@ You can open the Git Panel using {#action git_panel::ToggleFocus}, or by clickin
In the panel you can see the state of your project at a glance: which repository and branch are active, what files have changed and the current staging state of each file.
Zed monitors your repository so that changes you make on the command line are instantly reflected.
Gwen monitors your repository so that changes you make on the command line are instantly reflected.
### Configuration
@@ -49,7 +49,7 @@ The Git Panel shows a flat list of changed files by default. To see files organi
#### Inline Blame
Zed shows Git blame information on the current line. To turn this off or add a delay before it appears, go to **Version Control > Inline Git Blame**.
Gwen shows Git blame information on the current line. To turn this off or add a delay before it appears, go to **Version Control > Inline Git Blame**.
#### Hiding the Gutter Indicators
@@ -57,11 +57,11 @@ The colored bars in the gutter that show added, modified, and deleted lines can
#### Commit Message Line Length
Zed wraps commit messages at 72 characters (a Git convention). To change this, search for "Git Commit" in Settings and adjust **Preferred Line Length**.
Gwen wraps commit messages at 72 characters (a Git convention). To change this, search for "Git Commit" in Settings and adjust **Preferred Line Length**.
## Project Diff
You can see all of the changes captured by Git in Zed by opening the Project Diff ({#kb git::Diff}), accessible via the {#action git::Diff} action in the Command Palette or the Git Panel.
You can see all of the changes captured by Git in Gwen by opening the Project Diff ({#kb git::Diff}), accessible via the {#action git::Diff} action in the Command Palette or the Git Panel.
All of the changes displayed in the Project Diff behave exactly the same as any other multibuffer: they are all editable excerpts of files.
@@ -69,7 +69,7 @@ You can stage or unstage each hunk as well as a whole file by hitting the button
### Word Diff Highlighting
By default, Zed highlights changed words within modified lines to make it easier to spot exactly what changed. To disable this globally, open the Settings Editor and go to **Languages & Tools > Miscellaneous**, then turn off **Word Diff Enabled**.
By default, Gwen highlights changed words within modified lines to make it easier to spot exactly what changed. To disable this globally, open the Settings Editor and go to **Languages & Tools > Miscellaneous**, then turn off **Word Diff Enabled**.
To disable word diff for specific languages only, add this to your settings.json:
@@ -85,7 +85,7 @@ To disable word diff for specific languages only, add this to your settings.json
### Diff View Styles
Zed displays diffs in two modes: **split** (side-by-side comparison) or **unified** (inline changes). Split view is the default.
Gwen displays diffs in two modes: **split** (side-by-side comparison) or **unified** (inline changes). Split view is the default.
#### Changing the diff view
@@ -99,7 +99,7 @@ To change the default, add this to your `settings.json`:
}
```
See [Configuring Zed](./configuring-zed.md) for more about the Settings Editor.
See [Configuring Gwen](./configuring-zed.md) for more about the Settings Editor.
#### Split vs unified
@@ -121,25 +121,25 @@ To view File History:
## Fetch, Push, and Pull
Fetch, push, or pull from your Git repository in Zed via the buttons available on the Git Panel or via the Command Palette by looking at the respective actions: {#action git::Fetch}, {#action git::Push}, and {#action git::Pull}.
Fetch, push, or pull from your Git repository in Gwen via the buttons available on the Git Panel or via the Command Palette by looking at the respective actions: {#action git::Fetch}, {#action git::Push}, and {#action git::Pull}.
### Push Configuration
Zed respects Git's push configuration. When pushing, Zed checks the following in order:
Gwen respects Git's push configuration. When pushing, Gwen checks the following in order:
1. `pushRemote` configured for the current branch
2. `remote.pushDefault` in your Git config
3. The branch's tracking remote
This matches Git's standard behavior, so if you've configured `pushRemote` or `pushDefault` in your `.gitconfig` or via `git config`, Zed will use those settings.
This matches Git's standard behavior, so if you've configured `pushRemote` or `pushDefault` in your `.gitconfig` or via `git config`, Gwen will use those settings.
## Remotes
When your repository has multiple remotes, Zed shows a remote selector in the Git Panel. Click the remote button next to push/pull to choose which remote to use for that operation.
When your repository has multiple remotes, Gwen shows a remote selector in the Git Panel. Click the remote button next to push/pull to choose which remote to use for that operation.
## Staging Workflow
Zed has two primary staging workflows, using either the Project Diff or the panel directly.
Gwen has two primary staging workflows, using either the Project Diff or the panel directly.
### Using the Project Diff
@@ -163,19 +163,19 @@ To open a changed file in the editor without a diff view, right-click on the fil
## Committing
Zed offers two commit textareas:
Gwen offers two commit textareas:
1. The first one is available right at the bottom of the Git Panel. Hitting {#kb git::Commit} immediately commits all of your staged changes.
2. The second is available via the action {#action git::ExpandCommitEditor} or via hitting the {#kb git::ExpandCommitEditor} while focused in the Git Panel commit textarea.
### Undoing a Commit
As soon as you commit in Zed, in the Git Panel, you'll see a bar right under the commit textarea, which will show the recently submitted commit.
As soon as you commit in Gwen, in the Git Panel, you'll see a bar right under the commit textarea, which will show the recently submitted commit.
In there, you can use the "Uncommit" button, which performs the `git reset HEADˆ--soft` command.
### Configuring Commit Line Length
By default, Zed sets the commit line length to `72` but it can be configured in your local `settings.json` file.
By default, Gwen sets the commit line length to `72` but it can be configured in your local `settings.json` file.
Find more information about setting the `preferred-line-length` in the [Configuration](#configuration) section.
@@ -189,7 +189,7 @@ When you are working in a [Git worktree](#git-worktrees), use the branch picker
### Deleting Branches
To delete a branch, open the branch switcher with {#action git::Switch}, find the branch you want to delete, and use the delete option. Zed will confirm before deleting to prevent accidental data loss.
To delete a branch, open the branch switcher with {#action git::Switch}, find the branch you want to delete, and use the delete option. Gwen will confirm before deleting to prevent accidental data loss.
> **Note:** You cannot delete the branch you currently have checked out. Switch to a different branch first.
@@ -202,7 +202,7 @@ Open the worktree picker from the title bar, next to the project picker, or by r
From the picker, you can:
- Create a new linked worktree either from the current branch or default branch
- Type a name to create a named worktree or let Zed automatically pick one for you
- Type a name to create a named worktree or let Gwen automatically pick one for you
- Switch the current workspace to an existing worktree
- Open an existing worktree in a new window
- Delete linked worktrees that are not currently open in the project
@@ -211,26 +211,26 @@ From the picker, you can:
New worktrees are created in detached HEAD state.
After switching to the new worktree, use the branch picker next to the worktree picker to create a new branch or check out an existing, unused branch.
This keeps Zed from accidentally checking out the same branch in multiple worktrees.
This keeps Gwen from accidentally checking out the same branch in multiple worktrees.
The directory used for new worktrees is controlled by the `git.worktree_directory` setting.
By default, Zed creates worktrees under `../worktrees` relative to the repository's working directory.
By default, Gwen creates worktrees under `../worktrees` relative to the repository's working directory.
See [All Settings](./reference/all-settings.md#git-worktree-directory) for examples.
### Init Setup
To run setup steps after Zed creates a linked worktree, use the [`create_worktree` task hook](./tasks.md#hooks).
To run setup steps after Gwen creates a linked worktree, use the [`create_worktree` task hook](./tasks.md#hooks).
For agent-specific workflows, see [Worktree Isolation](./ai/parallel-agents.md#worktree-isolation).
### Multi-root Workspaces
If your project contains multiple Git repositories (i.e., multi-root folders), Zed creates a linked worktree for each repository when creating a new worktree from the picker.
If your project contains multiple Git repositories (i.e., multi-root folders), Gwen creates a linked worktree for each repository when creating a new worktree from the picker.
Non-Git folders in the same project are included in the new workspace as-is.
## Merge Conflicts
When you encounter merge conflicts after a merge, rebase, or pull, Zed highlights the conflicting regions in your files and displays resolution buttons above each conflict.
When you encounter merge conflicts after a merge, rebase, or pull, Gwen highlights the conflicting regions in your files and displays resolution buttons above each conflict.
### Viewing Conflicts
@@ -267,7 +267,7 @@ Each of these actions first prompts for an optional stash name. Confirming with
### Managing Stashes
Zed provides a stash picker accessible via {#action git::ViewStash} or from the Git Panel's overflow menu. From the stash picker, you can:
Gwen provides a stash picker accessible via {#action git::ViewStash} or from the Git Panel's overflow menu. From the stash picker, you can:
- **View stash list**: Browse all your saved stashes with their descriptions and timestamps
- **Open diffs**: See exactly what changes are stored in each stash
@@ -277,7 +277,7 @@ Zed provides a stash picker accessible via {#action git::ViewStash} or from the
### Quick Stash Operations
For faster workflows, Zed provides direct actions to work with the most recent stash:
For faster workflows, Gwen provides direct actions to work with the most recent stash:
- **Apply latest stash**: Use {#action git::StashApply} to apply the most recent stash without removing it
- **Pop latest stash**: Use {#action git::StashPop} to apply and remove the most recent stash
@@ -294,10 +294,10 @@ To view a stash's contents, select it in the stash picker and press {#kb stash_p
## AI Support in Git
Zed currently supports LLM-powered commit message generation.
Gwen currently supports LLM-powered commit message generation.
You can ask AI to generate a commit message by focusing on the message editor within the Git Panel and either clicking on the pencil icon in the bottom left, or reaching for the {#action git::GenerateCommitMessage}, or through the {#kb git::GenerateCommitMessage} keybinding.
> Note that you need to have an LLM provider configured either via your own API keys or through Zed's hosted AI models.
> Note that you need to have an LLM provider configured either via your own API keys or through Gwen's hosted AI models.
> Visit [AI Quick Start](./ai/quick-start.md) to learn how to configure AI.
You can specify your preferred model for this task by adding a `commit_message_model` field to your agent settings.
@@ -314,7 +314,7 @@ See [Feature-specific models](./ai/agent-settings.md#feature-specific-models) fo
}
```
To add custom commit instructions for the model, use the global `AGENTS.md` file located at `~/.config/zed/AGENTS.md` on macOS and Linux, `%APPDATA%\Zed\AGENTS.md` on Windows.
To add custom commit instructions for the model, use the global `AGENTS.md` file located at `~/.config/gwen/AGENTS.md` on macOS and Linux, `%APPDATA%\Gwen\AGENTS.md` on Windows.
To add custom instructions that apply only to commit message generation, use the `commit_message_instructions` field in your agent settings:
@@ -326,16 +326,16 @@ To add custom instructions that apply only to commit message generation, use the
}
```
These instructions are sent to the model in addition to any instruction files, such as `.rules` or `AGENTS.md`. To add instructions that apply to both commit messages and the agent more broadly, use the global `AGENTS.md` file located at `~/.config/zed/AGENTS.md` on macOS and Linux, `%APPDATA%\Zed\AGENTS.md` on Windows.
These instructions are sent to the model in addition to any instruction files, such as `.rules` or `AGENTS.md`. To add instructions that apply to both commit messages and the agent more broadly, use the global `AGENTS.md` file located at `~/.config/gwen/AGENTS.md` on macOS and Linux, `%APPDATA%\Gwen\AGENTS.md` on Windows.
> Before Zed v1.4.0, this was done through the Rules Library, which has been removed.
> Before Gwen v1.4.0, this was done through the Rules Library, which has been removed.
> See [Migrating from Rules](./ai/instructions.md#migrating-from-rules) for more information.
## Git Integrations
Zed integrates with popular Git hosting services to ensure that Git commit hashes and references to Issues, Pull Requests, and Merge Requests become clickable links.
Gwen integrates with popular Git hosting services to ensure that Git commit hashes and references to Issues, Pull Requests, and Merge Requests become clickable links.
Zed currently supports links to the hosted versions of
Gwen currently supports links to the hosted versions of
[GitHub](https://github.com),
[GitLab](https://gitlab.com),
[Bitbucket](https://bitbucket.org),
@@ -345,9 +345,9 @@ Zed currently supports links to the hosted versions of
### Self-Hosted Instances
Zed automatically identifies Git hosting providers by checking for keywords in your Git remote URL. For example, if your self-hosted URL contains `gitlab`, `gitea`, or other recognized provider names, Zed will automatically register that hosting provider without any configuration needed.
Gwen automatically identifies Git hosting providers by checking for keywords in your Git remote URL. For example, if your self-hosted URL contains `gitlab`, `gitea`, or other recognized provider names, Gwen will automatically register that hosting provider without any configuration needed.
However, if your self-hosted Git instance URL doesn't contain identifying keywords, you can manually configure Zed to create clickable links to your instance by adding a `git_hosting_providers` setting so commit hashes and permalinks resolve to your domain:
However, if your self-hosted Git instance URL doesn't contain identifying keywords, you can manually configure Gwen to create clickable links to your instance by adding a `git_hosting_providers` setting so commit hashes and permalinks resolve to your domain:
```json [settings]
{
@@ -367,7 +367,7 @@ You can configure multiple custom providers if you work with several self-hosted
### Permalinks
Zed can open or copy a permanent link to a file or code selection on your Git hosting service.
Gwen can open or copy a permanent link to a file or code selection on your Git hosting service.
These links are useful for sharing a specific line or range of lines in a file at a specific commit.
For the current selection in the editor, use {#action editor::CopyPermalinkToLine} or
@@ -380,7 +380,7 @@ for the whole file (without a line selection).
## Diff Hunk Keyboard Shortcuts
When viewing files with changes, Zed displays diff hunks that can be expanded or collapsed for detailed review:
When viewing files with changes, Gwen displays diff hunks that can be expanded or collapsed for detailed review:
- **Expand all diff hunks**: {#action editor::ExpandAllDiffHunks} ({#kb editor::ExpandAllDiffHunks})
- **Collapse all diff hunks**: Press `Escape` (bound to {#action editor::Cancel})
@@ -430,14 +430,14 @@ When viewing files with changes, Zed displays diff hunks that can be expanded or
## Git CLI Configuration
If you would like to also use Zed for your [git commit message editor](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_core_editor) when committing from the command line you can use `zed --wait`:
If you would like to also use Gwen for your [git commit message editor](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_core_editor) when committing from the command line you can use `gwen --wait`:
```sh
git config --global core.editor "zed --wait"
git config --global core.editor "gwen --wait"
```
Or add the following to your shell environment (in `~/.zshrc`, `~/.bashrc`, etc):
```sh
export GIT_EDITOR="zed --wait"
export GIT_EDITOR="gwen --wait"
```
+15 -15
View File
@@ -1,22 +1,22 @@
---
title: Glob Patterns - Zed
description: How glob patterns work in Zed for file matching, search filtering, and configuration. Syntax reference and examples.
title: Glob Patterns - Gwen
description: How glob patterns work in Gwen for file matching, search filtering, and configuration. Syntax reference and examples.
---
# Globs
Zed supports the use of [glob](<https://en.wikipedia.org/wiki/Glob_(programming)>) patterns that are the formal name for Unix shell-style path matching wildcards like `*.md` or `docs/src/**/*.md` supported by sh, bash, zsh, etc. A glob is similar but distinct from a [regex (regular expression)](https://en.wikipedia.org/wiki/Regular_expression). In Zed, globs are commonly used when matching filenames.
Gwen supports the use of [glob](<https://en.wikipedia.org/wiki/Glob_(programming)>) patterns that are the formal name for Unix shell-style path matching wildcards like `*.md` or `docs/src/**/*.md` supported by sh, bash, zsh, etc. A glob is similar but distinct from a [regex (regular expression)](https://en.wikipedia.org/wiki/Regular_expression). In Gwen, globs are commonly used when matching filenames.
## Glob Flavor
Zed uses two different rust crates for matching glob patterns:
Gwen uses two different rust crates for matching glob patterns:
- [ignore crate](https://docs.rs/ignore/latest/ignore/) for matching glob patterns stored in `.gitignore` files
- [glob crate](https://docs.rs/glob/latest/glob/) for matching file paths in Zed
- [glob crate](https://docs.rs/glob/latest/glob/) for matching file paths in Gwen
While simple expressions are portable across environments (e.g. running `ls *.py` or `*.tmp` in a gitignore) there is significant divergence in the support for and syntax of more advanced features (character classes, exclusions, `**`, etc) across implementations. For the rest of this document we will be describing globs as supported in Zed via the `glob` crate implementation. Please see [References](#references) below for documentation links for glob pattern syntax for `.gitignore`, shells and other programming languages.
While simple expressions are portable across environments (e.g. running `ls *.py` or `*.tmp` in a gitignore) there is significant divergence in the support for and syntax of more advanced features (character classes, exclusions, `**`, etc) across implementations. For the rest of this document we will be describing globs as supported in Gwen via the `glob` crate implementation. Please see [References](#references) below for documentation links for glob pattern syntax for `.gitignore`, shells and other programming languages.
The `glob` crate is implemented entirely in rust and does not rely on the `glob` / `fnmatch` interfaces provided by your platform's libc. This means that globs in Zed should behave similarly across platforms.
The `glob` crate is implemented entirely in rust and does not rely on the `glob` / `fnmatch` interfaces provided by your platform's libc. This means that globs in Gwen should behave similarly across platforms.
## Introduction
@@ -24,14 +24,14 @@ A glob "pattern" is used to match a file name or complete file path. For example
### Multiple Patterns
You can specify multiple glob patterns in Project Search filters by separating them with commas. When using comma-separated patterns, Zed correctly handles braces within individual patterns:
You can specify multiple glob patterns in Project Search filters by separating them with commas. When using comma-separated patterns, Gwen correctly handles braces within individual patterns:
- `*.ts, *.tsx` — Match TypeScript and TSX files
- `src/{components,utils}/**/*.ts, tests/**/*.test.ts` — Match TypeScript files in specific directories plus test files
Each pattern is evaluated independently. Commas inside braces (like `{a,b}`) are treated as part of the pattern, not as separators.
**Important:** While braces are preserved in patterns, Zed does not expand them into multiple patterns. The pattern `src/{a,b}/*.ts` matches the literal path structure, not `src/a/*.ts` OR `src/b/*.ts`. This differs from shell behavior.
**Important:** While braces are preserved in patterns, Gwen does not expand them into multiple patterns. The pattern `src/{a,b}/*.ts` matches the literal path structure, not `src/a/*.ts` OR `src/b/*.ts`. This differs from shell behavior.
When creating a glob pattern you can use one or multiple special characters:
@@ -59,19 +59,19 @@ If you wanted to only search Markdown files add `*.md` to the "Include" search f
### Case insensitive matching
Globs in Zed are case-sensitive, so `*.c` will not match `main.C` (even on case-insensitive filesystems like HFS+/APFS on macOS). Instead use brackets to match characters. So instead of `*.c` use `*.[cC]`.
Globs in Gwen are case-sensitive, so `*.c` will not match `main.C` (even on case-insensitive filesystems like HFS+/APFS on macOS). Instead use brackets to match characters. So instead of `*.c` use `*.[cC]`.
### Matching directories
If you wanted to search the [zed repository](https://github.com/zed-industries/zed) for examples of [Configuring Language Servers](https://zed.dev/docs/configuring-languages#configuring-language-servers) (under `"lsp"` in Zed settings.json) you could search for `"lsp"` and in the "Include" filter specify `docs/**/*.md`. This would only match files whose path was under the `docs` directory or any nested subdirectories `**/` of that folder with a filename that ends in `.md`.
If you wanted to search the [zed repository](https://github.com/zed-industries/zed) for examples of [Configuring Language Servers](https://zed.dev/docs/configuring-languages#configuring-language-servers) (under `"lsp"` in Gwen settings.json) you could search for `"lsp"` and in the "Include" filter specify `docs/**/*.md`. This would only match files whose path was under the `docs` directory or any nested subdirectories `**/` of that folder with a filename that ends in `.md`.
If instead you wanted to restrict yourself only to [Zed Language-Specific Documentation](https://zed.dev/docs/languages) pages you could define a narrower pattern of: `docs/src/languages/*.md` this would match [`docs/src/languages/rust.md`](https://github.com/zed-industries/zed/blob/main/docs/src/languages/rust.md) and [`docs/src/languages/cpp.md`](https://github.com/zed-industries/zed/blob/main/docs/src/languages/cpp.md) but not [`docs/src/configuring-languages.md`](https://github.com/zed-industries/zed/blob/main/docs/src/configuring-languages.md).
If instead you wanted to restrict yourself only to [Gwen Language-Specific Documentation](https://zed.dev/docs/languages) pages you could define a narrower pattern of: `docs/src/languages/*.md` this would match [`docs/src/languages/rust.md`](https://github.com/zed-industries/zed/blob/main/docs/src/languages/rust.md) and [`docs/src/languages/cpp.md`](https://github.com/zed-industries/zed/blob/main/docs/src/languages/cpp.md) but not [`docs/src/configuring-languages.md`](https://github.com/zed-industries/zed/blob/main/docs/src/configuring-languages.md).
### Implicit Wildcards
When using the "Include" / "Exclude" filters on a Project Search each glob is wrapped in implicit wildcards. For example to exclude any files with license in the path or filename from your search just type `license` in the exclude box. Behind the scenes Zed transforms `license` to `**license**`. This means that files named `license.*`, `*.license` or inside a `license` subdirectory will all be filtered out. This enables users to easily filter for `*.ts` without having to remember to type `**/*.ts` every time.
When using the "Include" / "Exclude" filters on a Project Search each glob is wrapped in implicit wildcards. For example to exclude any files with license in the path or filename from your search just type `license` in the exclude box. Behind the scenes Gwen transforms `license` to `**license**`. This means that files named `license.*`, `*.license` or inside a `license` subdirectory will all be filtered out. This enables users to easily filter for `*.ts` without having to remember to type `**/*.ts` every time.
Alternatively, if in your Zed settings you wanted a [`file_types`](./reference/all-settings.md#file-types) override which only applied to a certain directory you must explicitly include the wildcard globs. For example, if you had a directory of template files with the `html` extension that you wanted to recognize as a Jinja2 template you could use the following:
Alternatively, if in your Gwen settings you wanted a [`file_types`](./reference/all-settings.md#file-types) override which only applied to a certain directory you must explicitly include the wildcard globs. For example, if you had a directory of template files with the `html` extension that you wanted to recognize as a Jinja2 template you could use the following:
```json [settings]
{
@@ -84,7 +84,7 @@ Alternatively, if in your Zed settings you wanted a [`file_types`](./reference/a
## References
While globs in Zed are implemented as described above, when writing code using globs in other languages, please reference your platform's glob documentation:
While globs in Gwen are implemented as described above, when writing code using globs in other languages, please reference your platform's glob documentation:
- [macOS fnmatch](https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/fnmatch.3.html) (BSD C Standard Library)
- [Linux fnmatch](https://www.gnu.org/software/libc/manual/html_node/Wildcard-Matching.html) (GNU C Standard Library)
+3 -3
View File
@@ -1,13 +1,13 @@
---
title: Helix Mode - Zed
description: Helix-style keybindings and modal editing in Zed. Selection-first editing built on top of Vim mode.
title: Helix Mode - Gwen
description: Helix-style keybindings and modal editing in Gwen. Selection-first editing built on top of Vim mode.
---
# Helix Mode
_Work in progress. Not all Helix keybindings are implemented yet._
Zed's Helix mode is an emulation layer that brings Helix-style keybindings and modal editing to Zed. It builds upon Zed's [Vim mode](./vim.md), so much of the core functionality is shared. Enabling `helix_mode` will also enable `vim_mode`.
Gwen's Helix mode is an emulation layer that brings Helix-style keybindings and modal editing to Gwen. It builds upon Gwen's [Vim mode](./vim.md), so much of the core functionality is shared. Enabling `helix_mode` will also enable `vim_mode`.
For a guide on Vim-related features that are also available in Helix mode, please refer to our [Vim mode documentation](./vim.md).
+5 -5
View File
@@ -1,11 +1,11 @@
---
title: Icon Themes
description: "Zed comes with a built-in icon theme, with more icon themes available as extensions."
description: "Gwen comes with a built-in icon theme, with more icon themes available as extensions."
---
# Icon Themes
Zed comes with a built-in icon theme, with more icon themes available as extensions.
Gwen comes with a built-in icon theme, with more icon themes available as extensions.
## Selecting an Icon Theme
@@ -15,14 +15,14 @@ Navigating through the icon theme list by moving up and down will change the ico
## Installing more Icon Themes
More icon themes are available from the Extensions page, which you can access via the command palette with {#action zed::Extensions} or the [Zed website](https://zed.dev/extensions?filter=icon-themes).
More icon themes are available from the Extensions page, which you can access via the command palette with {#action zed::Extensions} or the [Gwen website](https://zed.dev/extensions?filter=icon-themes).
## Configuring Icon Themes
Your selected icon theme is stored in your settings file.
You can open your settings file from the command palette with {#action zed::OpenSettingsFile} (bound to {#kb zed::OpenSettingsFile}).
Just like with themes, Zed allows for configuring different icon themes for light and dark mode.
Just like with themes, Gwen allows for configuring different icon themes for light and dark mode.
You can set the mode to `"light"` or `"dark"` to ignore the current system mode.
```json [settings]
@@ -37,4 +37,4 @@ You can set the mode to `"light"` or `"dark"` to ignore the current system mode.
## Icon Theme Development
See: [Developing Zed Icon Themes](./extensions/icon-themes.md)
See: [Developing Gwen Icon Themes](./extensions/icon-themes.md)
+23 -23
View File
@@ -1,23 +1,23 @@
---
title: Install Zed - macOS, Linux, Windows
description: Download and install Zed on macOS, Linux, or Windows. Includes Homebrew, direct download, and package manager options.
title: Install Gwen - macOS, Linux, Windows
description: Download and install Gwen on macOS, Linux, or Windows. Includes Homebrew, direct download, and package manager options.
---
# Installing Zed
# Installing Gwen
## Download Zed
## Download Gwen
### macOS
Get the latest stable builds via [the download page](https://zed.dev/download). If you want to download our preview build, you can find it on its [releases page](https://zed.dev/releases/preview). After the first manual installation, Zed will periodically check for install updates.
Get the latest stable builds via [the download page](https://zed.dev/download). If you want to download our preview build, you can find it on its [releases page](https://zed.dev/releases/preview). After the first manual installation, Gwen will periodically check for install updates.
You can also install Zed stable via Homebrew:
You can also install Gwen stable via Homebrew:
```sh
brew install --cask zed
```
As well as Zed preview:
As well as Gwen preview:
```sh
brew install --cask zed@preview
@@ -25,9 +25,9 @@ brew install --cask zed@preview
### Windows
Get the latest stable builds via [the download page](https://zed.dev/download). If you want to download our preview build, you can find it on its [releases page](https://zed.dev/releases/preview). After the first manual installation, Zed will periodically check for install updates.
Get the latest stable builds via [the download page](https://zed.dev/download). If you want to download our preview build, you can find it on its [releases page](https://zed.dev/releases/preview). After the first manual installation, Gwen will periodically check for install updates.
Additionally, you can install Zed using winget:
Additionally, you can install Gwen using winget:
```sh
winget install -e --id ZedIndustries.Zed
@@ -35,13 +35,13 @@ winget install -e --id ZedIndustries.Zed
### Linux
For most Linux users, the easiest way to install Zed is through our installation script:
For most Linux users, the easiest way to install Gwen is through our installation script:
```sh
curl -f https://zed.dev/install.sh | sh
```
You can now optionally specify a **version** of Zed to install using the `ZED_VERSION` environment variable:
You can now optionally specify a **version** of Gwen to install using the `ZED_VERSION` environment variable:
```sh
# Install the latest stable version (default)
@@ -59,17 +59,17 @@ curl -f https://zed.dev/install.sh | ZED_CHANNEL=preview sh
This script supports `x86_64` and `AArch64`, as well as common Linux distributions: Ubuntu, Arch, Debian, RedHat, CentOS, Fedora, and more.
If Zed is installed using this installation script, it can be uninstalled at any time by running the shell command `zed --uninstall`. The shell will then prompt you whether you'd like to keep your preferences or delete them. After making a choice, you should see a message that Zed was successfully uninstalled.
If Gwen is installed using this installation script, it can be uninstalled at any time by running the shell command `gwen --uninstall`. The shell will then prompt you whether you'd like to keep your preferences or delete them. After making a choice, you should see a message that Gwen was successfully uninstalled.
If this script is insufficient for your use case, you run into problems running Zed, or there are errors in uninstalling Zed, please see our [Linux-specific documentation](./linux.md).
If this script is insufficient for your use case, you run into problems running Gwen, or there are errors in uninstalling Gwen, please see our [Linux-specific documentation](./linux.md).
## System Requirements
### macOS
Zed supports the following macOS releases:
Gwen supports the following macOS releases:
| Version | Codename | Apple Status | Zed Status |
| Version | Codename | Apple Status | Gwen Status |
| ------------- | -------- | -------------- | ------------------- |
| macOS 26.x | Tahoe | Supported | Supported |
| macOS 15.x | Sequoia | Supported | Supported |
@@ -79,11 +79,11 @@ Zed supports the following macOS releases:
| macOS 11.x | Big Sur | EOL 2023-09-26 | Partially Supported |
| macOS 10.15.x | Catalina | EOL 2022-09-12 | Partially Supported |
The macOS releases labelled "Partially Supported" (Big Sur and Catalina) do not support screen sharing via Zed Collaboration. These features use the [LiveKit SDK](https://livekit.io) which relies upon [ScreenCaptureKit.framework](https://developer.apple.com/documentation/screencapturekit/) only available on macOS 12 (Monterey) and newer.
The macOS releases labelled "Partially Supported" (Big Sur and Catalina) do not support screen sharing via Gwen Collaboration. These features use the [LiveKit SDK](https://livekit.io) which relies upon [ScreenCaptureKit.framework](https://developer.apple.com/documentation/screencapturekit/) only available on macOS 12 (Monterey) and newer.
#### Mac Hardware
Zed supports machines with Intel (x86_64) or Apple (aarch64) processors that meet the above macOS requirements:
Gwen supports machines with Intel (x86_64) or Apple (aarch64) processors that meet the above macOS requirements:
- MacBook Pro (Early 2015 and newer)
- MacBook Air (Early 2015 and newer)
@@ -96,9 +96,9 @@ Zed supports machines with Intel (x86_64) or Apple (aarch64) processors that mee
### Linux
Zed supports 64-bit Intel/AMD (x86_64) and 64-bit Arm (aarch64) processors.
Gwen supports 64-bit Intel/AMD (x86_64) and 64-bit Arm (aarch64) processors.
Zed requires a Vulkan 1.3 driver and the following desktop portals:
Gwen requires a Vulkan 1.3 driver and the following desktop portals:
- `org.freedesktop.portal.FileChooser`
- `org.freedesktop.portal.OpenURI`
@@ -106,17 +106,17 @@ Zed requires a Vulkan 1.3 driver and the following desktop portals:
### Windows
Zed supports the following Windows releases:
| Version | Zed Status |
Gwen supports the following Windows releases:
| Version | Gwen Status |
| ------------------------- | ------------------- |
| Windows 11, version 22H2 and later | Supported |
| Windows 10, version 1903 and later | Supported |
A 64-bit operating system is required to run Zed.
A 64-bit operating system is required to run Gwen.
#### Windows Hardware
Zed supports machines with x64 (Intel, AMD) or Arm64 (Qualcomm) processors that meet the following requirements:
Gwen supports machines with x64 (Intel, AMD) or Arm64 (Qualcomm) processors that meet the following requirements:
- Graphics: A GPU that supports DirectX 11 (most PCs from 2012+).
- Driver: Current NVIDIA/AMD/Intel/Qualcomm driver (not the Microsoft Basic Display Adapter).
+26 -26
View File
@@ -1,18 +1,18 @@
---
title: Key Bindings and Shortcuts - Zed
description: Customize Zed's keyboard shortcuts. Rebind actions, create key sequences, and set context-specific bindings.
title: Key Bindings and Shortcuts - Gwen
description: Customize Gwen's keyboard shortcuts. Rebind actions, create key sequences, and set context-specific bindings.
---
# Key bindings
Zed's key binding system is fully customizable. You can rebind any action, create key sequences, and define context-specific bindings.
Gwen's key binding system is fully customizable. You can rebind any action, create key sequences, and define context-specific bindings.
## Predefined Keymaps
If you're used to a specific editor's defaults, you can change your `base_keymap` through the settings window ({#kb zed::OpenSettings}) or directly through your `settings.json` file ({#kb zed::OpenSettingsFile}).
We currently support:
- Zed (default)
- Gwen (default)
- VS Code
- Atom
- Emacs (Beta)
@@ -31,7 +31,7 @@ For more information, see the documentation for [Vim mode](./vim.md) and [Helix
You can access the keymap editor through the {#kb zed::OpenKeymap} action or by running {#action zed::OpenKeymap} action from the [command palette](./command-palette.md). You can easily add or change a keybind for an action with the `Change Keybinding` or `Add Keybinding` button on the command palette's left bottom corner.
In there, you can see all of the existing actions in Zed as well as the associated keybindings set to them by default.
In there, you can see all of the existing actions in Gwen as well as the associated keybindings set to them by default.
You can also customize them right from there, either by clicking on the pencil icon that appears when you hover over a particular action, by double-clicking on the action row, or by pressing the `enter` key.
@@ -41,8 +41,8 @@ Anything that you end up doing on the keymap editor also gets reflected on the `
The keymap file is stored in the following locations for each platform:
- macOS/Linux: `~/.config/zed/keymap.json`
- Windows: `~\AppData\Roaming\Zed/keymap.json`
- macOS/Linux: `~/.config/gwen/keymap.json`
- Windows: `~\AppData\Roaming\Gwen/keymap.json`
You can open the keymap with the {#action zed::OpenKeymapFile} action from the command palette.
@@ -74,7 +74,7 @@ For example:
]
```
You can see all of Zed's default bindings for each platform in the default keymaps files:
You can see all of Gwen's default bindings for each platform in the default keymaps files:
- [macOS](https://github.com/zed-industries/zed/blob/main/assets/keymaps/default-macos.json)
- [Windows](https://github.com/zed-industries/zed/blob/main/assets/keymaps/default-windows.json)
@@ -85,7 +85,7 @@ Please file [an issue](https://github.com/zed-industries/zed) if you run into so
### Keybinding Syntax
Zed has the ability to match against not just a single keypress, but a sequence of keys typed in order. Each key in the `"bindings"` map is a sequence of keypresses separated with a space.
Gwen has the ability to match against not just a single keypress, but a sequence of keys typed in order. Each key in the `"bindings"` map is a sequence of keypresses separated with a space.
Each keypress is a sequence of modifiers followed by a key. The modifiers are:
@@ -94,7 +94,7 @@ Each keypress is a sequence of modifiers followed by a key. The modifiers are:
- `alt-` for alt (option on macOS)
- `shift-` The shift key
- `fn-` The function key
- `secondary-` Equivalent to `cmd` when Zed is running on macOS and `ctrl` when on Windows and Linux
- `secondary-` Equivalent to `cmd` when Gwen is running on macOS and `ctrl` when on Windows and Linux
The keys can be any single Unicode codepoint that your keyboard generates (for example `a`, `0`, `£` or `ç`), or any named key (`tab`, `f1`, `shift`, or `cmd`). If you are using a non-Latin layout (e.g. Cyrillic), you can bind either to the Cyrillic character or the Latin character that key generates with `cmd` pressed.
@@ -113,15 +113,15 @@ A few examples:
The `shift-` modifier can only be used in combination with a letter to indicate the uppercase version. For example, `shift-g` matches typing `G`. Although on many keyboards shift is used to type punctuation characters like `(`, the keypress is not considered to be modified, and so `shift-(` does not match.
The `alt-` modifier can be used on many layouts to generate a different key. For example, on a macOS US keyboard, the combination `alt-c` types `ç`. You can match against either in your keymap file, though by convention, Zed spells this combination as `alt-c`.
The `alt-` modifier can be used on many layouts to generate a different key. For example, on a macOS US keyboard, the combination `alt-c` types `ç`. You can match against either in your keymap file, though by convention, Gwen spells this combination as `alt-c`.
It is possible to match against typing a modifier key on its own. For example, `shift shift` can be used to implement JetBrains' 'Search Everywhere' shortcut. In this case, the binding happens on key release instead of on keypress.
### Contexts
If a binding group has a `"context"` key, it will be matched against the currently active contexts in Zed.
If a binding group has a `"context"` key, it will be matched against the currently active contexts in Gwen.
Zed's contexts make up a tree, with the root being `Workspace`. Workspaces contain Panes and Panels, and Panes contain Editors, etc. The easiest way to see what contexts are active at a given moment is the key context view, which you can get to with the {#action dev::OpenKeyContextView} command in the command palette.
Gwen's contexts make up a tree, with the root being `Workspace`. Workspaces contain Panes and Panels, and Panes contain Editors, etc. The easiest way to see what contexts are active at a given moment is the key context view, which you can get to with the {#action dev::OpenKeyContextView} command in the command palette.
For example:
@@ -153,14 +153,14 @@ For example:
It's worth noting that attributes are only available on the node they are defined on. This means that if you want to (for example) only enable a keybinding when the debugger is stopped in vim normal mode, you need to do `debugger_stopped > vim_mode == normal`.
> Note: Before Zed v0.197.x, the `!` operator only looked at one node at a time, and `>` meant "parent" not "ancestor". This meant that `!Editor` would match the context `Workspace > Pane > Editor`, because (confusingly) the Pane matches `!Editor`, and that `os == macos > Editor` did not match the context `Workspace > Pane > Editor` because of the intermediate `Pane` node.
> Note: Before Gwen v0.197.x, the `!` operator only looked at one node at a time, and `>` meant "parent" not "ancestor". This meant that `!Editor` would match the context `Workspace > Pane > Editor`, because (confusingly) the Pane matches `!Editor`, and that `os == macos > Editor` did not match the context `Workspace > Pane > Editor` because of the intermediate `Pane` node.
If you're using Vim mode, we have information on how [vim modes influence the context](./vim.md#contexts). Helix mode is built on top of Vim mode and uses the same contexts.
### Actions
Almost all of Zed's functionality is exposed as actions.
Although there is no explicitly documented list, you can find most of them by searching in the command palette, by looking in the default keymaps for [macOS](https://github.com/zed-industries/zed/blob/main/assets/keymaps/default-macos.json), [Windows](https://github.com/zed-industries/zed/blob/main/assets/keymaps/default-windows.json) or [Linux](https://github.com/zed-industries/zed/blob/main/assets/keymaps/default-linux.json), or by using Zed's autocomplete in your keymap file.
Almost all of Gwen's functionality is exposed as actions.
Although there is no explicitly documented list, you can find most of them by searching in the command palette, by looking in the default keymaps for [macOS](https://github.com/zed-industries/zed/blob/main/assets/keymaps/default-macos.json), [Windows](https://github.com/zed-industries/zed/blob/main/assets/keymaps/default-windows.json) or [Linux](https://github.com/zed-industries/zed/blob/main/assets/keymaps/default-linux.json), or by using Gwen's autocomplete in your keymap file.
Most actions do not require any arguments, and so you can bind them as strings: `"ctrl-a": "language_selector::Toggle"`. Some require a single argument and must be bound as an array: `"cmd-1": ["workspace::ActivatePane", 0]`. Some actions require multiple arguments and are bound as an array of a string and an object: `"ctrl-a": ["pane::DeploySearch", { "replace_enabled": true }]`.
@@ -173,9 +173,9 @@ When multiple keybindings have the same keystroke and are active at the same tim
The other kind of conflict that arises is when you have two bindings, one of which is a prefix of the other. For example, if you have `"ctrl-w":"editor::DeleteToNextWordEnd"` and `"ctrl-w left":"editor::DeleteToEndOfLine"`.
When this happens, and both bindings are active in the current context, Zed will wait for 1 second after you type `ctrl-w` to see if you're about to type `left`. If you don't type anything, or if you type a different key, then `DeleteToNextWordEnd` will be triggered. If you do, then `DeleteToEndOfLine` will be triggered.
When this happens, and both bindings are active in the current context, Gwen will wait for 1 second after you type `ctrl-w` to see if you're about to type `left`. If you don't type anything, or if you type a different key, then `DeleteToNextWordEnd` will be triggered. If you do, then `DeleteToEndOfLine` will be triggered.
Zed can also wait before inserting printable text when it might begin a multi-stroke binding. For example, with a `j k` binding, typing `j` waits briefly for `k`; otherwise, `j` is inserted after the timeout.
Gwen can also wait before inserting printable text when it might begin a multi-stroke binding. For example, with a `j k` binding, typing `j` waits briefly for `k`; otherwise, `j` is inserted after the timeout.
Whenever multi-stroke input is pending, an indicator with the pending keystrokes is shown in the status bar. Hovering it lists the bindings that could still match. If the input has a timeout, the indicator also shows a countdown, and hovering pauses the timeout so you can read the bindings. The timeout resumes with the same remaining duration when the pointer leaves. Without a timeout, the pending keystrokes are shown without a countdown. The indicator can be hidden with `{"status_bar": {"pending_keystrokes_indicator": false}}`. Vim and Helix modes continue to use their existing pending-key indicator instead.
@@ -192,11 +192,11 @@ popover is disabled. Or add this to your settings.json:
}
```
Set `which_key.delay_ms` to change how long Zed waits before opening the menu.
Set `which_key.delay_ms` to change how long Gwen waits before opening the menu.
### Non-QWERTY keyboards
Zed's support for non-QWERTY keyboards is still a work in progress.
Gwen's support for non-QWERTY keyboards is still a work in progress.
If your keyboard can type the full ASCII range (DVORAK, COLEMAK, etc.), then shortcuts should work as you expect.
@@ -204,7 +204,7 @@ Otherwise, read on...
#### macOS
On Cyrillic, Hebrew, Armenian, and other keyboards that are mostly non-ASCII, macOS automatically maps keys to the ASCII range when `cmd` is held. Zed takes this a step further, and it can always match key-presses against either the ASCII layout or the real layout, regardless of modifiers and the `use_key_equivalents` setting. For example, in Thai, pressing `ctrl-ๆ` will match bindings associated with `ctrl-q` or `ctrl-ๆ`.
On Cyrillic, Hebrew, Armenian, and other keyboards that are mostly non-ASCII, macOS automatically maps keys to the ASCII range when `cmd` is held. Gwen takes this a step further, and it can always match key-presses against either the ASCII layout or the real layout, regardless of modifiers and the `use_key_equivalents` setting. For example, in Thai, pressing `ctrl-ๆ` will match bindings associated with `ctrl-q` or `ctrl-ๆ`.
On keyboards that support extended Latin alphabets (French AZERTY, German QWERTZ, etc.), it is often not possible to type the entire ASCII range without `option`. This introduces an ambiguity: `option-2` produces `@`. To ensure that all the built-in keyboard shortcuts can still be typed on these keyboards, we move key bindings around. For example, shortcuts bound to `@` on QWERTY are moved to `"` on a Spanish layout. This mapping is based on the macOS system defaults and can be seen by running {#action dev::OpenKeyContextView} from the command palette.
@@ -249,7 +249,7 @@ the sequence, or if you want to disable multikey bindings starting with that key
A `null` binding follows the same precedence rules as normal actions, so it disables all bindings that would match further up in the tree too. If you'd like a binding that matches further up in the tree to take precedence over a lower binding, you need to rebind it to the action you want in the context you want.
This is useful for preventing Zed from falling back to a default key binding when the action you specified is conditional and propagates. For example, `buffer_search::DeployReplace` only triggers when the search bar is not in view. If the search bar is in view, it would propagate and trigger the default action set for that key binding, such as opening the right dock. To prevent this from happening:
This is useful for preventing Gwen from falling back to a default key binding when the action you specified is conditional and propagates. For example, `buffer_search::DeployReplace` only triggers when the search bar is not in view. If the search bar is in view, it would propagate and trigger the default action set for that key binding, such as opening the right dock. To prevent this from happening:
```json [keymap]
[
@@ -307,9 +307,9 @@ If the argument to `SendKeystrokes` contains the binding used to trigger it, it
### Forward keys to terminal
If you're on Linux or Windows, you might find yourself wanting to forward key combinations to the built-in terminal instead of them being handled by Zed.
If you're on Linux or Windows, you might find yourself wanting to forward key combinations to the built-in terminal instead of them being handled by Gwen.
For example, `ctrl-n` creates a new tab in Zed on Linux. If you want to send `ctrl-n` to the built-in terminal when it's focused, add the following to your keymap:
For example, `ctrl-n` creates a new tab in Gwen on Linux. If you want to send `ctrl-n` to the built-in terminal when it's focused, add the following to your keymap:
```json [keymap]
{
@@ -322,12 +322,12 @@ For example, `ctrl-n` creates a new tab in Zed on Linux. If you want to send `ct
### Task Key bindings
You can also bind keys to launch Zed Tasks defined in your `tasks.json`.
You can also bind keys to launch Gwen Tasks defined in your `tasks.json`.
See the [tasks documentation](tasks.md#custom-keybindings-for-tasks) for more.
### Subword Navigation
Zed exposes word and subword motions as separate actions. Word motions stop at whitespace and punctuation boundaries, while subword motions also stop inside identifiers such as `camelCase`, `PascalCase`, and `snake_case`.
Gwen exposes word and subword motions as separate actions. Word motions stop at whitespace and punctuation boundaries, while subword motions also stop inside identifiers such as `camelCase`, `PascalCase`, and `snake_case`.
The JetBrains base keymap uses editor-local `alt-left` / `alt-right` and `shift-alt-left` / `shift-alt-right` for subword navigation to match JetBrains-style CamelHump navigation. If you use another base keymap and want that behavior, add this to your `keymap.json`:
Loaded 100 of 209 files, more files were not shown because too many files have changed in this diff. Show more