diff --git a/crates/agent_servers/src/agent_servers.rs b/crates/agent_servers/src/agent_servers.rs index 1b253cfbdaa0b4c46d34dfb732f9c47341505511..12e5be54f4c725778063f95ed16b650319820977 100644 --- a/crates/agent_servers/src/agent_servers.rs +++ b/crates/agent_servers/src/agent_servers.rs @@ -8,6 +8,7 @@ mod stdio_agent_server; mod e2e_tests; pub use claude::*; +pub use codex::*; pub use gemini::*; pub use settings::*; pub use stdio_agent_server::*; diff --git a/crates/agent_ui/src/agent_panel.rs b/crates/agent_ui/src/agent_panel.rs index 895a49950241e0072ac3926b2ed78e9248918442..8b2c18b20756e20baec65f76e31f3221e9998359 100644 --- a/crates/agent_ui/src/agent_panel.rs +++ b/crates/agent_ui/src/agent_panel.rs @@ -1910,6 +1910,13 @@ impl AgentPanel { } .boxed_clone(), ) + .action( + "New Codex Thread", + NewExternalAgentThread { + agent: Some(crate::ExternalAgent::Codex), + } + .boxed_clone(), + ) }); menu })) diff --git a/crates/agent_ui/src/agent_ui.rs b/crates/agent_ui/src/agent_ui.rs index 7f69e8f66e3bcf37fb56c0384c0b8bf17a37d0f4..17fa4d1ea8e22695b580639de42463e7fe732ebb 100644 --- a/crates/agent_ui/src/agent_ui.rs +++ b/crates/agent_ui/src/agent_ui.rs @@ -147,6 +147,7 @@ enum ExternalAgent { #[default] Gemini, ClaudeCode, + Codex, } impl ExternalAgent { @@ -154,6 +155,7 @@ impl ExternalAgent { match self { ExternalAgent::Gemini => Rc::new(agent_servers::Gemini), ExternalAgent::ClaudeCode => Rc::new(agent_servers::ClaudeCode), + ExternalAgent::Codex => Rc::new(agent_servers::Codex), } } }