# v0.35.2 — Leaner edit output, GUI-launch npm fixes, and a background-task leak fix

A focused patch: edit results are now a compact line instead of a JSON blob, auto-update and LSP install work when OpenCode is launched from the dock with a stripped PATH, and background `bash` no longer leaves zombie processes behind.

## Leaner edit output

`edit` now returns a single compact line — `Edited (+3/-1).`, `Edited (+2/-0, 2 replacements).`, or `Applied edits to 2 files.` — instead of the raw JSON envelope it used to hand the agent. The full diff still renders in the editor/TUI; the agent just gets the summary, which trims roughly 90 tokens off every edit, the most frequent operation. Rollbacks now say so in plain language, and both OpenCode and Pi return the same shape.

## Leaner `aft_search` output

`aft_search` results are tighter too. The redundant JSON dump that followed the formatted results is gone, results are ordered by relevance, and snippet detail now scales with rank — the top hit shows the most context, lower-ranked hits show less — so a search costs fewer tokens without losing the signal that matters.

## GUI-launch npm resolution

Launching OpenCode from the macOS dock (or any GUI) starts it with a stripped PATH that omits version-manager directories like mise, nvm, volta, and asdf. AFT's auto-updater and LSP auto-installer spawned a bare `npm`, which then failed — so the plugin could silently stay on an old version, or skip installing a language server. AFT now resolves `npm` from PATH, the active Node install, and the common version-manager locations before spawning. `doctor --fix` also repairs a plugin that fell behind because of this.

The auto-updater no longer removes the installed package before it has confirmed `npm` can reinstall it, so an interrupted update can't leave the plugin uninstalled.

## Background bash zombie fix

A background `bash` task that ran short-lived child commands (for example a quick `mv`) could leave the child as a zombie process after it exited. The task lifecycle now reaps the child on its terminal path, so background commands no longer accumulate defunct processes.

## Other fixes

- File tools (`read`, `write`, `edit`, `aft_outline`, `aft_zoom`) now expand a leading `~` in paths, matching the search tools — `~/Work/...` resolves to your home directory instead of being treated as a literal folder.
- The TUI sidebar now updates while a semantic index is building instead of appearing stuck, showing progress as it goes.

Join us on Discord: https://discord.gg/DSa65w8wuf
