From afb50d16100527814b2a56839376dda4124c0bf8 Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Wed, 31 Dec 2025 04:18:21 -0600 Subject: [PATCH] fix: filter sidechain/warmup sessions from session list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Claude Code creates internal "sidechain" sessions for context caching and warmup purposes. These appear in the session list with names like "Warmup" or "agent-*" and clutter the UI. This change filters out these internal sessions by: 1. Checking if the filename starts with "agent-" 2. Parsing the first JSONL line and checking for isSidechain: true Fixes #393 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src-tauri/src/commands/claude.rs | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src-tauri/src/commands/claude.rs b/src-tauri/src/commands/claude.rs index 529eb1a2..ce08a949 100644 --- a/src-tauri/src/commands/claude.rs +++ b/src-tauri/src/commands/claude.rs @@ -65,6 +65,9 @@ struct JsonlEntry { entry_type: Option, message: Option, timestamp: Option, + /// Whether this is a sidechain/warmup session (should be hidden from UI) + #[serde(rename = "isSidechain")] + is_sidechain: Option, } /// Represents the message content @@ -229,6 +232,36 @@ fn extract_first_user_message(jsonl_path: &PathBuf) -> (Option, Option