#[non_exhaustive]pub struct ResumeSessionConfig {Show 87 fields
pub session_id: SessionId,
pub model: Option<String>,
pub allowed_models: Option<Vec<String>>,
pub client_name: Option<String>,
pub reasoning_effort: Option<String>,
pub reasoning_summary: Option<ReasoningSummary>,
pub context_tier: Option<String>,
pub streaming: Option<bool>,
pub system_message: Option<SystemMessageConfig>,
pub ask_user_variant: Option<AskUserVariant>,
pub tools: Option<Vec<Tool>>,
pub canvases: Option<Vec<CanvasDeclaration>>,
pub canvas_handler: Option<Arc<dyn CanvasHandler>>,
pub open_canvases: Option<Vec<OpenCanvasInstance>>,
pub request_canvas_renderer: Option<bool>,
pub request_extensions: Option<bool>,
pub extension_sdk_path: Option<String>,
pub extension_info: Option<ExtensionInfo>,
pub canvas_provider: Option<CanvasProviderIdentity>,
pub available_tools: Option<Vec<String>>,
pub excluded_tools: Option<Vec<String>>,
pub excluded_builtin_agents: Option<Vec<String>>,
pub included_builtin_skills: Option<Vec<String>>,
pub mcp_servers: Option<IndexMap<String, McpServerConfig>>,
pub mcp_oauth_token_storage: Option<String>,
pub auth_client_id_metadata_url: Option<String>,
pub enable_config_discovery: Option<bool>,
pub skip_embedding_retrieval: Option<bool>,
pub embedding_cache_storage: Option<String>,
pub organization_custom_instructions: Option<String>,
pub enable_on_demand_instruction_discovery: Option<bool>,
pub enable_file_hooks: Option<bool>,
pub enable_host_git_operations: Option<bool>,
pub enable_session_store: Option<bool>,
pub enable_skills: Option<bool>,
pub enable_mcp_apps: Option<bool>,
pub github_mcp_tool_config: Option<GitHubMcpToolConfig>,
pub skill_directories: Option<Vec<PathBuf>>,
pub instruction_directories: Option<Vec<PathBuf>>,
pub plugin_directories: Option<Vec<PathBuf>>,
pub large_output: Option<LargeToolOutputConfig>,
pub tool_search: Option<ToolSearchConfig>,
pub disabled_skills: Option<Vec<String>>,
pub disabled_mcp_servers: Option<Vec<String>>,
pub hooks: Option<bool>,
pub custom_agents: Option<Vec<CustomAgentConfig>>,
pub default_agent: Option<DefaultAgentConfig>,
pub agent: Option<String>,
pub infinite_sessions: Option<InfiniteSessionConfig>,
pub provider: Option<ProviderConfig>,
pub capi: Option<CapiSessionOptions>,
pub providers: Option<Vec<NamedProviderConfig>>,
pub models: Option<Vec<ProviderModelConfig>>,
pub enable_session_telemetry: Option<bool>,
pub enable_citations: Option<bool>,
pub enable_file_change_tracking: Option<bool>,
pub session_limits: Option<SessionLimitsConfig>,
pub model_capabilities: Option<ModelCapabilitiesOverride>,
pub memory: Option<MemoryConfiguration>,
pub config_directory: Option<PathBuf>,
pub working_directory: Option<PathBuf>,
pub additional_directories: Option<Vec<PathBuf>>,
pub github_token: Option<String>,
pub github_token_provider: Option<Arc<dyn GitHubTokenProvider>>,
pub remote_session: Option<RemoteSessionMode>,
pub include_sub_agent_streaming_events: Option<bool>,
pub commands: Option<Vec<CommandDefinition>>,
pub feature_flags: Option<HashMap<String, bool>>,
pub enable_managed_settings: Option<bool>,
pub managed_settings: Option<ManagedSettings>,
pub session_fs_provider: Option<Arc<dyn SessionFsProvider>>,
pub suppress_resume_event: Option<bool>,
pub continue_pending_work: Option<bool>,
pub permission_handler: Option<Arc<dyn PermissionHandler>>,
pub elicitation_handler: Option<Arc<dyn ElicitationHandler>>,
pub mcp_auth_handler: Option<Arc<dyn McpAuthHandler>>,
pub user_input_handler: Option<Arc<dyn UserInputHandler>>,
pub exit_plan_mode_handler: Option<Arc<dyn ExitPlanModeHandler>>,
pub auto_mode_switch_handler: Option<Arc<dyn AutoModeSwitchHandler>>,
pub hooks_handler: Option<Arc<dyn SessionHooks>>,
pub system_message_transform: Option<Arc<dyn SystemMessageTransform>>,
pub skip_custom_instructions: Option<bool>,
pub custom_agents_local_only: Option<bool>,
pub enable_experimental_mode: Option<bool>,
pub coauthor_enabled: Option<bool>,
pub manage_schedule_enabled: Option<bool>,
pub event_buffer_capacity: Option<usize>,
/* private fields */
}Expand description
See SessionConfig for the construction patterns (chained with_*
builder vs. direct field assignment for Option<T> pass-through) and
the note on snake_case vs. camelCase field naming. This config is not
itself serializable — call ResumeSessionConfig::into_wire
(crate-private) to produce the wire payload.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.session_id: SessionIdID of the session to resume.
model: Option<String>Model to use for this session (e.g. "gpt-4", "claude-sonnet-4").
Can change the model when resuming.
allowed_models: Option<Vec<String>>Exact model IDs the resumed session may use. When unset, the host imposes no model restriction. The runtime validates configured IDs, rejects an explicit empty list, and intersects the list with applicable model policies.
client_name: Option<String>Application name sent as User-Agent context.
reasoning_effort: Option<String>Desired reasoning effort to apply after resuming the session.
reasoning_summary: Option<ReasoningSummary>Reasoning summary mode to apply after resuming the session. Use
ReasoningSummary::None to suppress summary output regardless of
whether reasoning is enabled.
context_tier: Option<String>Context window tier to apply after resuming the session. Use
"long_context" to pin the session to the long-context tier.
streaming: Option<bool>Enable streaming token deltas.
system_message: Option<SystemMessageConfig>Re-supply the system message so the agent retains workspace context across CLI process restarts.
ask_user_variant: Option<AskUserVariant>Selects the model-facing shape of the built-in ask_user tool on a cold resume.
When omitted, the runtime uses AskUserVariant::Legacy. To use
AskUserVariant::Elicitation, also install an ElicitationHandler.
tools: Option<Vec<Tool>>Client-defined tool declarations to re-supply on resume.
canvases: Option<Vec<CanvasDeclaration>>Canvas declarations this connection provides to the runtime.
canvas_handler: Option<Arc<dyn CanvasHandler>>Provider-side canvas lifecycle handler. See
SessionConfig::canvas_handler.
open_canvases: Option<Vec<OpenCanvasInstance>>Open canvas instances the caller knows were open before this resume.
request_canvas_renderer: Option<bool>Request canvas renderer tools for this connection.
request_extensions: Option<bool>Request extension tools and dispatch for this connection.
extension_sdk_path: Option<String>Optional override path to a copilot-sdk/ folder to inject into
extension subprocesses for this session on resume. See
SessionConfig::extension_sdk_path.
extension_info: Option<ExtensionInfo>Stable extension identity for canvas/tool providers on this connection.
canvas_provider: Option<CanvasProviderIdentity>Stable identity for a host/SDK connection that supplies built-in canvases, so they rehydrate against a stable extension id on resume.
available_tools: Option<Vec<String>>Allowlist of tool names the agent may use.
excluded_tools: Option<Vec<String>>Blocklist of built-in tool names.
excluded_builtin_agents: Option<Vec<String>>Names of built-in agents to exclude from the resumed session.
Excluded built-in agents are hidden from discovery and cannot be selected or invoked unless a custom agent with the same name is configured.
included_builtin_skills: Option<Vec<String>>Built-in skill names to include in the resumed session. In
ClientMode::Empty, None excludes all
runtime-bundled skills; Some opts the named built-ins back in.
mcp_servers: Option<IndexMap<String, McpServerConfig>>Re-supply MCP servers so they remain available after app restart.
mcp_oauth_token_storage: Option<String>Controls how MCP OAuth tokens are stored for this session.
See SessionConfig::mcp_oauth_token_storage for details.
auth_client_id_metadata_url: Option<String>Re-supply the host OAuth client metadata document URL on resume.
Set this to the same host identity used when the session was created.
When unset, the SDK does not supply a first-party host identity.
See SessionConfig::auth_client_id_metadata_url for details.
enable_config_discovery: Option<bool>Enables runtime discovery of supported configuration. Explicitly supplied configuration takes precedence over discovered values.
skip_embedding_retrieval: Option<bool>When true, skips embedding retrieval on resume.
embedding_cache_storage: Option<String>Controls how the embedding cache is stored for this session.
organization_custom_instructions: Option<String>Organization-level custom instructions to apply on resume.
enable_on_demand_instruction_discovery: Option<bool>When true, enables on-demand instruction discovery on resume.
enable_file_hooks: Option<bool>When true, enables file hooks on resume.
enable_host_git_operations: Option<bool>When true, allows host Git operations on resume.
enable_session_store: Option<bool>When true, enables the session store on resume.
enable_skills: Option<bool>When true, enables skills on resume.
enable_mcp_apps: Option<bool>Experimental. This option is part of an experimental wire-protocol surface (SEP-1865) and may change or be removed in a future release.
Enable MCP Apps (SEP-1865) UI passthrough on resume. See
SessionConfig::enable_mcp_apps. Defaults to None (treated as false).
github_mcp_tool_config: Option<GitHubMcpToolConfig>Configuration for the built-in GitHub MCP server.
disable_form_deferral only applies to that server and only has an
effect when MCP Apps and form-backed GitHub tools are enabled.
skill_directories: Option<Vec<PathBuf>>Skill directory paths passed through to the GitHub Copilot CLI on resume.
instruction_directories: Option<Vec<PathBuf>>Additional directories to search for custom instruction files on
resume. Forwarded to the CLI; not the same as skill_directories.
plugin_directories: Option<Vec<PathBuf>>Open Plugin directory paths passed through to the CLI on resume.
large_output: Option<LargeToolOutputConfig>Configuration for large tool output handling, forwarded to the CLI on resume.
tool_search: Option<ToolSearchConfig>Overrides the runtime’s built-in tool-search behavior on resume. When unset, the runtime default applies.
disabled_skills: Option<Vec<String>>Skill names to disable on resume.
disabled_mcp_servers: Option<Vec<String>>Exact MCP server names to disable on resume. This prevents startup and authentication during a cold resume, but cannot stop resident servers.
hooks: Option<bool>Enable session hooks on resume.
custom_agents: Option<Vec<CustomAgentConfig>>Custom agents to re-supply on resume.
default_agent: Option<DefaultAgentConfig>Configures the built-in default agent on resume.
agent: Option<String>Name of the custom agent to activate.
infinite_sessions: Option<InfiniteSessionConfig>Re-supply infinite session configuration on resume.
provider: Option<ProviderConfig>Re-supply BYOK provider configuration on resume.
capi: Option<CapiSessionOptions>Re-supply provider-scoped CAPI session options on resume.
Use this to opt out of the default WebSocket transport for CAPI
Responses API calls, equivalent to setting
COPILOT_CLI_DISABLE_WEBSOCKET_RESPONSES.
providers: Option<Vec<NamedProviderConfig>>Experimental. This field is part of an experimental multi-provider BYOK surface and may change or be removed in a future release.
Re-supply named BYOK provider connections on resume. Additive to
the default Copilot routing. Referenced by models.
models: Option<Vec<ProviderModelConfig>>Experimental. This field is part of an experimental multi-provider BYOK surface and may change or be removed in a future release.
Re-supply BYOK model definitions on resume, each referencing a
providers entry by name.
enable_session_telemetry: Option<bool>Enables or disables internal session telemetry for this session.
When Some(false), disables session telemetry. When None or
Some(true), telemetry is enabled for GitHub-authenticated sessions.
When a custom provider is configured, session
telemetry is always disabled regardless of this setting. This is
independent of ClientOptions::telemetry.
enable_citations: Option<bool>Experimental. Enables native model citations for supported providers.
enable_file_change_tracking: Option<bool>Opts in to capturing file changes for session rewind and cumulative session diff when the resumed session has a valid baseline. Earlier untracked changes cannot be reconstructed.
session_limits: Option<SessionLimitsConfig>Experimental. Limits applied to this session’s current accounting window.
model_capabilities: Option<ModelCapabilitiesOverride>Per-property model capability overrides on resume.
memory: Option<MemoryConfiguration>Per-session configuration for the runtime memory feature on resume.
config_directory: Option<PathBuf>Override the default configuration directory location on resume.
working_directory: Option<PathBuf>Per-session working directory on resume.
additional_directories: Option<Vec<PathBuf>>Additional directories the agent may access on resume. Relative paths resolve against the session working directory.
github_token: Option<String>Per-session GitHub token on resume. See
SessionConfig::github_token.
github_token_provider: Option<Arc<dyn GitHubTokenProvider>>Rotating GitHub token provider on resume. See
SessionConfig::github_token_provider.
remote_session: Option<RemoteSessionMode>Per-session remote behavior control on resume. See
SessionConfig::remote_session.
include_sub_agent_streaming_events: Option<bool>Forward sub-agent streaming events to this connection on resume.
commands: Option<Vec<CommandDefinition>>Slash commands registered for this session on resume. See
SessionConfig::commands — commands are not persisted server-side,
so the resume payload re-supplies the registration.
feature_flags: Option<HashMap<String, bool>>Feature-flag values resolved by the host to apply on resume.
enable_managed_settings: Option<bool>Opt-in flag injected on resume. See
SessionConfig::enable_managed_settings. Re-supply on resume so
the runtime re-applies the managed-settings self-fetch after a CLI
process restart. Set via
with_enable_managed_settings.
managed_settings: Option<ManagedSettings>Optional managed-settings layer injected on resume. See
SessionConfig::managed_settings. This layer is not persisted, so it
must be re-supplied on resume to remain in effect; omitting it clears the
previously injected layer. Serialized on the wire as managedSettings.
Set via with_managed_settings.
session_fs_provider: Option<Arc<dyn SessionFsProvider>>Custom session filesystem provider. Required on resume when the
Client was started with
ClientOptions::session_fs.
See SessionConfig::session_fs_provider.
suppress_resume_event: Option<bool>Force-fail resume if the session does not exist on disk, instead of
silently starting a new session. Wire field name stays disableResume.
continue_pending_work: Option<bool>When true, instructs the runtime to continue any tool calls or
permission requests that were pending when the previous connection
was dropped. Use this together with Client::force_stop to hand
off a session from one process to another without losing in-flight
work.
permission_handler: Option<Arc<dyn PermissionHandler>>Optional permission-request handler. See
SessionConfig::permission_handler.
elicitation_handler: Option<Arc<dyn ElicitationHandler>>Optional elicitation handler. See
SessionConfig::elicitation_handler.
mcp_auth_handler: Option<Arc<dyn McpAuthHandler>>Optional MCP OAuth handler. See SessionConfig::mcp_auth_handler.
user_input_handler: Option<Arc<dyn UserInputHandler>>Optional user-input handler. See
SessionConfig::user_input_handler.
exit_plan_mode_handler: Option<Arc<dyn ExitPlanModeHandler>>Optional exit-plan-mode handler. See
SessionConfig::exit_plan_mode_handler.
auto_mode_switch_handler: Option<Arc<dyn AutoModeSwitchHandler>>Optional auto-mode-switch handler. See
SessionConfig::auto_mode_switch_handler.
hooks_handler: Option<Arc<dyn SessionHooks>>Session hook handler. See SessionConfig::hooks_handler.
system_message_transform: Option<Arc<dyn SystemMessageTransform>>System-message transform. See SessionConfig::system_message_transform.
skip_custom_instructions: Option<bool>§custom_agents_local_only: Option<bool>§enable_experimental_mode: Option<bool>Controls whether the session enables experimental features.
Defaults to false in crate::ClientMode::Empty when unset;
in copilot-cli mode, leaving this unset lets the runtime decide.
manage_schedule_enabled: Option<bool>§event_buffer_capacity: Option<usize>Implementations§
Source§impl ResumeSessionConfig
impl ResumeSessionConfig
Sourcepub fn new(session_id: SessionId) -> Self
pub fn new(session_id: SessionId) -> Self
Construct a ResumeSessionConfig with the given session ID and all
other fields left unset. Combine with .with_* builders or struct
update syntax (..ResumeSessionConfig::new(id)) to populate the
fields you need.
Sourcepub fn with_permission_handler(
self,
handler: Arc<dyn PermissionHandler>,
) -> Self
pub fn with_permission_handler( self, handler: Arc<dyn PermissionHandler>, ) -> Self
Install a PermissionHandler for the resumed session.
Sourcepub fn with_elicitation_handler(
self,
handler: Arc<dyn ElicitationHandler>,
) -> Self
pub fn with_elicitation_handler( self, handler: Arc<dyn ElicitationHandler>, ) -> Self
Install an ElicitationHandler for the resumed session.
Sourcepub fn with_mcp_auth_handler(self, handler: Arc<dyn McpAuthHandler>) -> Self
pub fn with_mcp_auth_handler(self, handler: Arc<dyn McpAuthHandler>) -> Self
Install an McpAuthHandler for host-provided MCP OAuth tokens.
Sourcepub fn with_user_input_handler(self, handler: Arc<dyn UserInputHandler>) -> Self
pub fn with_user_input_handler(self, handler: Arc<dyn UserInputHandler>) -> Self
Install a UserInputHandler for the resumed session.
Sourcepub fn with_ask_user_variant(self, variant: AskUserVariant) -> Self
pub fn with_ask_user_variant(self, variant: AskUserVariant) -> Self
Select the model-facing shape of the built-in ask_user tool on resume.
Sourcepub fn with_exit_plan_mode_handler(
self,
handler: Arc<dyn ExitPlanModeHandler>,
) -> Self
pub fn with_exit_plan_mode_handler( self, handler: Arc<dyn ExitPlanModeHandler>, ) -> Self
Install an ExitPlanModeHandler for the resumed session.
Sourcepub fn with_auto_mode_switch_handler(
self,
handler: Arc<dyn AutoModeSwitchHandler>,
) -> Self
pub fn with_auto_mode_switch_handler( self, handler: Arc<dyn AutoModeSwitchHandler>, ) -> Self
Install an AutoModeSwitchHandler for the resumed session.
Sourcepub fn with_hooks(self, hooks: Arc<dyn SessionHooks>) -> Self
pub fn with_hooks(self, hooks: Arc<dyn SessionHooks>) -> Self
Install a SessionHooks handler. Automatically enables the
wire-level hooks flag on session resumption.
Sourcepub fn with_system_message_transform(
self,
transform: Arc<dyn SystemMessageTransform>,
) -> Self
pub fn with_system_message_transform( self, transform: Arc<dyn SystemMessageTransform>, ) -> Self
Install a SystemMessageTransform.
Sourcepub fn with_commands(self, commands: Vec<CommandDefinition>) -> Self
pub fn with_commands(self, commands: Vec<CommandDefinition>) -> Self
Register slash commands for the resumed session. See
SessionConfig::with_commands — commands are not persisted
server-side, so the resume payload re-supplies the registration.
Sourcepub fn with_session_fs_provider(
self,
provider: Arc<dyn SessionFsProvider>,
) -> Self
pub fn with_session_fs_provider( self, provider: Arc<dyn SessionFsProvider>, ) -> Self
Install a SessionFsProvider backing the resumed session’s
filesystem. See SessionConfig::with_session_fs_provider.
Sourcepub fn approve_all_permissions(self) -> Self
pub fn approve_all_permissions(self) -> Self
Auto-approve every permission request on the resumed session. See
SessionConfig::approve_all_permissions.
Sourcepub fn deny_all_permissions(self) -> Self
pub fn deny_all_permissions(self) -> Self
Auto-deny every permission request on the resumed session. See
SessionConfig::deny_all_permissions.
Sourcepub fn approve_permissions_if<F>(self, predicate: F) -> Self
pub fn approve_permissions_if<F>(self, predicate: F) -> Self
Apply a closure-based permission policy on the resumed session.
See SessionConfig::approve_permissions_if.
Sourcepub fn with_model(self, model: impl Into<String>) -> Self
pub fn with_model(self, model: impl Into<String>) -> Self
Set the model identifier to switch to on resume (e.g. "claude-sonnet-4").
Sourcepub fn with_allowed_models<I, S>(self, models: I) -> Self
pub fn with_allowed_models<I, S>(self, models: I) -> Self
Restrict the resumed session to the provided exact model IDs.
Passing an empty iterator sends an explicit empty list, which the runtime rejects.
Sourcepub fn with_client_name(self, name: impl Into<String>) -> Self
pub fn with_client_name(self, name: impl Into<String>) -> Self
Set the application name sent as User-Agent context.
Sourcepub fn with_reasoning_effort(self, effort: impl Into<String>) -> Self
pub fn with_reasoning_effort(self, effort: impl Into<String>) -> Self
Set the reasoning effort to apply on resume.
Sourcepub fn with_reasoning_summary(self, summary: ReasoningSummary) -> Self
pub fn with_reasoning_summary(self, summary: ReasoningSummary) -> Self
Set reasoning_summary.
Sourcepub fn with_context_tier(self, tier: impl Into<String>) -> Self
pub fn with_context_tier(self, tier: impl Into<String>) -> Self
Set the context window tier to apply on resume (e.g. "default",
"long_context").
Sourcepub fn with_streaming(self, streaming: bool) -> Self
pub fn with_streaming(self, streaming: bool) -> Self
Enable streaming token deltas via assistant.message_delta events.
Sourcepub fn with_system_message(self, system_message: SystemMessageConfig) -> Self
pub fn with_system_message(self, system_message: SystemMessageConfig) -> Self
Re-supply the system message so the agent retains workspace context across CLI process restarts.
Sourcepub fn with_tools<I: IntoIterator<Item = Tool>>(self, tools: I) -> Self
pub fn with_tools<I: IntoIterator<Item = Tool>>(self, tools: I) -> Self
Re-supply client-defined tools on resume.
Sourcepub fn with_canvases<I: IntoIterator<Item = CanvasDeclaration>>(
self,
canvases: I,
) -> Self
pub fn with_canvases<I: IntoIterator<Item = CanvasDeclaration>>( self, canvases: I, ) -> Self
Re-supply canvas declarations on resume.
Sourcepub fn with_canvas_handler(self, handler: Arc<dyn CanvasHandler>) -> Self
pub fn with_canvas_handler(self, handler: Arc<dyn CanvasHandler>) -> Self
Install the provider-side CanvasHandler for the resumed session.
Sourcepub fn with_open_canvases<I: IntoIterator<Item = OpenCanvasInstance>>(
self,
open_canvases: I,
) -> Self
pub fn with_open_canvases<I: IntoIterator<Item = OpenCanvasInstance>>( self, open_canvases: I, ) -> Self
Seed open canvas instances that were visible before resuming.
Sourcepub fn with_request_canvas_renderer(self, request: bool) -> Self
pub fn with_request_canvas_renderer(self, request: bool) -> Self
Request host canvas renderer tools for this connection on resume.
Sourcepub fn with_request_extensions(self, request: bool) -> Self
pub fn with_request_extensions(self, request: bool) -> Self
Request extension tools and dispatch for this connection on resume.
Sourcepub fn with_extension_sdk_path(self, path: impl Into<String>) -> Self
pub fn with_extension_sdk_path(self, path: impl Into<String>) -> Self
Override the bundled @github/copilot-sdk drop injected into extension
subprocesses for this resumed session. Invalid paths fall back to the
bundled SDK silently.
Sourcepub fn with_extension_info(self, extension_info: ExtensionInfo) -> Self
pub fn with_extension_info(self, extension_info: ExtensionInfo) -> Self
Set stable extension identity metadata for this connection on resume.
Sourcepub fn with_canvas_provider(
self,
canvas_provider: CanvasProviderIdentity,
) -> Self
pub fn with_canvas_provider( self, canvas_provider: CanvasProviderIdentity, ) -> Self
Set the canvas provider identity for this connection on resume so host-supplied canvases rehydrate against a stable extension id.
Sourcepub fn with_available_tools<I, S>(self, tools: I) -> Self
pub fn with_available_tools<I, S>(self, tools: I) -> Self
Set the allowlist of tool names the agent may use.
Sourcepub fn with_excluded_tools<I, S>(self, tools: I) -> Self
pub fn with_excluded_tools<I, S>(self, tools: I) -> Self
Set the blocklist of built-in tool names the agent must not use.
Sourcepub fn with_excluded_builtin_agents<I, S>(self, agents: I) -> Self
pub fn with_excluded_builtin_agents<I, S>(self, agents: I) -> Self
Set the built-in agent names to exclude from the resumed session.
Sourcepub fn with_mcp_servers(
self,
servers: IndexMap<String, McpServerConfig>,
) -> Self
pub fn with_mcp_servers( self, servers: IndexMap<String, McpServerConfig>, ) -> Self
Re-supply MCP server configurations on resume.
Sourcepub fn with_mcp_oauth_token_storage(self, mode: impl Into<String>) -> Self
pub fn with_mcp_oauth_token_storage(self, mode: impl Into<String>) -> Self
Set MCP OAuth token storage mode on resume.
See SessionConfig::with_mcp_oauth_token_storage for details.
Sourcepub fn with_auth_client_id_metadata_url(self, url: impl Into<String>) -> Self
pub fn with_auth_client_id_metadata_url(self, url: impl Into<String>) -> Self
Set the host OAuth client metadata document URL on resume.
Sourcepub fn with_embedding_cache_storage(
self,
embedding_cache_storage: impl Into<String>,
) -> Self
pub fn with_embedding_cache_storage( self, embedding_cache_storage: impl Into<String>, ) -> Self
Set embedding cache storage mode on resume.
Sourcepub fn with_enable_config_discovery(self, enable: bool) -> Self
pub fn with_enable_config_discovery(self, enable: bool) -> Self
Enables runtime discovery of supported configuration. Explicitly supplied configuration takes precedence over discovered values.
Sourcepub fn with_skip_embedding_retrieval(self, value: bool) -> Self
pub fn with_skip_embedding_retrieval(self, value: bool) -> Self
Sourcepub fn with_organization_custom_instructions(
self,
instructions: impl Into<String>,
) -> Self
pub fn with_organization_custom_instructions( self, instructions: impl Into<String>, ) -> Self
Sourcepub fn with_enable_on_demand_instruction_discovery(self, value: bool) -> Self
pub fn with_enable_on_demand_instruction_discovery(self, value: bool) -> Self
Sourcepub fn with_enable_file_hooks(self, value: bool) -> Self
pub fn with_enable_file_hooks(self, value: bool) -> Self
Sourcepub fn with_enable_host_git_operations(self, value: bool) -> Self
pub fn with_enable_host_git_operations(self, value: bool) -> Self
Sourcepub fn with_enable_session_store(self, value: bool) -> Self
pub fn with_enable_session_store(self, value: bool) -> Self
Sourcepub fn with_enable_skills(self, value: bool) -> Self
pub fn with_enable_skills(self, value: bool) -> Self
Set Self::enable_skills.
Sourcepub fn with_enable_mcp_apps(self, enable: bool) -> Self
pub fn with_enable_mcp_apps(self, enable: bool) -> Self
Experimental. This method is part of an experimental wire-protocol surface (SEP-1865) and may change or be removed in a future release.
Enable MCP Apps (SEP-1865) UI passthrough on resume. Defaults to
None (treated as false). See SessionConfig::enable_mcp_apps.
Sourcepub fn with_github_mcp_tool_config(self, config: GitHubMcpToolConfig) -> Self
pub fn with_github_mcp_tool_config(self, config: GitHubMcpToolConfig) -> Self
Set the built-in GitHub MCP server configuration.
Sourcepub fn with_skill_directories<I, P>(self, paths: I) -> Self
pub fn with_skill_directories<I, P>(self, paths: I) -> Self
Set skill directory paths passed through to the CLI on resume.
Sourcepub fn with_included_builtin_skills<I, S>(self, names: I) -> Self
pub fn with_included_builtin_skills<I, S>(self, names: I) -> Self
Set the runtime-bundled skill allowlist on resume.
Sourcepub fn with_instruction_directories<I, P>(self, paths: I) -> Self
pub fn with_instruction_directories<I, P>(self, paths: I) -> Self
Set additional directories to search for custom instruction files
on resume. Forwarded to the CLI; not the same as
with_skill_directories.
Sourcepub fn with_plugin_directories<I, P>(self, paths: I) -> Self
pub fn with_plugin_directories<I, P>(self, paths: I) -> Self
Set Open Plugin directory paths passed through to the CLI on resume.
Sourcepub fn with_large_output(self, config: LargeToolOutputConfig) -> Self
pub fn with_large_output(self, config: LargeToolOutputConfig) -> Self
Set the LargeToolOutputConfig forwarded to the CLI on resume.
Sourcepub fn with_tool_search(self, config: ToolSearchConfig) -> Self
pub fn with_tool_search(self, config: ToolSearchConfig) -> Self
Set the ToolSearchConfig overriding the runtime’s built-in
tool-search behavior on resume.
Sourcepub fn with_disabled_skills<I, S>(self, names: I) -> Self
pub fn with_disabled_skills<I, S>(self, names: I) -> Self
Set the names of skills to disable on resume.
Sourcepub fn with_disabled_mcp_servers<I, S>(self, names: I) -> Self
pub fn with_disabled_mcp_servers<I, S>(self, names: I) -> Self
Set exact MCP server names to disable for this session.
Sourcepub fn with_custom_agents<I: IntoIterator<Item = CustomAgentConfig>>(
self,
agents: I,
) -> Self
pub fn with_custom_agents<I: IntoIterator<Item = CustomAgentConfig>>( self, agents: I, ) -> Self
Re-supply custom agents on resume.
Sourcepub fn with_default_agent(self, agent: DefaultAgentConfig) -> Self
pub fn with_default_agent(self, agent: DefaultAgentConfig) -> Self
Configure the built-in default agent on resume.
Sourcepub fn with_agent(self, name: impl Into<String>) -> Self
pub fn with_agent(self, name: impl Into<String>) -> Self
Activate a named custom agent on resume.
Sourcepub fn with_infinite_sessions(self, config: InfiniteSessionConfig) -> Self
pub fn with_infinite_sessions(self, config: InfiniteSessionConfig) -> Self
Re-supply infinite session configuration on resume.
Sourcepub fn with_provider(self, provider: ProviderConfig) -> Self
pub fn with_provider(self, provider: ProviderConfig) -> Self
Re-supply BYOK provider configuration on resume.
Sourcepub fn with_capi(self, capi: CapiSessionOptions) -> Self
pub fn with_capi(self, capi: CapiSessionOptions) -> Self
Re-supply provider-scoped CAPI session options on resume.
Sourcepub fn with_providers(self, providers: Vec<NamedProviderConfig>) -> Self
pub fn with_providers(self, providers: Vec<NamedProviderConfig>) -> Self
Experimental. This method is part of an experimental multi-provider BYOK surface and may change or be removed in a future release.
Re-supply the named BYOK provider connections on resume. Attach
models referencing these with Self::with_models.
Sourcepub fn with_models(self, models: Vec<ProviderModelConfig>) -> Self
pub fn with_models(self, models: Vec<ProviderModelConfig>) -> Self
Experimental. This method is part of an experimental multi-provider BYOK surface and may change or be removed in a future release.
Re-supply the BYOK model definitions on resume, each referencing a
named provider supplied via Self::with_providers.
Sourcepub fn with_enable_session_telemetry(self, enable: bool) -> Self
pub fn with_enable_session_telemetry(self, enable: bool) -> Self
Enable or disable internal session telemetry on resume.
See Self::enable_session_telemetry for default and BYOK behavior.
Sourcepub fn with_enable_citations(self, enable: bool) -> Self
pub fn with_enable_citations(self, enable: bool) -> Self
Experimental. Enable native model citations for supported providers on resume.
Sourcepub fn with_enable_file_change_tracking(self, enable: bool) -> Self
pub fn with_enable_file_change_tracking(self, enable: bool) -> Self
Opt in to capturing file changes for session rewind and cumulative session diff when the resumed session has a valid baseline.
Sourcepub fn with_session_limits(self, limits: SessionLimitsConfig) -> Self
pub fn with_session_limits(self, limits: SessionLimitsConfig) -> Self
Experimental. Set limits for this session’s current accounting window.
Sourcepub fn with_model_capabilities(
self,
capabilities: ModelCapabilitiesOverride,
) -> Self
pub fn with_model_capabilities( self, capabilities: ModelCapabilitiesOverride, ) -> Self
Set per-property model capability overrides on resume.
Sourcepub fn with_memory(self, memory: MemoryConfiguration) -> Self
pub fn with_memory(self, memory: MemoryConfiguration) -> Self
Configure the runtime memory feature for the resumed session.
Sourcepub fn with_config_directory(self, dir: impl Into<PathBuf>) -> Self
pub fn with_config_directory(self, dir: impl Into<PathBuf>) -> Self
Override the default configuration directory location on resume.
Sourcepub fn with_working_directory(self, dir: impl Into<PathBuf>) -> Self
pub fn with_working_directory(self, dir: impl Into<PathBuf>) -> Self
Set the per-session working directory on resume.
Sourcepub fn with_additional_directories<I, P>(self, paths: I) -> Self
pub fn with_additional_directories<I, P>(self, paths: I) -> Self
Set directories the agent may access beyond the working directory on resume.
Sourcepub fn with_github_token(self, token: impl Into<String>) -> Self
pub fn with_github_token(self, token: impl Into<String>) -> Self
Set the per-session GitHub token on resume. See
SessionConfig::github_token for distinction from the
client-level token.
Sourcepub fn with_github_token_provider(
self,
provider: Arc<dyn GitHubTokenProvider>,
) -> Self
pub fn with_github_token_provider( self, provider: Arc<dyn GitHubTokenProvider>, ) -> Self
Install a rotating GitHub token provider for the resumed session.
The provider must return a positive remaining lifetime in seconds when
its callback completes. Production GitHub tokens typically last eight
hours. Mutually exclusive with with_github_token.
Sourcepub fn with_include_sub_agent_streaming_events(self, include: bool) -> Self
pub fn with_include_sub_agent_streaming_events(self, include: bool) -> Self
Forward sub-agent streaming events to this connection on resume.
Sourcepub fn with_remote_session(self, mode: RemoteSessionMode) -> Self
pub fn with_remote_session(self, mode: RemoteSessionMode) -> Self
Set per-session remote behavior on resume.
Sourcepub fn with_suppress_resume_event(self, suppress: bool) -> Self
pub fn with_suppress_resume_event(self, suppress: bool) -> Self
Force-fail resume if the session does not exist on disk, instead of silently starting a new session.
Sourcepub fn with_continue_pending_work(self, continue_pending: bool) -> Self
pub fn with_continue_pending_work(self, continue_pending: bool) -> Self
When true, instructs the runtime to continue any tool calls or
permission requests that were pending when the previous connection
was dropped. Use this together with
Client::force_stop to hand off a
session from one process to another without losing in-flight work.
Sourcepub fn with_skip_custom_instructions(self, value: bool) -> Self
pub fn with_skip_custom_instructions(self, value: bool) -> Self
Sourcepub fn with_custom_agents_local_only(self, value: bool) -> Self
pub fn with_custom_agents_local_only(self, value: bool) -> Self
Sourcepub fn with_enable_experimental_mode(
self,
enable_experimental_mode: bool,
) -> Self
pub fn with_enable_experimental_mode( self, enable_experimental_mode: bool, ) -> Self
Sourcepub fn with_manage_schedule_enabled(self, value: bool) -> Self
pub fn with_manage_schedule_enabled(self, value: bool) -> Self
Sourcepub fn with_feature_flags(self, feature_flags: HashMap<String, bool>) -> Self
pub fn with_feature_flags(self, feature_flags: HashMap<String, bool>) -> Self
Re-supply feature-flag values resolved by the host on resume.
Sourcepub fn with_event_buffer_capacity(self, capacity: usize) -> Self
pub fn with_event_buffer_capacity(self, capacity: usize) -> Self
Set Self::event_buffer_capacity.
A capacity of 0 is rejected with
ErrorKind::InvalidConfig by
Client::prepare_resume_session
and Client::resume_session; the
value is never clamped.
Sourcepub fn with_enable_managed_settings(self, enabled: bool) -> Self
pub fn with_enable_managed_settings(self, enabled: bool) -> Self
Opt the runtime into self-fetching enterprise managed settings on resume.
See SessionConfig::with_enable_managed_settings.
Sourcepub fn with_managed_settings(self, managed_settings: ManagedSettings) -> Self
pub fn with_managed_settings(self, managed_settings: ManagedSettings) -> Self
Inject a managed-settings layer (currently permission rules) on resume.
See SessionConfig::with_managed_settings. Must be re-supplied on
resume; omitting it clears the previously injected layer.