google-gemini / google-gemini/gemini-cli
Hooks - SessionStart "compress" vs "compact" Incompatibility
- Dominant language
- TypeScript
- Stars
- 107k
- Forks
- 14.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 45
Description
Gemini CLI uses `source: "compress"` for compression-triggered SessionStart, while Claude Code uses `source: "compact"`. This causes incompatibility for migrated hooks that check the source matcher.
**Code Location:**
- [packages/core/src/hooks/types.ts:462-466](packages/core/src/hooks/types.ts#L462-L466) - `SessionStartSource` enum (no "compact" value)
- Migration: [packages/cli/src/commands/hooks/migrate.ts](packages/cli/src/commands/hooks/migrate.ts) - Does not translate "compact" → "compress"
**Follow-Up Options:**
- [ ] Accept both "compress" and "compact" as aliases
- [ ] Update migration command to translate matchers
- [ ] Document in migration guide as known incompatibility
Contributor guide
Assessment
This issue has not been assessed yet.