You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 3, 2026. It is now read-only.
Currently, AI provider credentials are stored as a site option via get_option( 'wp_ai_client_provider_credentials', [] ), and the credentials admin page is registered via add_options_page() in wp-ai-client.
In WordPress multisite, this means using the same provider API keys across the network requires entering/storing credentials separately on each site. In some cases that’s fine, but for many multisite networks (and host-managed setups) a single network-level “source of truth” for credentials is preferable.
This would allow a network-activated plugin (or a host) to manage provider keys once and use them throughout the multisite network without custom syncing code.
Feature Request:
Add supported multisite behavior for credentials storage, e.g. an opt-in mode to read/write credentials using get_site_option() / update_site_option() (network-wide) instead of per-site options.
Ideally provide a hook/filter to customize the credentials storage mechanism so ecosystems can integrate without mirroring options across sites.
Currently, AI provider credentials are stored as a site option via
get_option( 'wp_ai_client_provider_credentials', [] ), and the credentials admin page is registered viaadd_options_page()in wp-ai-client.In WordPress multisite, this means using the same provider API keys across the network requires entering/storing credentials separately on each site. In some cases that’s fine, but for many multisite networks (and host-managed setups) a single network-level “source of truth” for credentials is preferable.
This would allow a network-activated plugin (or a host) to manage provider keys once and use them throughout the multisite network without custom syncing code.
Feature Request:
get_site_option()/update_site_option()(network-wide) instead of per-site options.