github / github/copilot-cli

Shell tool environment does not inherit user PATH - Nix-managed binaries unavailable in sessions

Abierto
#2,397 0 comentarios 0 reacciones 0 asignados Ver en GitHub
area:tools
Lenguaje dominante
Shell
Estrellas
11.2k
Forks
1.9k
Merge medio
14 h 16 min
PR fusionados (30 d)
6

Descripción

## 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)

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.