Title: wp_connectors_init
Published: May 20, 2026

---

# do_action( ‘wp_connectors_init’, WP_Connector_Registry $registry )

## In this article

 * [Description](https://developer.wordpress.org/reference/hooks/wp_connectors_init/?output_format=md#description)
 * [Parameters](https://developer.wordpress.org/reference/hooks/wp_connectors_init/?output_format=md#parameters)
 * [Source](https://developer.wordpress.org/reference/hooks/wp_connectors_init/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/hooks/wp_connectors_init/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/hooks/wp_connectors_init/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/hooks/wp_connectors_init/?output_format=md#wp--skip-link--target)

Fires when the connector registry is ready for plugins to register connectors.

## 󠀁[Description](https://developer.wordpress.org/reference/hooks/wp_connectors_init/?output_format=md#description)󠁿

Built-in connectors and any AI providers auto-discovered from the WP AI Client registry
have already been registered at this point and cannot be unhooked.

AI provider plugins that register with the WP AI Client do not need to use this 
action — their connectors are created automatically. This action is primarily for
registering non-AI-provider connectors or overriding metadata on existing connectors.

Use `$registry->register()` within this action to add new connectors.
To override
an existing connector, unregister it first, then re-register with updated data.

Example — overriding metadata on an auto-discovered connector:

    ```php
    add_action( 'wp_connectors_init', function ( WP_Connector_Registry $registry ) {
        if ( $registry->is_registered( 'anthropic' ) ) {
            $connector = $registry->unregister( 'anthropic' );
            $connector['description'] = __( 'Custom description for Anthropic.', 'my-plugin' );
            $registry->register( 'anthropic', $connector );
        }
    } );
    ```

## 󠀁[Parameters](https://developer.wordpress.org/reference/hooks/wp_connectors_init/?output_format=md#parameters)󠁿

 `$registry`[WP_Connector_Registry](https://developer.wordpress.org/reference/classes/wp_connector_registry/)

Connector registry instance.

## 󠀁[Source](https://developer.wordpress.org/reference/hooks/wp_connectors_init/?output_format=md#source)󠁿

    ```php
    do_action( 'wp_connectors_init', $registry );
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/connectors.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-includes/connectors.php#L272)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/connectors.php#L272-L272)

## 󠀁[Related](https://developer.wordpress.org/reference/hooks/wp_connectors_init/?output_format=md#related)󠁿

| Used by | Description | 
| [_wp_connectors_init()](https://developer.wordpress.org/reference/functions/_wp_connectors_init/)`wp-includes/connectors.php` |

Initializes the connector registry with default connectors and fires the registration action.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/hooks/wp_connectors_init/?output_format=md#changelog)󠁿

| Version | Description | 
| [7.0.0](https://developer.wordpress.org/reference/since/7.0.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fhooks%2Fwp_connectors_init%2F)
before being able to contribute a note or feedback.