# useGlobalConfig

**Kind:** Function

Returns the extension's `GlobalConfig` and updates whenever any key in `GlobalConfig`
changes.

```js
import {useGlobalConfig, useRunInfo} from '@airtable/blocks/interface/ui';

function SyncedCounter() {
    const runInfo = useRunInfo();
    const globalConfig = useGlobalConfig();
    const count = globalConfig.get('count');

    const increment = () => globalConfig.setAsync('count', count + 1);
    const decrement = () => globalConfig.setAsync('count', count - 1);
    const isEnabled = globalConfig.hasPermissionToSet('count');

    if (runInfo.isPageElementInEditMode) {
        return (
            <div>
                <button onClick={decrement} disabled={!isEnabled} ariaLabel="decrease">-</button>
                {count}
                <button onClick={increment} disabled={!isEnabled} ariaLabel="increase">+</button>
            </div>
        );
    } else {
        return <div>{count}</div>;
    }
}
```

**Returns:** `GlobalConfig`
