# v2.1.0-alpha.0 — Windows-safe agent spawn v2.1 "Reliability & secret safety" 라인을 실제 Windows 실행 버그 수정으로 엽니다. ## 수정 - **Windows agent spawn 신뢰성.** agent CLI를 이름으로 spawn할 때 npm-global 설치에서 Windows에서 실패했다: Node의 `shell:false` 조회는 `.exe`만 자동으로 붙이고(`.cmd`/`.bat` 아님), CVE-2024-27980 이후 `.cmd`는 shell 없이 실행 불가 (EINVAL), `shell:true`는 인자를 escape하지 않는다(DEP0190 → 인젝션). 그 결과 `doctor`가 `codex`/`claude`를 "missing"으로 오보하고 `run`/`handoff`/`login`이 다음 agent를 실행하지 못했다. ## 방법 - 새 `safeSpawn` / `safeSpawnSync` 코어 래퍼(`cross-spawn` 기반)가 PATHEXT shim을 해석하고 `.cmd`/`.bat`를 **escape된** 인자와 `shell:false`로 `cmd.exe` 경유 실행. - 모든 agent spawn을 이 래퍼로 라우팅: `AgentRunner`, 5개 adapter (Codex/Claude/Gemini/Aider/OpenCode), `doctor`, `login`, TUI. - 테스트로 검증: PATH의 `.cmd`를 해석하고 인자 인젝션을 차단. ## 비고 - macOS/Linux 동작은 변경 없음. git 호출은 기존 child_process 경로 유지(git은 네이티브 실행파일). ## v2.1 다음 항목 - handoff/continuation 프롬프트 생성 전 secret redaction(번들뿐 아니라). - secret 유출 회귀 스캔 + `--allow-api-key-env` audit 이벤트.