github / github/copilot-cli

Custom-dir AGENTS.md (COPILOT_CUSTOM_INSTRUCTIONS_DIRS) no longer injected globally as of 1.0.66

Ouverte
#3,987 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
area:configuration area:context-memory
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

### Describe the bug

#### Summary

A personal `AGENTS.md` placed in a directory listed in `COPILOT_CUSTOM_INSTRUCTIONS_DIRS` used to be injected globally into the system prompt (inside the `` block). As of 1.0.66 it is instead registered as a path-scoped "nested" instruction file, so its full body is no longer loaded into context at session start. It only loads if the file is later read, and it behaves as if scoped to its own directory subtree rather than applying globally.

This is a behavior change with no corresponding changelog entry.

#### Evidence

- Session logs: in a 1.0.65 session the file body is embedded in the base system prompt `` block (immediately after ``). In every 1.0.66 and 1.0.67 session the body is absent from the prompt and only the directory-scoped listing is present.
- Comparing published `@github/copilot-win32-x64` 1.0.65 vs 1.0.66: the JS instruction-collection code is effectively unchanged (only `@`-import expansion was added). The deciding logic is the native call `repoBuildNestedAgentsInstructionsTable`; `runtime.node` changed substantially between the two versions (about 39.6 MB to 46.5 MB), so the routing change is in compiled native code, not the JS bundle.

#### Impact

Users relying on `COPILOT_CUSTOM_INSTRUCTIONS_DIRS` to load personal, always-on instructions across all repos lose that behavior silently after updating. There is no documentation or changelog note describing the new scoping.

#### Requests

1. Confirm whether this change was intentional.
2. If intentional, document the scoping of `COPILOT_CUSTOM_INSTRUCTIONS_DIRS` (global vs path-scoped) and note it in the changelog.
3. Provide a supported way to load a personal, always-global instruction file from an arbitrary directory (for example, honoring a broad `applyTo` in a `.instructions.md`, or an inlined mode for custom dirs).

### Affected version

`1.0.66` and `1.0.67` (regressed from `1.0.65`, the last version with the old behavior).

### Steps to reproduce the behavior

1. Create a personal instructions file at `C:\path\to\personal\AGENTS.md` with recognizable content.
2. Set the env var: `COPILOT_CUSTOM_INSTRUCTIONS_DIRS=C:\path\to\personal`
3. Start a Copilot CLI session in an **unrelated** repository (not the one containing the personal dir).
4. Inspect the initial context / system prompt (for example via `/context` or the session events log).
5. Note that the personal `AGENTS.md` body is **not** present; only a directory-scoped listing entry appears.
6. Downgrade to `1.0.65` and repeat: the body is inlined into the `` block and applies globally.

### Expected behavior

The personal `AGENTS.md` from a `COPILOT_CUSTOM_INSTRUCTIONS_DIRS` directory should be loaded globally into the system prompt at session start and apply to the whole session, regardless of the current working directory or repo, as it did in `1.0.65`.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Reproduisez le comportement dans Copilot CLI 1.0.65 à 1.0.67 en suivant les étapes documentées de COPILOT_CUSTOM_INSTRUCTIONS_DIRS, puis examinez le code JS de collecte des instructions et le point d’entrée natif repoBuildNestedAgentsInstructionsTable. La tâche est considérée comme terminée lorsque le périmètre prévu est confirmé et que, si une modification est justifiée, l’implémentation ainsi que les mises à jour demandées de la documentation ou du changelog sont définies.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
node.js
Domaine
cli, developer-experience
Type d'issue
Bug
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.