Description
Use the chrome.tabGroups API to interact with the browser's tab grouping system. You can use this API to modify and rearrange tab groups in the browser. To group and ungroup tabs, or to query what tabs are in groups, use the chrome.tabs API.
Permissions
tabGroupsAvailability
Types
Color
The group's color.
Enum
"grey"  "blue"  "red"  "yellow"  "green"  "pink"  "purple"  "cyan"  "orange" 
 
 
 
 
 
 
 
 
 
TabGroup
Properties
- 
    collapsedboolean Whether the group is collapsed. A collapsed group is one whose tabs are hidden. 
- 
    colorThe group's color. 
- 
    idnumber The ID of the group. Group IDs are unique within a browser session. 
- 
    boolean Chrome 137+Whether the group is shared. 
- 
    titlestring optional The title of the group. 
- 
    windowIdnumber The ID of the window that contains the group. 
Properties
TAB_GROUP_ID_NONE
An ID that represents the absence of a group.
Value
-1 
 
Methods
get()
chrome.tabGroups.get(
groupId: number,
): Promise<TabGroup>
Retrieves details about the specified group.
Parameters
- 
    groupIdnumber 
Returns
- 
            Promise<TabGroup> Chrome 90+
move()
chrome.tabGroups.move(
groupId: number,
moveProperties: object,
): Promise<TabGroup | undefined>
Moves the group and all its tabs within its window, or to a new window.
Parameters
- 
    groupIdnumber The ID of the group to move. 
- 
    movePropertiesobject - 
    indexnumber The position to move the group to. Use -1to place the group at the end of the window.
- 
    windowIdnumber optional The window to move the group to. Defaults to the window the group is currently in. Note that groups can only be moved to and from windows with windows.WindowTypetype"normal".
 
- 
    
Returns
- 
            Promise<TabGroup | undefined> Chrome 90+
query()
chrome.tabGroups.query(
queryInfo: object,
): Promise<TabGroup[]>
Gets all groups that have the specified properties, or all groups if no properties are specified.
Parameters
- 
    queryInfoobject - 
    collapsedboolean optional Whether the groups are collapsed. 
- 
    colorColor optional The color of the groups. 
- 
    boolean optional Chrome 137+Whether the group is shared. 
- 
    titlestring optional Match group titles against a pattern. 
- 
    windowIdnumber optional The ID of the parent window, or windows.WINDOW_ID_CURRENTfor the current window.
 
- 
    
Returns
- 
            Promise<TabGroup[]> Chrome 90+
update()
chrome.tabGroups.update(
groupId: number,
updateProperties: object,
): Promise<TabGroup | undefined>
Modifies the properties of a group. Properties that are not specified in updateProperties are not modified.
Parameters
- 
    groupIdnumber The ID of the group to modify. 
- 
    updatePropertiesobject - 
    collapsedboolean optional Whether the group should be collapsed. 
- 
    colorColor optional The color of the group. 
- 
    titlestring optional The title of the group. 
 
- 
    
Returns
- 
            Promise<TabGroup | undefined> Chrome 90+
Events
onCreated
chrome.tabGroups.onCreated.addListener(
callback: function,
)
Fired when a group is created.
Parameters
- 
    callbackfunction The callbackparameter looks like:(group: TabGroup) => void - 
    group
 
- 
    
onMoved
chrome.tabGroups.onMoved.addListener(
callback: function,
)
Fired when a group is moved within a window. Move events are still fired for the individual tabs within the group, as well as for the group itself. This event is not fired when a group is moved between windows; instead, it will be removed from one window and created in another.
Parameters
- 
    callbackfunction The callbackparameter looks like:(group: TabGroup) => void - 
    group
 
- 
    
onRemoved
chrome.tabGroups.onRemoved.addListener(
callback: function,
)
Fired when a group is closed, either directly by the user or automatically because it contained zero tabs.
Parameters
- 
    callbackfunction The callbackparameter looks like:(group: TabGroup) => void - 
    group
 
- 
    
onUpdated
chrome.tabGroups.onUpdated.addListener(
callback: function,
)
Fired when a group is updated.