Shell tool environment does not inherit user PATH - Nix-managed binaries unavailable in sessions
- Ngôn ngữ chính
- Shell
- Star
- 11.2k
- Fork
- 1.9k
- Merge trung bình
- 14 giờ 16 phút
- Pull request đã merge (30 ngày)
- 6
Mô tả
## Describe the bug
In worktree-backed sessions, the bash tool runs with a minimal PATH that does not include paths configured via `launchd.user.envVariables` or `/etc/profiles/per-user/$USER/bin`.
On macOS with Nix (nix-darwin + home-manager), binaries like `gh` are installed at `/etc/profiles/per-user/daniel/bin/gh` but are not reachable inside sessions. The shell only sees:
```
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
```
The `environment_context` block in sessions also documents this limitation explicitly:
```
Available tools: git, curl
```
There is currently no way to extend or configure additional paths for the session shell.
## Affected version
## Steps to reproduce the behavior
1. Install `gh` via Nix on macOS (nix-darwin + home-manager), binary lands at `/etc/profiles/per-user/$USER/bin/gh`
2. Open a Copilot CLI worktree session
3. Run `which gh` or `gh --version` in the bash tool
4. Command fails with `command not found`
## Expected behavior
The session shell should inherit the user's launchd environment PATH (set via `launchd.user.envVariables`), or provide a way to configure additional PATH entries (e.g. via `.copilot/config.json`).
## Additional context
- macOS aarch64 (Apple Silicon)
- Package manager: nix-darwin + home-manager
- `gh` present at `/etc/profiles/per-user/daniel/bin/gh`
- PATH is correctly set for all other GUI apps and terminals after `launchd.user.envVariables` is only Copilot CLI sessions are affectedconfigured
- Workaround: call binaries via absolute path (fragile, not documented)
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.