SessionStart hook appends duplicate exports to CLAUDE_ENV_FILE on every resume/compaction
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 70/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- bash, javascript
- Ambito
- devtools
Direzione di ricerca
Inizia da scripts/session-lifecycle-hook.mjs intorno alla riga 39, dove fs.appendFileSync scrive le tre esportazioni in CLAUDE_ENV_FILE. Modifica la scrittura in modo che legga il file esistente e non aggiunga una variabile già esportata, oppure salti l'aggiunta quando la riga identica è già presente. È completato quando chiamare l'hook due volte lascia ciascuna delle tre esportazioni nel file esattamente una volta. La issue non indica alcun test, quindi verifica eseguendo l'hook su un file env temporaneo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happens
scripts/session-lifecycle-hook.mjs (v1.0.6, line 39) writes its exports with fs.appendFileSync(process.env.CLAUDE_ENV_FILE, ...). SessionStart fires on startup, resume and compaction, so each fire appends the same three lines (CODEX_COMPANION_SESSION_ID, CODEX_COMPANION_TRANSCRIPT_PATH, CLAUDE_PLUGIN_DATA). A long-lived session reached 78 lines (26 copies).
Why it matters
On Windows with Git Bash, once the file was long (seen at 50–78 lines), every Bash tool call in Claude Code failed with -c: line N: unexpected EOF while looking for matching ', where N tracked the file's length. Deduplicating the file and resuming the session fixed it. The wrapper failure itself is on the Claude Code side (reported there separately), but the growing file is what triggers it.
Suggested fix
Write each variable once: read the file, drop existing export <NAME>= lines for the plugin's variables, then write the result, or skip the append when the identical line is already present.
Environment
Claude Code 2.1.301, Windows Server 2025, Git for Windows bash, codex plugin 1.0.6.
- Lingua principale
- JavaScript
- Stelle
- 34.2k
- Fork
- 2.4k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di openai/codex-plugin-cc
-
Review context trims the first column of git status --shortForse già presa @azixxxxx l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
openai/codex-plugin-cc#813 ·
-
codex-rescue: pinned `model: sonnet` triggers "restricted by your organization" fallbackForse già presa @jcpoyser l’ha presa 12 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
openai/codex-plugin-cc#804 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
openai/codex-plugin-cc#798 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
openai/codex-plugin-cc#794 ·
-
task hangs forever at "Starting Codex task thread." — shorten() splits a UTF-16 surrogate pair in the thread name, app-server drops thread/name/set without replyingForse già presa @SammyTourani l’ha presa 13 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
openai/codex-plugin-cc#793 ·
Tutte le issue di openai/codex-plugin-cc
Issue simili
-
BUG
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
[BUG]: filesystem-edit-file converts a CRLF file's line endings to LF on every editForse già presa @MohammadHijjawi97 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Mintplex-Labs/anything-llm#6755 ·
I maintainer di solito rispondono entro 1 giorno
-
type/bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
flarum/framework#5231 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apache/rocketmq-dashboard#6896 ·
I maintainer di solito rispondono entro 3 giorni
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno