diff --git a/codex-rs/core/src/client.rs b/codex-rs/core/src/client.rs index ad08782b..8ab5ad96 100644 --- a/codex-rs/core/src/client.rs +++ b/codex-rs/core/src/client.rs @@ -169,6 +169,7 @@ impl ModelClient { store, stream: true, include, + prompt_cache_key: Some(self.session_id.to_string()), }; let mut attempt = 0; diff --git a/codex-rs/core/src/client_common.rs b/codex-rs/core/src/client_common.rs index b37b1e3f..f05a57b6 100644 --- a/codex-rs/core/src/client_common.rs +++ b/codex-rs/core/src/client_common.rs @@ -215,6 +215,8 @@ pub(crate) struct ResponsesApiRequest<'a> { pub(crate) store: bool, pub(crate) stream: bool, pub(crate) include: Vec, + #[serde(skip_serializing_if = "Option::is_none")] + pub(crate) prompt_cache_key: Option, } pub(crate) fn create_reasoning_param_for_request(