Copilot CLI unter Windows: tools/wikitool doctor öffnet „App auswählen“ statt wikitool.ps1 zu starten #167

Open
opened 2026-10-02 14:07:04 +00:00 by torben · 4 comments
Owner

Befund aus der Handprüfung von #164 auf dem Windows-Zielsystem (Betreiber, 2026-10-02). Gehört zu #140 (D15).

Stand (2026-10-13): Der Dialog tritt auch in einem sauberen Klon auf. Hypothese 1 (Execution Policy, Markierung) ist damit ausgeschlossen, Hypothese 3 (unvollständiger Klon) ebenso. Der Dialog kommt aber nur sporadisch, er erscheint im Hintergrund, und der Betreiber hat keine Blockade bemerkt. Einen Auslöser, der ihn zuverlässig hervorruft, gibt es noch nicht. Darum bleibt das Issue prio/waiting (Auslöser: ein reproduzierbarer Fall, siehe „Nächster Schritt“) und nicht prio/blocking, wie der ursprüngliche Ausgang es für diesen Fall vorgesehen hatte.

Beobachtet

2026-10-02, Checkout auf 8.0.0-beta.22:

  • In Copilot CLI (pwsh 7) öffnete tools/wikitool doctor den Windows-Dialog „App auswählen“ für die Datei wikitool ohne Endung, also für den sh-Starter. Der Agent wich danach auf wikitool.ps1 aus und lief in die Execution Policy; der Klon war damals vermutlich nicht korrekt aufgesetzt.
  • In Claude Code (Git Bash) lief tools/wikitool doctor im selben Checkout.
  • In Copilot in VS Code startete der Agent den Preflight mit prozessweitem Bypass.
  • Die Hooks liefen ohne Dialog über tools/trace-hook.ps1 (#164).

2026-10-13, Arbeitsinstanz nach dem Update auf 10.0.0, Copilot CLI (GPT 6 Luna):

  • Der Klon ist sauber: Get-ExecutionPolicy -List → LocalMachine RemoteSigned, sonst Undefined (Process RemoteSigned durch die aktivierte venv); Get-Item tools\wikitool.ps1 -Stream Zone.Identifier → kein Datenstrom. Der Bugreport-Sammler meldet mark_of_the_web: [], doctor meldet execution-policy und script-marks OK.
  • Der Dialog „App auswählen“ für wikitool erschien während Update, Migration und Backup-Einrichtung mehrfach, jeweils im Hintergrund; der Betreiber hat ihn weggeklickt.
  • Laut der Chronologie im Bugreport lief der erste Aufruf tools/wikitool migrate status über zwei Minuten ohne Ausgabe und wurde abgebrochen; er steht nicht im Trace (Python ist also nie gestartet). Danach rief der Agent & .\tools\wikitool.ps1 … auf. Später in derselben Instanz liefen Aufrufe der Form tools/wikitool xref add … wieder. Ob der Hänger und der Dialog zusammengehören, ist nicht belegt.
  • In der Umgebung von Copilot CLI ist NODEFAULTCURRENTDIRECTORYINEXEPATH gesetzt (Variablenname im Bugreport). Ob das die Auflösung von tools/wikitool in pwsh beeinflusst, ist ungeprüft – eine Spur, keine Ursache.

Warum das auffällt

Nach T1 (#140) löst pwsh 7 unter Windows tools/x zuerst auf x.ps1 auf, vor .cmd und vor der Datei ohne Endung. In der Handprüfung von #151 (2026-10-01) lief tools/wikitool auf diesem Rechner auch genau so. Wenn jetzt die Datei ohne Endung gestartet wird, hat pwsh – oder der Prozess, den Copilot CLI dafür startet – die .ps1 nicht genommen.

Hypothesen

  1. Die Execution Policy oder eine Markierung sperrt .ps1 in diesem Klon. Ausgeschlossen am 2026-10-13 (sauberer Klon, Dialog bleibt).
  2. Copilot CLI ruft den Befehl anders auf als eine interaktive pwsh – mit anderer Umgebung (NODEFAULTCURRENTDIRECTORYINEXEPATH, PATHEXT), über einen Start, der die Dateizuordnung nutzt, oder nur in bestimmten Formen des Befehls (etwa mit vorangestellter Zuweisung $env:WIKITOOL_SESSION_ID = …;). Offen, welche.
  3. Der Klon ist nicht vollständig auf dem Stand. Ausgeschlossen am 2026-10-13.

Nächster Schritt (Auslöser für die Weiterarbeit)

In Copilot CLI vom Agenten ausführen lassen und zum Vergleich direkt in einer pwsh im selben Checkout:

Get-Command tools/wikitool -All | Format-List Name,CommandType,Source
$env:PATHEXT; $env:NODEFAULTCURRENTDIRECTORYINEXEPATH

Und beim nächsten Erscheinen des Dialogs festhalten, welcher Befehl gerade lief (Copilot zeigt ihn im Verlauf an). Mit einem Befehl, der den Dialog zuverlässig auslöst, geht das Issue an stack-dev.

Ausgang

  • Eine Befehlsform oder Umgebungsvariable löst den Dialog reproduzierbar aus: echter Defekt am Launcher-Muster D15 unter Copilot CLI. Das Design entscheidet zwischen einer Änderung am Launcher (z. B. die Datei ohne Endung so, dass Windows sie nicht per Dateizuordnung startet) und einer Anweisung an den Agenten (instructions/preflight.md/session-setup.md: unter pwsh immer tools/wikitool.ps1). Patch auf 10.0.0.
  • Nicht reproduzierbar, und es bleibt folgenlos: schließen mit Begründung; INSTALL.md nennt den Dialog als bekanntes Symptom unter Copilot CLI, das man wegklicken kann.
Befund aus der Handprüfung von #164 auf dem Windows-Zielsystem (Betreiber, 2026-10-02). Gehört zu #140 (D15). **Stand (2026-10-13):** Der Dialog tritt auch in einem **sauberen Klon** auf. Hypothese 1 (Execution Policy, Markierung) ist damit ausgeschlossen, Hypothese 3 (unvollständiger Klon) ebenso. Der Dialog kommt aber nur **sporadisch**, er erscheint im Hintergrund, und der Betreiber hat keine Blockade bemerkt. Einen Auslöser, der ihn zuverlässig hervorruft, gibt es noch nicht. Darum bleibt das Issue `prio/waiting` (Auslöser: ein reproduzierbarer Fall, siehe „Nächster Schritt“) und nicht `prio/blocking`, wie der ursprüngliche Ausgang es für diesen Fall vorgesehen hatte. ## Beobachtet **2026-10-02**, Checkout auf 8.0.0-beta.22: - In **Copilot CLI** (pwsh 7) öffnete `tools/wikitool doctor` den Windows-Dialog „App auswählen“ für die Datei `wikitool` ohne Endung, also für den sh-Starter. Der Agent wich danach auf `wikitool.ps1` aus und lief in die Execution Policy; der Klon war damals vermutlich nicht korrekt aufgesetzt. - In **Claude Code** (Git Bash) lief `tools/wikitool doctor` im selben Checkout. - In **Copilot in VS Code** startete der Agent den Preflight mit prozessweitem Bypass. - Die Hooks liefen ohne Dialog über `tools/trace-hook.ps1` (#164). **2026-10-13**, Arbeitsinstanz nach dem Update auf 10.0.0, Copilot CLI (GPT 6 Luna): - Der Klon ist sauber: `Get-ExecutionPolicy -List` → `LocalMachine RemoteSigned`, sonst `Undefined` (Process `RemoteSigned` durch die aktivierte venv); `Get-Item tools\wikitool.ps1 -Stream Zone.Identifier` → kein Datenstrom. Der Bugreport-Sammler meldet `mark_of_the_web: []`, `doctor` meldet `execution-policy` und `script-marks` OK. - Der Dialog „App auswählen“ für `wikitool` erschien während Update, Migration und Backup-Einrichtung **mehrfach**, jeweils im Hintergrund; der Betreiber hat ihn weggeklickt. - Laut der Chronologie im Bugreport lief der erste Aufruf `tools/wikitool migrate status` über zwei Minuten ohne Ausgabe und wurde abgebrochen; er steht nicht im Trace (Python ist also nie gestartet). Danach rief der Agent `& .\tools\wikitool.ps1 …` auf. Später in derselben Instanz liefen Aufrufe der Form `tools/wikitool xref add …` wieder. **Ob der Hänger und der Dialog zusammengehören, ist nicht belegt.** - In der Umgebung von Copilot CLI ist `NODEFAULTCURRENTDIRECTORYINEXEPATH` gesetzt (Variablenname im Bugreport). Ob das die Auflösung von `tools/wikitool` in pwsh beeinflusst, ist ungeprüft – eine Spur, keine Ursache. ## Warum das auffällt Nach T1 (#140) löst pwsh 7 unter Windows `tools/x` zuerst auf `x.ps1` auf, vor `.cmd` und vor der Datei ohne Endung. In der Handprüfung von #151 (2026-10-01) lief `tools/wikitool` auf diesem Rechner auch genau so. Wenn jetzt die Datei ohne Endung gestartet wird, hat pwsh – oder der Prozess, den Copilot CLI dafür startet – die `.ps1` nicht genommen. ## Hypothesen 1. ~~Die Execution Policy oder eine Markierung sperrt `.ps1` in diesem Klon.~~ Ausgeschlossen am 2026-10-13 (sauberer Klon, Dialog bleibt). 2. **Copilot CLI ruft den Befehl anders auf als eine interaktive pwsh** – mit anderer Umgebung (`NODEFAULTCURRENTDIRECTORYINEXEPATH`, `PATHEXT`), über einen Start, der die Dateizuordnung nutzt, oder nur in bestimmten Formen des Befehls (etwa mit vorangestellter Zuweisung `$env:WIKITOOL_SESSION_ID = …;`). Offen, welche. 3. ~~Der Klon ist nicht vollständig auf dem Stand.~~ Ausgeschlossen am 2026-10-13. ## Nächster Schritt (Auslöser für die Weiterarbeit) In Copilot CLI vom Agenten ausführen lassen und zum Vergleich direkt in einer pwsh im selben Checkout: ```powershell Get-Command tools/wikitool -All | Format-List Name,CommandType,Source $env:PATHEXT; $env:NODEFAULTCURRENTDIRECTORYINEXEPATH ``` Und beim nächsten Erscheinen des Dialogs festhalten, welcher Befehl gerade lief (Copilot zeigt ihn im Verlauf an). Mit einem Befehl, der den Dialog zuverlässig auslöst, geht das Issue an `stack-dev`. ## Ausgang - **Eine Befehlsform oder Umgebungsvariable löst den Dialog reproduzierbar aus:** echter Defekt am Launcher-Muster D15 unter Copilot CLI. Das Design entscheidet zwischen einer Änderung am Launcher (z. B. die Datei ohne Endung so, dass Windows sie nicht per Dateizuordnung startet) und einer Anweisung an den Agenten (`instructions/preflight.md`/`session-setup.md`: unter pwsh immer `tools/wikitool.ps1`). Patch auf 10.0.0. - **Nicht reproduzierbar, und es bleibt folgenlos:** schließen mit Begründung; `INSTALL.md` nennt den Dialog als bekanntes Symptom unter Copilot CLI, das man wegklicken kann.
torben added the prio/plannedsize/Sarea/distributionkind/defectstatus/unconfirmed labels 2026-10-02 14:07:04 +00:00
torben added prio/waiting and removed prio/planned labels 2026-10-02 14:13:13 +00:00
Author
Owner

Changelog (2026-10-02): Der Betreiber schätzt die Ursache als lokale Konfiguration von Copilot CLI ein und testet später. Neu gelabelt: prio/planned → prio/waiting; der Auslöser ist dieser Test. Bis dahin ist das Issue keine Freigabebedingung für 8.0.0.

Neue Beobachtung, passend zu Hypothese 1: Auch der Agent in Copilot in VS Code startete im selben Checkout den Preflight über pwsh -NoProfile -ExecutionPolicy Bypass -File tools/preflight.ps1, also mit prozessweitem Bypass.

**Changelog (2026-10-02):** Der Betreiber schätzt die Ursache als lokale Konfiguration von Copilot CLI ein und testet später. Neu gelabelt: `prio/planned` → `prio/waiting`; der Auslöser ist dieser Test. Bis dahin ist das Issue keine Freigabebedingung für 8.0.0. Neue Beobachtung, passend zu Hypothese 1: Auch der Agent in Copilot in VS Code startete im selben Checkout den Preflight über `pwsh -NoProfile -ExecutionPolicy Bypass -File tools/preflight.ps1`, also mit prozessweitem Bypass.
torben removed the status/unconfirmed label 2026-10-13 11:53:38 +00:00
Author
Owner

Changelog: Prüfung von Hand am 2026-10-13 (Arbeitsinstanz, 10.0.0, Copilot CLI) eingetragen. Der Klon ist sauber, und der Dialog erscheint trotzdem sporadisch, deshalb sind Hypothese 1 und 3 gestrichen. Neu sind der Hänger beim ersten tools/wikitool migrate status (laut Bugreport-Chronologie; ob er dazugehört, ist offen) und die Spur NODEFAULTCURRENTDIRECTORYINEXEPATH. status/unconfirmed ist entfernt, weil der Dialog in einem sauberen Klon bestätigt ist. prio/waiting bleibt nach der Einschätzung des Betreibers (nichts blockiert, nicht zuverlässig auslösbar), mit dem Auslöser „reproduzierbarer Fall“ und zwei Diagnosebefehlen.

**Changelog:** Prüfung von Hand am 2026-10-13 (Arbeitsinstanz, 10.0.0, Copilot CLI) eingetragen. Der Klon ist sauber, und der Dialog erscheint trotzdem sporadisch, deshalb sind Hypothese 1 und 3 gestrichen. Neu sind der Hänger beim ersten `tools/wikitool migrate status` (laut Bugreport-Chronologie; ob er dazugehört, ist offen) und die Spur `NODEFAULTCURRENTDIRECTORYINEXEPATH`. `status/unconfirmed` ist entfernt, weil der Dialog in einem sauberen Klon bestätigt ist. `prio/waiting` bleibt nach der Einschätzung des Betreibers (nichts blockiert, nicht zuverlässig auslösbar), mit dem Auslöser „reproduzierbarer Fall“ und zwei Diagnosebefehlen.
Author
Owner

Hinweis aus #228 (2026-10-20), keine Body-Änderung: Der Modellvergleich in #228 lässt die Copilot CLI unter Windows unbeaufsichtigt viele Ingest-Läufe in Wegwerf-Instanzen fahren. Jeder Lauf, der dort ins Zeitlimit läuft, wird als Harness-Abbruch mit Protokoll hier eingetragen. Das kann der reproduzierbare Fall werden, auf den dieses Issue wartet.

Hinweis aus #228 (2026-10-20), keine Body-Änderung: Der Modellvergleich in #228 lässt die Copilot CLI unter Windows unbeaufsichtigt viele Ingest-Läufe in Wegwerf-Instanzen fahren. Jeder Lauf, der dort ins Zeitlimit läuft, wird als Harness-Abbruch mit Protokoll hier eingetragen. Das kann der reproduzierbare Fall werden, auf den dieses Issue wartet.
Author
Owner

Nachtrag 2026-10-21: Die bezahlten Läufe des Ingest-Modellvergleichs laufen jetzt in #240, nicht mehr in #228 (#228 baut nur das Werkzeug). Harness-Abbrüche unter Windows werden von dort mit Protokoll hier eingetragen.

Nachtrag 2026-10-21: Die bezahlten Läufe des Ingest-Modellvergleichs laufen jetzt in #240, nicht mehr in #228 (#228 baut nur das Werkzeug). Harness-Abbrüche unter Windows werden von dort mit Protokoll hier eingetragen.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: torben/chemenu#167