diff --git a/codex-rs/core/config.schema.json b/codex-rs/core/config.schema.json index c8640c514b..8ea56adb9c 100644 --- a/codex-rs/core/config.schema.json +++ b/codex-rs/core/config.schema.json @@ -373,6 +373,9 @@ "browser_use": { "type": "boolean" }, + "browser_use_external": { + "type": "boolean" + }, "child_agents_md": { "type": "boolean" }, @@ -3376,6 +3379,9 @@ "browser_use": { "type": "boolean" }, + "browser_use_external": { + "type": "boolean" + }, "child_agents_md": { "type": "boolean" }, diff --git a/codex-rs/features/src/lib.rs b/codex-rs/features/src/lib.rs index e2f859c22f..6dda98d923 100644 --- a/codex-rs/features/src/lib.rs +++ b/codex-rs/features/src/lib.rs @@ -172,6 +172,10 @@ pub enum Feature { /// /// Requirements-only gate: this should be set from requirements, not user config. BrowserUse, + /// Allow Browser Use integration with external browsers. + /// + /// Requirements-only gate: this should be set from requirements, not user config. + BrowserUseExternal, /// Allow Codex Computer Use. /// /// Requirements-only gate: this should be set from requirements, not user config. @@ -914,6 +918,12 @@ pub const FEATURES: &[FeatureSpec] = &[ stage: Stage::Stable, default_enabled: true, }, + FeatureSpec { + id: Feature::BrowserUseExternal, + key: "browser_use_external", + stage: Stage::Stable, + default_enabled: true, + }, FeatureSpec { id: Feature::ComputerUse, key: "computer_use", diff --git a/codex-rs/features/src/tests.rs b/codex-rs/features/src/tests.rs index 0ed1d7ecc0..d1c0ae0c55 100644 --- a/codex-rs/features/src/tests.rs +++ b/codex-rs/features/src/tests.rs @@ -157,6 +157,13 @@ fn browser_controls_are_stable_and_enabled_by_default() { assert_eq!(Feature::BrowserUse.default_enabled(), true); assert_eq!(feature_for_key("browser_use"), Some(Feature::BrowserUse)); + assert_eq!(Feature::BrowserUseExternal.stage(), Stage::Stable); + assert_eq!(Feature::BrowserUseExternal.default_enabled(), true); + assert_eq!( + feature_for_key("browser_use_external"), + Some(Feature::BrowserUseExternal) + ); + assert_eq!(Feature::ComputerUse.stage(), Stage::Stable); assert_eq!(Feature::ComputerUse.default_enabled(), true); assert_eq!(feature_for_key("computer_use"), Some(Feature::ComputerUse));