Repository navigation
SMOODEV-4260: th chrome tab group management - #858
Merged
Merged
Conversation
…ps can be cleaned up Claude in Chrome leaves "Claude" tab groups behind and nothing in th could see them. chrome.tabGroups sees every group in the browser, so the extension now lists them (tab count, last used, whether in use) and closes or ungroups them by id, title glob, idle time or all, with a dry run. Selection and the safety rules live in the extension (groups.js, a pure module) and run against the live browser at the moment it acts, so a group holding any window's active tab is never touched even if it became active after a listing. Also rename/color/collapse/expand and a browse_groups MCP tool (dry run unless confirm=true). Extension bumped to 0.2.0; an older one gets a reinstall hint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SJgkv17wVrJrdcDo1mntz4
🦋 Changeset detectedLatest commit: f8091c6 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
brentrager
enabled auto-merge (squash)
November 5, 2026 01:58
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Claude in Chrome leaves stale "Claude" tab groups behind, and
th chromehad no way to see or clean them up. Its only group code put agent-opened tabs into the purple "Smooth" group.Solution
chrome.tabGroups+chrome.tabssee every group in the browser, so the extension now manages them all (needs Agent browsing on, which already grantstabs/tabGroups).th chrome browse groups [--json]lists each group's id, tab count, last used (newesttab.lastAccessed), color, window, state (in use = holds the focused window's active tab; active tab; collapsed) and title.th chrome browse groups close|ungroup [ids…] [--title <exact|glob>] [--idle 30m|2h|1d|1h30m] [--all] [--dry-run] [--json]. Ids and--titleadd candidates;--all, or--idlealone, takes every group;--idlethen keeps only groups unused that long. At least one selector is required.--idle, recently used groups (or ones with no last-used time) are left alone. The output says what was left alone and why, unknown ids, and any group Chrome refused.groups rename|color|collapse|expand.browse_groups(actionlist|close|ungroup, same filters); close/ungroup dry-run unlessconfirm=true. It's a write tool, so the read-only gate hides it.SmoothGroups.selectin the newextension/groups.js, run inside the extension against the live browser at the moment it acts (groups.apply), so a stale listing can't close a group that just became active.chrome/groups.rsparses selectors/durations and formats output.th chrome install, then reload it" instead of "unknown method".docs/Engineering/Chrome-Extension.md(new Tab groups section, tool count 21browse_*). mcpb manifest re-blessed. Changeset added.Verification
cargo test -p smooai-smooth-cli: 1510 passed, 0 failed (new tests cover duration parsing, selector validation, clap parsing, request params, update params, table/result formatting, and MCP arg validation).cargo fmt --all -- --checkclean.cargo clippy -p smooai-smooth-cli --all-targets: no warnings in the touched code.pnpm test:chrome-page: all pass, including the newscripts/chrome-groups-smoke.mjs(19 checks on selection and safety rules) and newchrome-sw-smoke.mjschecks that drivegroups.list/groups.apply/groups.updateagainst a stubchrome(dry run changes nothing, close/ungroup touch only selected groups, failures are reported).--check .clean.thagainst the user's Chrome (extension still 0.1.0) prints the reinstall hint. No groups or tabs were changed, and the extension was not reloaded.Jira: https://smooai.atlassian.net/browse/SMOODEV-4260
🤖 Generated with Claude Code
https://claude.ai/code/session_01SJgkv17wVrJrdcDo1mntz4