Find a file
Ben Brandt 2e794a1ea7
agent: Report native subagent state like ACP subagents (#66255)
Stacked on #66252. This is the first of three steps that move native
subagents onto the ACP subagent path. Native cards look the same after
this PR. What changes is where their status can come from, which step 2
needs once `spawn_agent` stops showing a tool call.

**Association.** Native subagent sessions now get a
`SubagentAssociation`, like ACP subagents: the label is its title, and
cancel is allowed. A reloaded subagent gets one too.

**Outcomes.** A native run already reports `running` and `idle`, but its
idle state only says how the model stopped. When a `spawn_agent` run
ends, `NativeSubagentHandle::send` now reports the run's verdict as
another idle state, with the same stop reason and error text that the
tool call gets:
- A run stopped near the context limit reports a failure with that
message, not `cancelled`. The handle now also waits for the run to
finish before reporting.
- A run that ends without a reply reports a failure.
- An idle report with no entries since the previous one now restates
that outcome instead of adding another. This also applies to ACP
subagents.

**Saved and restored.** Each outcome is saved in the subagent's
`SubagentContext`, with the transcript length when the run ended. It's
skipped when empty, so threads without outcomes save exactly as before.
After `open_thread` replays a subagent, the native agent restores its
outcomes. The last one becomes the current state unless entries followed
it, as when Zed quit mid-run.

**Cards.** A finished subagent tool call's card uses its run's recorded
outcome when there is one, and the tool call's status otherwise. That
keeps threads saved before this change, and subagents of external agents
that use `_meta.subagent_session_info`, exactly as before. A running
card still reads its tool call, so a new run never briefly shows the
previous run's outcome. The subagent titlebar uses the reported state
only once some has been received.

Release Notes:

- N/A
2026-10-28 15:58:41 +00:00
.agents/skills gpui: Add seeded benchmarks and heap allocation metrics (#64843) 2026-09-28 13:02:30 +00:00
.cargo Require macOS 12 and SDK 26 (#65994) 2026-10-26 11:20:07 +00:00
.cloudflare Improve docs AI readiness (#59577) 2026-07-08 20:54:51 +00:00
.config Automate cleanup of non-responsive PRs (#65930) 2026-10-21 16:33:41 +00:00
.factory/skills Cleanup unused workflows and script files (#66024) 2026-10-23 09:30:55 +00:00
.github Require macOS 12 and SDK 26 (#65994) 2026-10-26 11:20:07 +00:00
.wezel wezel: Use bundle-linux for size measurements (#65234) 2026-10-06 11:30:37 +00:00
.zed Move some configuration files out of the repository root (#64303) 2026-09-16 14:08:49 +00:00
assets icons: Add SquareR icon (#66168) 2026-10-26 13:46:57 +00:00
ci Move Nightly release to gh-workflow (#41349) 2025-10-28 13:57:23 -06:00
crates agent: Report native subagent state like ACP subagents (#66255) 2026-10-28 15:58:41 +00:00
docs Require macOS 12 and SDK 26 (#65994) 2026-10-26 11:20:07 +00:00
extensions Fix broken links and stale content in docs (#65490) 2026-10-13 10:34:19 +00:00
legal legal: Use absolute URLs for Terms of Service and Privacy Policy links (#62684) 2026-08-17 09:35:54 +00:00
nix Require macOS 12 and SDK 26 (#65994) 2026-10-26 11:20:07 +00:00
script Require macOS 12 and SDK 26 (#65994) 2026-10-26 11:20:07 +00:00
tooling Require macOS 12 and SDK 26 (#65994) 2026-10-26 11:20:07 +00:00
.git-blame-ignore-revs Add PR 50413 to .git-blame-ignore-revs (#50421) 2026-03-01 00:50:33 +01:00
.gitattributes windows: Make sure zed.sh using the correct line ending (#37650) 2025-09-05 16:25:55 +00:00
.gitignore Add .agents folder to .gitignore (#57857) 2026-10-22 05:59:32 +00:00
.mailmap Update .mailmap (#47413) 2026-01-22 23:57:26 +05:30
.prettierrc
.rules gpui: Add bench_metrics for multi-metric Criterion benchmarks (#64753) 2026-09-27 17:37:29 +00:00
AGENTS.md ai: Symlink an AGENTS.md file to .rules (#45939) 2026-01-19 15:29:42 +01:00
Cargo.lock Bump Zed to v1.28.0 (#66253) 2026-10-28 14:31:37 +00:00
Cargo.toml Update agent-client-protocol to 3.6.0 (schema 1.13) (#66245) 2026-10-28 12:48:20 +00:00
CLAUDE.md
clippy.toml Revert "Revert scheduler update (#46659)" (#46671) 2026-01-14 07:19:13 +00:00
CODE_OF_CONDUCT.md
compose.yml Move some configuration files out of the repository root (#64303) 2026-09-16 14:08:49 +00:00
CONTRIBUTING.md Improve contribution guidelines and experience (#64296) 2026-09-25 15:42:49 +00:00
corgi.toml agent: Remove checkpoints (#65989) 2026-10-26 10:10:32 +00:00
default.nix nix: Use flake-parts, partitions, and treefmt-nix (#45321) 2026-02-02 14:26:42 +00:00
Dockerfile-collab Bump Rust to 1.98.1 (#63010) 2026-09-11 09:13:44 +00:00
Dockerfile-collab.dockerignore
Dockerfile-cross.dockerignore
Dockerfile-distros Removal of mold/wild scripts and mentions in docs (#53078) 2026-04-08 21:20:02 +03:00
Dockerfile-distros.dockerignore
flake.lock Update nixpkgs and use its WebRTC package (#65203) 2026-10-05 21:03:45 +00:00
flake.nix ci: Remove garnix substitutor (#58033) 2026-05-29 05:56:42 +00:00
GEMINI.md Add missing GEMINI.md rule file for gemini-cli (#38885) 2025-10-02 09:47:29 -04:00
LICENSE-APACHE
LICENSE-GPL
Procfile Update instructions for local collaboration (#35689) 2025-08-06 11:10:28 -07:00
Procfile.web Remove PostgREST (#41299) 2025-10-27 13:27:59 -04:00
README.md markdown: Restore fallback language highlighting for untagged code blocks (#63023) 2026-08-21 16:00:50 +00:00
rust-toolchain.toml Bump Rust to 1.98.1 (#63010) 2026-09-11 09:13:44 +00:00
rustfmt.toml nix: Use flake-parts, partitions, and treefmt-nix (#45321) 2026-02-02 14:26:42 +00:00
shell.nix nix: Use flake-parts, partitions, and treefmt-nix (#45321) 2026-02-02 14:26:42 +00:00

Zed

Zed CI

Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.


Installation

On macOS, Linux, and Windows you can download Zed directly or install Zed via your local package manager (macOS/Linux/Windows).

Other platforms are not yet available:

Developing Zed

Contributing

See CONTRIBUTING.md for ways you can contribute to Zed.

Also... we're hiring! Check out our jobs page for open roles.

Licensing

Zed source code is licensed primarily under GPL-3.0-or-later, with Apache-2.0 components where marked.

License information for third party dependencies must be correctly provided for CI to pass.

We use cargo-about to automatically comply with open source licenses. If CI is failing, check the following:

  • Is it showing a no license specified error for a crate you've created? If so, add publish = false under [package] in your crate's Cargo.toml.
  • Is the error failed to satisfy license requirements for a dependency? If so, first determine what license the project has and whether this system is sufficient to comply with this license's requirements. If you're unsure, ask a lawyer. Once you've verified that this system is acceptable add the license's SPDX identifier to the accepted array in script/licenses/zed-licenses.toml.
  • Is cargo-about unable to find the license for a dependency? If so, add a clarification field at the end of script/licenses/zed-licenses.toml, as specified in the cargo-about book.

Sponsorship

Zed is developed by Zed Industries, Inc., a for-profit company.

If you’d like to financially support the project, you can do so via GitHub Sponsors. Sponsorships go directly to Zed Industries and are used as general company revenue. There are no perks or entitlements associated with sponsorship.