All local agent server types were calling `local_directory_environment` with `paths::home_dir()`, causing direnv and shell environment to be loaded from `~` rather than the project's worktree directory. This meant project-specific `.envrc` variables (e.g. Google Vertex credentials) were never picked up by external agents like Claude. Added `default_environment()` on `ProjectEnvironment` that resolves the default visible worktree path and uses it for environment loading, falling back to home_dir() only when no worktree is available. Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Closes #ISSUE Release Notes: - Fixed default environment variable context for external agents
2 files changedLine totals unavailable