diff --git a/codex-rs/core/config.schema.json b/codex-rs/core/config.schema.json index 4615f4e85..a10d01a8a 100644 --- a/codex-rs/core/config.schema.json +++ b/codex-rs/core/config.schema.json @@ -449,6 +449,9 @@ "browser_use_external": { "type": "boolean" }, + "browser_use_full_cdp_access": { + "type": "boolean" + }, "chronicle": { "type": "boolean" }, @@ -4750,6 +4753,9 @@ "browser_use_external": { "type": "boolean" }, + "browser_use_full_cdp_access": { + "type": "boolean" + }, "chronicle": { "type": "boolean" }, diff --git a/codex-rs/core/src/config/config_tests.rs b/codex-rs/core/src/config/config_tests.rs index 2d27d8d60..9b4b6e93f 100644 --- a/codex-rs/core/src/config/config_tests.rs +++ b/codex-rs/core/src/config/config_tests.rs @@ -9752,6 +9752,7 @@ async fn browser_feature_requirements_are_valid() -> std::io::Result<()> { [features] in_app_browser = false browser_use = false +browser_use_full_cdp_access = false "#, ), ) @@ -9760,6 +9761,7 @@ browser_use = false assert!(!config.features.enabled(Feature::InAppBrowser)); assert!(!config.features.enabled(Feature::BrowserUse)); + assert!(!config.features.enabled(Feature::BrowserUseFullCdpAccess)); Ok(()) } diff --git a/codex-rs/features/src/lib.rs b/codex-rs/features/src/lib.rs index 933ec73c6..210b8689a 100644 --- a/codex-rs/features/src/lib.rs +++ b/codex-rs/features/src/lib.rs @@ -175,6 +175,10 @@ pub enum Feature { /// /// Requirements-only gate: this should be set from requirements, not user config. BrowserUse, + /// Allow Browser Use integration to access the full Chrome DevTools Protocol surface. + /// + /// Requirements-only gate: this should be set from requirements, not user config. + BrowserUseFullCdpAccess, /// Allow Browser Use integration with external browsers. /// /// Requirements-only gate: this should be set from requirements, not user config. @@ -1115,6 +1119,12 @@ pub const FEATURES: &[FeatureSpec] = &[ stage: Stage::Stable, default_enabled: true, }, + FeatureSpec { + id: Feature::BrowserUseFullCdpAccess, + key: "browser_use_full_cdp_access", + stage: Stage::Stable, + default_enabled: true, + }, FeatureSpec { id: Feature::BrowserUseExternal, key: "browser_use_external",