# userScripts
Documentation: [Chrome User Scripts API](https://developer.chrome.com/docs/extensions/reference/userScripts)
A promise-based wrapper around the Chrome `userScripts` API. Note: This API is available in Manifest V3.
## Methods
- [configureUserScriptsWorld(properties?)](#configureUserScriptsWorld)
- [getUserScripts(ids?)](#getUserScripts)
- [getUserScriptsWorldConfigs()](#getUserScriptsWorldConfigs)
- [executeUserScript(injection)](#executeUserScript)
- [registerUserScripts(scripts)](#registerUserScripts)
- [resetUserScriptsWorldConfigs(worldId?)](#resetUserScriptsWorldConfigs)
- [unregisterUserScripts(ids?)](#unregisterUserScripts)
- [updateUserScripts(scripts)](#updateUserScripts)
- [isAvailableUserScripts()](#isAvailableUserScripts)
---
### configureUserScriptsWorld
```
configureUserScriptsWorld(properties?: chrome.userScripts.WorldProperties): Promise
```
Configures the execution world for user scripts. If `properties` is omitted, defaults are used.
### getUserScripts
```
getUserScripts(ids?: string[]): Promise
```
Retrieves registered user scripts. When `ids` is provided, returns only scripts with matching IDs.
### getUserScriptsWorldConfigs
```
getUserScriptsWorldConfigs(): Promise
```
Returns the currently configured user script worlds.
### executeUserScript
```
executeUserScript(injection: chrome.userScripts.UserScriptInjection): Promise
```
Executes a user script with the provided injection parameters and resolves with the results from all frames where it executed.
### registerUserScripts
```
registerUserScripts(scripts: chrome.userScripts.RegisteredUserScript[]): Promise
```
Registers one or more user scripts.
### resetUserScriptsWorldConfigs
```
resetUserScriptsWorldConfigs(worldId?: string): Promise
```
Resets the configuration of a specific world by ID, or all worlds if `worldId` is omitted.
### unregisterUserScripts
```
unregisterUserScripts(ids?: string[]): Promise
```
Unregisters user scripts. When `ids` are provided, only scripts with those IDs are removed; otherwise, all registered scripts are removed.
### updateUserScripts
```
updateUserScripts(scripts: chrome.userScripts.RegisteredUserScript[]): Promise
```
Updates previously registered user scripts with new definitions.
### isAvailableUserScripts
```
isAvailableUserScripts(): boolean
```
Returns `true` if the `chrome.userScripts` API is available in the current environment (typically Manifest V3), otherwise `false`.