Create a new conversation session with the Copilot CLI. Sessions maintain conversation state, handle events, and manage tool execution. If the client is not yet connected, this will automatically start the connection. Args: on_permission_request
(
self,
*,
on_permission_request: _PermissionHandlerFn | None = None,
model: str | None = None,
session_id: str | None = None,
client_name: str | None = None,
reasoning_effort: ReasoningEffort | None = None,
reasoning_summary: ReasoningSummary | None = None,
context_tier: ContextTier | None = None,
tools: list[Tool] | None = None,
system_message: SystemMessageConfig | None = None,
available_tools: list[str] | ToolSet | None = None,
excluded_tools: list[str] | ToolSet | None = None,
on_user_input_request: UserInputHandler | None = None,
hooks: SessionHooks | None = None,
working_directory: str | None = None,
provider: ProviderConfig | None = None,
capi: CapiSessionOptions | None = None,
providers: list[NamedProviderConfig] | None = None,
models: list[ProviderModelConfig] | None = None,
enable_session_telemetry: bool | None = None,
enable_citations: bool | None = None,
excluded_builtin_agents: list[str] | None = None,
session_limits: SessionLimitsConfig | None = None,
skip_custom_instructions: bool | None = None,
custom_agents_local_only: bool | None = None,
coauthor_enabled: bool | None = None,
manage_schedule_enabled: bool | None = None,
model_capabilities: ModelCapabilitiesOverride | None = None,
streaming: bool | None = None,
include_sub_agent_streaming_events: bool | None = None,
mcp_servers: dict[str, MCPServerConfig] | None = None,
mcp_oauth_token_storage: Literal["persistent", "in-memory"] | None = None,
embedding_cache_storage: Literal["persistent", "in-memory"] | None = None,
custom_agents: list[CustomAgentConfig] | None = None,
default_agent: DefaultAgentConfig | dict[str, Any] | None = None,
agent: str | None = None,
config_directory: str | None = None,
enable_config_discovery: bool | None = None,
skip_embedding_retrieval: bool | None = None,
organization_custom_instructions: str | None = None,
enable_on_demand_instruction_discovery: bool | None = None,
enable_file_hooks: bool | None = None,
enable_host_git_operations: bool | None = None,
enable_session_store: bool | None = None,
enable_skills: bool | None = None,
skill_directories: list[str] | None = None,
plugin_directories: list[str] | None = None,
instruction_directories: list[str] | None = None,
disabled_skills: list[str] | None = None,
infinite_sessions: InfiniteSessionConfig | None = None,
large_output: LargeToolOutputConfig | None = None,
memory: MemoryConfiguration | None = None,
on_event: Callable[[SessionEvent], None] | None = None,
commands: list[CommandDefinition] | None = None,
on_elicitation_request: ElicitationHandler | None = None,
on_mcp_auth_request: McpAuthHandler | None = None,
enable_mcp_apps: bool = False,
on_exit_plan_mode_request: ExitPlanModeHandler | None = None,
on_auto_mode_switch_request: AutoModeSwitchHandler | None = None,
create_session_fs_handler: CreateSessionFsHandler | None = None,
github_token: str | None = None,
remote_session: RemoteSessionMode | None = None,
cloud: CloudSessionOptions | None = None,
canvases: list[CanvasDeclaration] | None = None,
request_canvas_renderer: bool | None = None,
request_extensions: bool | None = None,
extension_sdk_path: str | None = None,
extension_info: ExtensionInfo | None = None,
canvas_handler: CanvasHandler | None = None,
exp_assignments: dict[str, Any] | None = None,
)
| 1654 | self._runtime_port = None |
| 1655 | |
| 1656 | async def create_session( |
| 1657 | self, |
| 1658 | *, |
| 1659 | on_permission_request: _PermissionHandlerFn | None = None, |
| 1660 | model: str | None = None, |
| 1661 | session_id: str | None = None, |
| 1662 | client_name: str | None = None, |
| 1663 | reasoning_effort: ReasoningEffort | None = None, |
| 1664 | reasoning_summary: ReasoningSummary | None = None, |
| 1665 | context_tier: ContextTier | None = None, |
| 1666 | tools: list[Tool] | None = None, |
| 1667 | system_message: SystemMessageConfig | None = None, |
| 1668 | available_tools: list[str] | ToolSet | None = None, |
| 1669 | excluded_tools: list[str] | ToolSet | None = None, |
| 1670 | on_user_input_request: UserInputHandler | None = None, |
| 1671 | hooks: SessionHooks | None = None, |
| 1672 | working_directory: str | None = None, |
| 1673 | provider: ProviderConfig | None = None, |
| 1674 | capi: CapiSessionOptions | None = None, |
| 1675 | providers: list[NamedProviderConfig] | None = None, |
| 1676 | models: list[ProviderModelConfig] | None = None, |
| 1677 | enable_session_telemetry: bool | None = None, |
| 1678 | enable_citations: bool | None = None, |
| 1679 | excluded_builtin_agents: list[str] | None = None, |
| 1680 | session_limits: SessionLimitsConfig | None = None, |
| 1681 | skip_custom_instructions: bool | None = None, |
| 1682 | custom_agents_local_only: bool | None = None, |
| 1683 | coauthor_enabled: bool | None = None, |
| 1684 | manage_schedule_enabled: bool | None = None, |
| 1685 | model_capabilities: ModelCapabilitiesOverride | None = None, |
| 1686 | streaming: bool | None = None, |
| 1687 | include_sub_agent_streaming_events: bool | None = None, |
| 1688 | mcp_servers: dict[str, MCPServerConfig] | None = None, |
| 1689 | mcp_oauth_token_storage: Literal["persistent", "in-memory"] | None = None, |
| 1690 | embedding_cache_storage: Literal["persistent", "in-memory"] | None = None, |
| 1691 | custom_agents: list[CustomAgentConfig] | None = None, |
| 1692 | default_agent: DefaultAgentConfig | dict[str, Any] | None = None, |
| 1693 | agent: str | None = None, |
| 1694 | config_directory: str | None = None, |
| 1695 | enable_config_discovery: bool | None = None, |
| 1696 | skip_embedding_retrieval: bool | None = None, |
| 1697 | organization_custom_instructions: str | None = None, |
| 1698 | enable_on_demand_instruction_discovery: bool | None = None, |
| 1699 | enable_file_hooks: bool | None = None, |
| 1700 | enable_host_git_operations: bool | None = None, |
| 1701 | enable_session_store: bool | None = None, |
| 1702 | enable_skills: bool | None = None, |
| 1703 | skill_directories: list[str] | None = None, |
| 1704 | plugin_directories: list[str] | None = None, |
| 1705 | instruction_directories: list[str] | None = None, |
| 1706 | disabled_skills: list[str] | None = None, |
| 1707 | infinite_sessions: InfiniteSessionConfig | None = None, |
| 1708 | large_output: LargeToolOutputConfig | None = None, |
| 1709 | memory: MemoryConfiguration | None = None, |
| 1710 | on_event: Callable[[SessionEvent], None] | None = None, |
| 1711 | commands: list[CommandDefinition] | None = None, |
| 1712 | on_elicitation_request: ElicitationHandler | None = None, |
| 1713 | on_mcp_auth_request: McpAuthHandler | None = None, |