> This page is for Designer API.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.webflow.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.webflow.com/_mcp/server.

# Get variable mode

> Learn how to get a variable mode applied to a style.

## `style.getVariableMode(VariableCollecton, options?)`

Retrieve the [variable mode](/designer/reference/variable-modes) applied to a style for a given [variable collection](/designer/reference/variable-collections-overview). A collection can define multiple modes, but a style can have only one variable mode applied per collection.

\


### Syntax

```typescript
style.getVariableMode(
    collection: {{VARIABLE_COLLECTION}},
    options?: {
      breakpointId?: {{BREAKPOINT_ID}},
      pseudoStateKey?: {{PSEUDO_STATE_KEY}}
    }
): Promise<{{VARIABLE_MODE}} | null>
```

### Parameters

* **collection**: *VariableCollection* - The variable collection of the variable mode.
* **options?**: *BreakpointAndPseudo* - The [breakpoint and pseudo state](/designer/reference/styles-overview#responsive-styling-with-breakpoints-and-pseudo-states) for the style.
  * **`BreakpointId`**: Identifies the responsive breakpoint to get styles for.
    ```typescript
    type BreakpointId = "xxl" | "xl" | "large" | "main" | "medium" | "small" | "tiny"
    ```

  * **`PseudoStateKey`**: Specifies a CSS pseudo-class to get styles for.
    ```typescript
    type PseudoStateKey = "noPseudo" | "nth-child(odd)" | "nth-child(even)" |
      "first-child" | "last-child" | "hover" | "active" |
    ```

### Returns

A Promise that resolves to a `VariableMode` object or `null` if the variable mode isn't found.

### Example

```typescript
// Get Selected Element
const selectedElement = await webflow.getSelectedElement()

    if (selectedElement?.styles) {
    // Get Styles
    const styles = await selectedElement.getStyles()
    const primaryStyle = styles[0] // Get the primary style

    // Get Variable Mode
    if (primaryStyle && variableCollection) {
        const variableMode =
        await primaryStyle.getVariableMode(variableCollection)
        const variableModeName = await variableMode?.getName()
        console.log(variableModeName)
    }
}
```

[Try this example](https://webflow.com/oauth/authorize?response_type=code\&client_id=19511de1ec410f9228d8dcbc9420e67916dea80d86d18f0c9a533eb475ea0f62)

### Designer ability

| Designer Ability    | Locale | Branch | Workflow | Sitemode |
| :------------------ | :----- | :----- | :------- | :------- |
| **canAccessCanvas** | Any    | Any    | Any      | Any      |