Environment: Linux web development app, Chromium preview, 1280x800, light theme. Codex CLI 0.169.0; model gpt-6-luna; trusted SessionStart + Stop command hooks. Fresh independent T3 databases; synthetic git project; same Codex home. Control: plain codex exec completed with ok, SessionStart + Stop recorded. Each server chat turn completed with ok, SessionStart + Stop recorded in app-server (expected). Base 73cbc6b1ede1692c2642b01cf55d9ef75c37c5f4: Regenerate title, --enable hooks: SessionStart + Stop from codex exec. Repeated recorded regeneration, --enable hooks: SessionStart + Stop from codex exec. Regenerate title, --enable=hooks --enable codex_hooks: SessionStart + Stop from codex exec. Regenerate title, empty launch args: SessionStart + Stop from codex exec. Head 69710bb30f2963d4ce170569401ad9e8d40a78d8: Regenerate title, --enable hooks: Title kept; no hook entries added. Regenerate title, --enable=hooks --enable codex_hooks: Title kept; no hook entries added. Regenerate title, empty launch args: Title kept; no hook entries added. The terminal panel runs show-hooks.py against the actual hook log. It counts exec hooks after the case offset. The chat count is cumulative across the two independent servers sharing the synthetic hook log (2 before, 4 after). Title kept is the successful generation result: the model retained the already-fitting title. The recordings cover the --enable hooks regeneration on each commit. No tests or fake provider were used as evidence.