google-gemini / google-gemini/gemini-cli

Hooks - SessionStart "compress" vs "compact" Incompatibility

Open
#14,724 4 comments 0 reactions 0 assignees View on GitHub
🔒 maintainer only area/agent kind/bug priority/p3 status/bot-triaged workstream-rollup
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.