All Classes and Interfaces

Class
Description
Session event "abort".
Data payload for AbortEvent.
Finite reason code describing why the current turn was aborted
Finite reason code describing why the current turn was aborted
Quota usage snapshots for the resolved user, keyed by quota type.
Schema for the `AccountQuotaSnapshot` type.
Schema for the `AgentInfo` type.
Represents a custom agent available for selection in a session.
Where the agent definition was loaded from
The UI mode the agent is in for a given turn.
Inputs to spawn a managed-server child via the controller's spawn delegate.
Permission posture for the new session.
Session event "assistant.intent".
Data payload for AssistantIntentEvent.
Session event "assistant.message_delta".
Data payload for AssistantMessageDeltaEvent.
Session event "assistant.message".
Data payload for AssistantMessageEvent.
Session event "assistant.message_start".
Data payload for AssistantMessageStartEvent.
A tool invocation request from the assistant
Tool call type: "function" for standard tool calls, "custom" for grammar-based tool calls.
Session event "assistant.reasoning_delta".
Session event "assistant.reasoning".
Data payload for AssistantReasoningEvent.
Session event "assistant.streaming_delta".
Session event "assistant.turn_end".
Data payload for AssistantTurnEndEvent.
Session event "assistant.turn_start".
Data payload for AssistantTurnStartEvent.
API endpoint used for this model call, matching CAPI supported_endpoints vocabulary
Per-request cost and usage data from the CAPI copilot_usage response field
Token usage detail for a single billing category
Session event "assistant.usage".
Data payload for AssistantUsageEvent.
Schema for the `AssistantUsageQuotaSnapshot` type.
Represents a file attachment to include with a message.
Authentication type
Session event "auto_mode_switch.completed".
Handler for auto-mode-switch requests from the agent.
Context for an auto-mode-switch request invocation.
Request to switch to auto mode after an eligible rate limit.
Session event "auto_mode_switch.requested".
The user's auto-mode-switch choice
Response to an auto-mode-switch request.
The type of operation performed on the autopilot objective state file
Current autopilot objective status, if one exists
Azure OpenAI-specific configuration options.
Represents an inline base64-encoded binary attachment (blob) for messages.
Curated sets of built-in tool names for common scenarios.
Canvas action that the agent or host can invoke.
Canvas close parameters sent to the provider.
Host context supplied by the runtime.
Host capabilities
Runtime-controlled routing state for an open canvas instance.
Canvas action invocation parameters sent to the provider.
Runtime-controlled routing state for the instance.
Canvas open parameters sent to the provider.
Canvas open result returned by the provider.
Schema for the `CanvasRegistryChangedCanvas` type.
Schema for the `CanvasRegistryChangedCanvasAction` type.
Session context supplied by the runtime.
Session event "capabilities.changed".
Data payload for CapabilitiesChangedEvent.
UI capability changes
Options for creating a remote session in the cloud.
GitHub repository metadata to associate with a cloud session.
Session event "command.completed".
Data payload for CommandCompletedEvent.
Context passed to a CommandHandler when a slash command is executed.
Defines a slash command that users can invoke from the CLI TUI.
Session event "command.execute".
Data payload for CommandExecuteEvent.
Functional interface for handling slash-command executions.
Session event "command.queued".
Data payload for CommandQueuedEvent.
Schema for the `CommandsChangedCommand` type.
Session event "commands.changed".
Data payload for CommandsChangedEvent.
Wire-format representation of a command definition for RPC serialization.
Token usage breakdown for the compaction LLM call (aligned with assistant.usage format)
Per-request cost and usage data from the CAPI copilot_usage response field
Token usage detail for a single billing category
Metadata for a connected remote session.
Neutral SDK discriminator for the connected remote session kind.
Repository associated with the connected remote session.
Represents the connection state of a CopilotClient.
Optional connection token presented by the SDK client during the handshake.
Handshake result reporting the server's protocol version and package version on success.
Provides a client for interacting with the Copilot CLI server.
Selects the defaulting strategy used by CopilotClient.
Configuration options for creating a CopilotClient.
Represents a single conversation session with the Copilot CLI.
Internal request object for creating a new session.
Internal response object from creating a session.
Configuration for a custom agent in a Copilot session.
Schema for the `CustomAgentsUpdatedAgent` type.
Configuration for the default agent (the built-in agent that handles turns when no custom agent is selected).
Internal response object from deleting a session.
Canvas available in the current session.
Schema for the `DiscoveredMcpServer` type.
Configuration source
Server transport type: stdio, http, sse (deprecated), or memory
The user action: "accept" (submitted form), "decline" (explicitly refused), or "cancel" (dismissed)
Session event "elicitation.completed".
Data payload for ElicitationCompletedEvent.
Context for an elicitation request received from the server or MCP tools.
Functional interface for handling elicitation requests from the server.
Parameters for an elicitation request sent from the SDK to the host.
Session event "elicitation.requested".
Data payload for ElicitationRequestedEvent.
Elicitation mode; "form" for structured input, "url" for browser-based.
JSON Schema describing the form fields to present to the user (form mode only)
Result returned from an elicitation dialog.
Action value for an ElicitationResult.
JSON Schema describing the form fields to present for an elicitation dialog.
A handler for errors thrown by event handlers during event dispatch.
Controls how event dispatch behaves when an event handler throws an exception.
Agent-scope filter: 'primary' returns only main-agent events plus events whose type starts with 'subagent.'
Cursor status: 'ok' means the cursor was applied successfully; 'expired' means the cursor referred to an event that no longer exists in history (e.g. truncated or compacted away) and the read started from the beginning of the remaining history.
Exit plan mode action
Session event "exit_plan_mode.completed".
Data payload for ExitPlanModeCompletedEvent.
Handler for exit-plan-mode requests from the agent.
Context for an exit-plan-mode request invocation.
Request to exit plan mode and continue with a selected action.
Session event "exit_plan_mode.requested".
Data payload for ExitPlanModeRequestedEvent.
Response to an exit-plan-mode request.
Schema for the `Extension` type.
Schema for the `ExtensionsLoadedExtension` type.
Discovery source
Current status: running, disabled, failed, or starting
Discovery source: project (.github/extensions/) or user (~/.copilot/extensions/)
Current status: running, disabled, failed, or starting
Session event "external_tool.completed".
Data payload for ExternalToolCompletedEvent.
Session event "external_tool.requested".
Data payload for ExternalToolRequestedEvent.
Response from the auth.getStatus RPC call.
Response from session.getForeground RPC call.
Internal response object from getting the last session ID.
Internal response object from getting session messages.
Response from the models.list RPC call.
Internal response object from getting session metadata by ID.
Response from the status.get RPC call.
Repository context for the handed-off session
Origin type of the session being handed off
Post-compaction context window usage breakdown
Error details when the hook failed
Session event "hook.end".
Data payload for HookEndEvent.
Context for a hook invocation.
Session event "hook.progress".
Data payload for HookProgressEvent.
Session event "hook.start".
Data payload for HookStartEvent.
Configuration for infinite sessions with automatic context compaction and workspace persistence.
Options for the SessionUiApi.input(String, InputOptions) convenience method.
Schema for the `InstalledPlugin` type.
Schema for the `InstructionsSources` type.
Where this source lives — used for UI grouping
Category of instruction source — used for merge logic
JSON-RPC 2.0 error structure.
JSON-RPC 2.0 request structure.
JSON-RPC 2.0 response structure.
Internal response object from listing sessions.
Capability negotiation snapshot
What the server returned for this session
Current host context
Allowed values for the `McpAppsHostContextDetailsAvailableDisplayMode` enumeration.
Current display mode (SEP-1865)
Platform type for responsive design
UI theme preference per SEP-1865
Schema for the `McpAppsResourceContent` type.
Host context advertised to MCP App guests
Allowed values for the `McpAppsSetHostContextDetailsAvailableDisplayMode` enumeration.
Current display mode (SEP-1865)
Platform type for responsive design
UI theme preference per SEP-1865
Set when the underlying tools/call threw an error before returning a CallToolResult
Session event "mcp_app.tool_call_complete".
Data payload for McpAppToolCallCompleteEvent.
The tool's `_meta.ui` block at the time of the call, so consumers can decide whether to forward the result to the model without re-listing tools.
Schema for the `McpAppToolCallCompleteToolMetaUI` type.
MCP server name and configuration to add to user configuration.
MCP server names to disable for new sessions.
MCP server names to enable for new sessions.
User-configured MCP servers, keyed by server name.
MCP server name to remove from user configuration.
MCP server name and replacement configuration to write to user configuration.
Optional working directory used as context for MCP server discovery.
MCP servers discovered from user, workspace, plugin, and built-in sources.
Raw MCP CreateMessageRequest params, as received in the `sampling.requested` event.
MCP CreateMessageResult payload (with optional 'tools' extension), present when action='success'.
Configuration for a remote HTTP/SSE MCP (Model Context Protocol) server.
Session event "mcp.oauth_completed".
Data payload for McpOauthCompletedEvent.
Session event "mcp.oauth_required".
Data payload for McpOauthRequiredEvent.
Static OAuth client configuration, if the server specifies one
Outcome of the sampling inference.
Schema for the `McpServer` type.
Abstract base class for MCP (Model Context Protocol) server configurations.
Schema for the `McpServersLoadedServer` type.
Connection status: connected, failed, needs-auth, pending, disabled, or not_configured
Configuration source: user, workspace, plugin, or builtin
Configuration source: user, workspace, plugin, or builtin
Connection status: connected, failed, needs-auth, pending, disabled, or not_configured
Connection status: connected, failed, needs-auth, pending, disabled, or not_configured
New connection status: connected, failed, needs-auth, pending, disabled, or not_configured
Transport mechanism: stdio, http, sse (deprecated), or memory (in-process MCP server)
How environment-variable values supplied to MCP servers are resolved.
Configuration for a local/stdio MCP (Model Context Protocol) server.
Marker interface for all attachment types that can be included in a message.
Options for sending a message to a Copilot session.
The current agent mode for this session (e.g., 'interactive', 'plan', 'autopilot')
Remote-session-specific metadata.
The repository the remote session targets.
Whether the remote task originated from Copilot Coding Agent (cca) or a CLI `--remote` invocation.
Schema for the `Model` type.
Billing information
Model billing information.
Token-level pricing information for this model
Long context tier pricing (available for models with extended context windows)
Session event "model.call_failure".
Data payload for ModelCallFailureEvent.
Where the failed model call originated
Model capabilities and limits
Model capabilities and limits.
Token limits for prompts, outputs, and context window
Vision-specific limits
Override individual model capabilities resolved by the runtime
Per-property overrides for model capabilities, deep-merged over runtime defaults.
Token limit overrides for model capabilities.
Feature flag overrides for model capabilities.
Token limits for prompts, outputs, and context window
Vision-specific limits
Feature flags indicating what the model supports
Feature flags indicating what the model supports
Information about an available model.
Model limits.
Model capability category for grouping in the model picker
Relative cost tier for token-based billing users
Policy state (if applicable)
Model policy state.
Current policy state for this model
List of Copilot models available to the resolved user, including capabilities and billing metadata.
Model support flags.
Model vision-specific limits.
Open canvas instance snapshot.
How env values are passed to MCP servers (`direct` inlines literal values; `indirect` resolves at launch).
Controls how availableTools (allowlist) and excludedTools (denylist) combine when both are set.
Session event "pending_messages.modified".
Schema for the `PendingPermissionRequest` type.
Session event "permission.completed".
Data payload for PermissionCompletedEvent.
The outcome of the permission request
The result of the permission request
Functional interface for handling permission requests from the AI assistant.
Context information for a permission request invocation.
Whether the location is a git repo or directory
If specified, replaces the session's path-permission policy.
Represents a permission request from the AI assistant.
Session event "permission.requested".
Data payload for PermissionRequestedEvent.
Result of a permission request decision.
Describes the outcome kind of a permission request result.
Schema for the `PermissionRule` type.
If specified, replaces the session's approved/denied permission rules.
Schema for the `PermissionsConfigureAdditionalContentExclusionPolicy` type.
Schema for the `PermissionsConfigureAdditionalContentExclusionPolicyRule` type.
Schema for the `PermissionsConfigureAdditionalContentExclusionPolicyRuleSource` type.
Allowed values for the `PermissionsConfigureAdditionalContentExclusionPolicyScope` enumeration.
Whether the change applies to ephemeral session-scoped rules (cleared at session end) or to location-scoped rules persisted via the location-permissions config file.
Optional source for allow-all telemetry.
If specified, replaces the session's URL-permission policy.
Optional message to echo back to the caller.
Response from a ping request to the Copilot CLI server.
Server liveness response, including the echoed message, current server timestamp, and protocol version.
The type of operation performed on the plan file
Schema for the `Plugin` type.
Handler for post-tool-use-failure hooks.
Input for a post-tool-use-failure hook.
Output for a post-tool-use-failure hook.
Handler for post-tool-use hooks.
Input for a post-tool-use hook.
Output for a post-tool-use hook.
Handler for pre-MCP-tool-call hooks.
Input for a pre-MCP-tool-call hook.
Output for a pre-MCP-tool-call hook.
Handler for pre-tool-use hooks.
Input for a pre-tool-use hook.
Output for a pre-tool-use hook.
Configuration for a custom API provider (BYOK - Bring Your Own Key).
Schema for the `QueuePendingItems` type.
Whether this item is a queued user message or a queued slash command / model change
Reasoning summary mode used for model calls, if applicable (e.g.
Reasoning summary mode to request for supported model clients
Per-session remote mode.
Configuration for resuming an existing Copilot session.
Internal request object for resuming an existing session.
Internal response object from resuming a session.
Interface for invoking JSON-RPC methods with typed responses.
Session event "sampling.completed".
Data payload for SamplingCompletedEvent.
Session event "sampling.requested".
Data payload for SamplingRequestedEvent.
Schema for the `ScheduleEntry` type.
Provides the SDK protocol version.
Secret values to add to the redaction filter.
Confirmation that the secret values were registered.
Override operation for a single system prompt section in SystemMessageMode#CUSTOMIZE mode.
Specifies the operation to perform on a system prompt section in SystemMessageMode#CUSTOMIZE mode.
The UI mode the agent was in when this message was sent.
Internal request object for sending a message to a session.
Internal response object from sending a message.
How to deliver the message.
API methods for the account namespace.
API methods for the agentRegistry namespace.
API methods for the mcp namespace.
API methods for the mcp.config namespace.
API methods for the models namespace.
Typed client for server-level RPC methods.
API methods for the secrets namespace.
API methods for the sessionFs namespace.
API methods for the sessions namespace.
Schema for the `ServerSkill` type.
API methods for the skills namespace.
API methods for the skills.config namespace.
API methods for the tools namespace.
Parameters for aborting the current turn
Result of aborting the current turn
API methods for the agent namespace.
Identifies the target session.
Result for the session.agent.deselect RPC method.
Identifies the target session.
The currently selected custom agent, or null when using the default agent.
Identifies the target session.
Custom agents available to the session.
Identifies the target session.
Custom agents available to the session after reloading definitions from disk.
Name of the custom agent to select for subsequent turns.
The newly selected custom agent.
API methods for the auth namespace.
Identifies the target session.
Authentication status and account metadata for the session.
New auth credentials to install on the session.
Indicates whether the credential update succeeded.
Session event "session.autopilot_objective_changed".
Session event "session.background_tasks_changed".
API methods for the canvas namespace.
Canvas close parameters.
Canvas action invocation parameters.
Canvas action invocation result.
Identifies the target session.
Live open-canvas snapshot.
Identifies the target session.
Declared canvases available in this session.
Session event "session.canvas.opened".
Data payload for SessionCanvasOpenedEvent.
Canvas open parameters.
Open canvas instance snapshot.
Session event "session.canvas.registry_changed".
Represents the capabilities reported by the host for a session.
API methods for the commands namespace.
Slash-prefixed command string to enqueue for FIFO processing.
Indicates whether the command was accepted into the local execution queue.
Slash command name and argument string to execute synchronously.
Error message produced while executing the command, if any.
Pending command request ID and an optional error if the client handler failed.
Indicates whether the pending client-handled command was completed successfully.
Slash command name and optional raw input string to invoke.
Optional filters controlling which command sources to include in the listing.
Slash commands available in the session, after applying any include/exclude filters.
Queued-command request ID and the result indicating whether the host executed it (and whether to stop processing further queued commands).
Indicates whether the queued-command response was matched to a pending request.
Session event "session.compaction_complete".
Session event "session.compaction_start".
Data payload for SessionCompactionStartEvent.
Configuration for creating a new Copilot session.
Schema for the `SessionContext` type.
Working directory context for a session.
Session event "session.context_changed".
Data payload for SessionContextChangedEvent.
Repository host type
Session event "session.custom_agents_updated".
Session event "session.custom_notification".
Handler for session-end hooks.
Input for a session-end hook.
Output for a session-end hook.
Session event "session.error".
Data payload for SessionErrorEvent.
Base class for all generated session events.
API methods for the eventLog namespace.
Cursor, batch size, and optional long-poll/filter parameters for reading session events.
Batch of session events returned by a read, with cursor and continuation metadata.
Event type to register consumer interest for, used by runtime gating logic.
Opaque handle representing an event-type interest registration.
Opaque handle previously returned by `registerInterest` to release.
Indicates whether the operation succeeded.
Identifies the target session.
Snapshot of the current tail cursor without returning any events.
API methods for the extensions namespace.
Source-qualified extension identifier to disable for the session.
Result for the session.extensions.disable RPC method.
Source-qualified extension identifier to enable for the session.
Result for the session.extensions.enable RPC method.
Identifies the target session.
Extensions discovered for the session, with their current status.
Session event "session.extensions_loaded".
Identifies the target session.
Result for the session.extensions.reload RPC method.
API methods for the fleet namespace.
Optional user prompt to combine with the fleet orchestration instructions.
Indicates whether fleet mode was successfully activated.
File path, content to append, and optional mode for the client-provided session filesystem.
Describes a filesystem error.
Error classification
Path to test for existence in the client-provided session filesystem.
Indicates whether the requested path exists in the client-provided session filesystem.
Directory path to create in the client-provided session filesystem, with options for recursive creation and POSIX mode.
Directory path whose entries should be listed from the client-provided session filesystem.
Names of entries in the requested directory, or a filesystem error if the read failed.
Schema for the `SessionFsReaddirWithTypesEntry` type.
Entry type
Directory path whose entries (with type information) should be listed from the client-provided session filesystem.
Entries in the requested directory paired with file/directory type information, or a filesystem error if the read failed.
Path of the file to read from the client-provided session filesystem.
File content as a UTF-8 string, or a filesystem error if the read failed.
Source and destination paths for renaming or moving an entry in the client-provided session filesystem.
Path to remove from the client-provided session filesystem, with options for recursive removal and force.
Optional capabilities declared by the provider
Path conventions used by this filesystem
Initial working directory, session-state path layout, and path conventions used to register the calling SDK client as the session filesystem provider.
Indicates whether the calling client was registered as the session filesystem provider.
Identifies the target session.
Indicates whether the per-session SQLite database already exists.
SQL query, query type, and optional bind parameters for executing a SQLite query against the per-session database.
Query results including rows, columns, and rows affected, or a filesystem error if execution failed.
How to execute the query: 'exec' for DDL/multi-statement (no results), 'query' for SELECT (returns rows), 'run' for INSERT/UPDATE/DELETE (returns rowsAffected)
Path whose metadata should be returned from the client-provided session filesystem.
Filesystem metadata for the requested path, or a filesystem error if the stat failed.
File path, content to write, and optional mode for the client-provided session filesystem.
Session event "session.handoff".
Data payload for SessionHandoffEvent.
Identifies the target session.
Indicates whether an in-progress manual compaction was aborted.
API methods for the history namespace.
Identifies the target session.
Indicates whether an in-progress background compaction was cancelled.
Optional compaction parameters.
Compaction outcome with the number of tokens and messages removed, summary text, and the resulting context window breakdown.
Identifies the target session.
Markdown summary of the conversation context (empty when not available).
Identifier of the event to truncate to; this event and all later events are removed.
Number of events that were removed by the truncation.
Hook handlers configuration for a session.
Session event "session.idle".
Data payload for SessionIdleEvent.
Session event "session.info".
Data payload for SessionInfoEvent.
Schema for the `SessionInstalledPlugin` type.
API methods for the instructions namespace.
Identifies the target session.
Instruction sources loaded for the session, in merge order.
Session lifecycle event notification.
Metadata for session lifecycle events.
Types of session lifecycle events.
Handler for session lifecycle events.
Filter options for listing sessions.
Log severity level.
Message text, optional severity level, persistence flag, optional follow-up URL, and optional tip.
Identifier of the session event that was emitted for the log message.
API methods for the lsp namespace.
Parameters for (re)loading the merged LSP configuration set.
API methods for the mcp namespace.
API methods for the mcp.apps namespace.
MCP server, tool name, and arguments to invoke from an MCP App view.
MCP server to diagnose MCP Apps wiring for.
Diagnostic snapshot of MCP Apps wiring for the named server.
Identifies the target session.
Current host context advertised to MCP App guests.
MCP server to list app-callable tools for.
App-callable tools from the named MCP server.
MCP server and resource URI to fetch.
Resource contents returned by the MCP server.
Host context to advertise to MCP App guests.
The requestId previously passed to executeSampling that should be cancelled.
Indicates whether an in-flight sampling execution with the given requestId was found and cancelled.
Name of the MCP server to disable for the session.
Result for the session.mcp.disable RPC method.
Name of the MCP server to enable for the session.
Result for the session.mcp.enable RPC method.
Identifiers and raw MCP CreateMessageRequest params used to run a sampling inference.
Outcome of an MCP sampling execution: success result, failure error, or cancellation.
Identifies the target session.
MCP servers configured for the session, with their connection status.
API methods for the mcp.oauth namespace.
Remote MCP server name and optional overrides controlling reauthentication, OAuth client display name, and the callback success-page copy.
OAuth authorization URL the caller should open, or empty when cached tokens already authenticated the server.
Identifies the target session.
Result for the session.mcp.reload RPC method.
Identifies the target session.
Indicates whether the auto-managed `github` MCP server was removed (false when nothing to remove).
Session event "session.mcp_servers_loaded".
Session event "session.mcp_server_status_changed".
Mode controlling how MCP server env values are resolved (`direct` or `indirect`).
Env-value mode recorded on the session after the update.
Schema for the `SessionMetadata` type.
Metadata about an existing Copilot session.
API methods for the metadata namespace.
Model identifier and token limits used to compute the context-info breakdown.
Token breakdown for the session's current context window, or null if uninitialized.
Token-usage breakdown for the session's current context window
Identifies the target session.
Indicates whether the local session is currently processing a turn or background continuation.
Model identifier to use when re-tokenizing the session's existing messages.
Re-tokenize the session's existing messages against `modelId` and return the token totals.
Updated working-directory/git context to record on the session.
Notify the session that its working directory context has changed.
Absolute path to set as the session's new working directory.
Update the session's working directory.
Identifies the target session.
Point-in-time snapshot of slow-changing session identifier and state fields
Public-facing projection of workspace metadata for SDK / TUI consumers
The session mode the agent is operating in
The session mode the agent is operating in
API methods for the mode namespace.
Session event "session.mode_changed".
Data payload for SessionModeChangedEvent.
Identifies the target session.
Result for the session.mode.get RPC method.
The current agent mode.
API methods for the model namespace.
Session event "session.model_change".
Data payload for SessionModelChangeEvent.
 
Identifies the target session.
The currently selected model and reasoning effort for the session.
Reasoning effort level to apply to the currently selected model.
Update the session's reasoning effort without changing the selected model.
Target model identifier and optional reasoning effort, summary, and capability overrides.
The model identifier active on the session after the switch.
Agent interaction mode to apply to the session.
Result for the session.mode.set RPC method.
The agent mode after switching.
API methods for the name namespace.
Identifies the target session.
The session's friendly name, or null when not yet set.
Auto-generated session summary to apply as the session's name when no user-set name exists.
Indicates whether the auto-generated summary was applied as the session's name.
New friendly name to apply to the session.
API methods for the options namespace.
Patch of mutable session options to apply to the running session.
Indicates whether the session options patch was applied successfully.
API methods for the permissions namespace.
Session event "session.permissions_changed".
Patch of permission policy fields to apply (omit a field to leave it unchanged).
Indicates whether the operation succeeded.
Folder path to add to trusted folders.
Indicates whether the operation succeeded.
API methods for the permissions.folderTrust namespace.
Folder path to check for trust.
Folder trust check result.
No parameters.
Current full allow-all permission state.
Pending permission request ID and the decision to apply (approve/reject and scope).
Indicates whether the permission decision was applied; false when the request was already resolved.
Location-scoped tool approval to persist.
Indicates whether the operation succeeded.
API methods for the permissions.locations namespace.
Working directory to load persisted location permissions for.
Summary of persisted location permissions applied to the session.
Working directory to resolve into a location-permissions key.
Resolved location-permissions key and type.
Scope and add/remove instructions for modifying session- or location-scoped permission rules.
Indicates whether the operation succeeded.
Notification payload describing the permission prompt that the client just rendered.
Indicates whether the operation succeeded.
Directory path to add to the session's allowed directories.
Indicates whether the operation succeeded.
API methods for the permissions.paths namespace.
Path to evaluate against the session's allowed directories.
Indicates whether the supplied path is within the session's allowed directories.
Path to evaluate against the session's workspace (primary) directory.
Indicates whether the supplied path is within the session's workspace directory.
No parameters; returns the session's allow-listed directories.
Snapshot of the session's allow-listed directories and primary working directory.
Directory path to set as the session's new primary working directory.
Indicates whether the operation succeeded.
No parameters; returns currently-pending permission requests for the session.
List of pending permission requests reconstructed from event history.
No parameters; clears all session-scoped tool permission approvals.
Indicates whether the operation succeeded.
Whether to enable full allow-all permissions for the session.
Indicates whether the operation succeeded and reports the post-mutation state.
Allow-all toggle for tool permission requests, with an optional telemetry source.
Indicates whether the operation succeeded.
Toggles whether permission prompts should be bridged into session events for this client.
Indicates whether the operation succeeded.
API methods for the permissions.urls namespace.
Whether the URL-permission policy should run in unrestricted mode.
Indicates whether the operation succeeded.
API methods for the plan namespace.
Session event "session.plan_changed".
Data payload for SessionPlanChangedEvent.
Identifies the target session.
Result for the session.plan.delete RPC method.
Identifies the target session.
Existence, contents, and resolved path of the session plan file.
Replacement contents to write to the session plan file.
Result for the session.plan.update RPC method.
API methods for the plugins namespace.
Identifies the target session.
Plugins installed for the session, with their enabled state and version metadata.
API methods for the queue namespace.
Identifies the target session.
Identifies the target session.
Snapshot of the session's pending queued items and immediate-steering messages.
Identifies the target session.
Indicates whether a user-facing pending item was removed.
API methods for the remote namespace.
Identifies the target session.
Optional remote session mode ("off", "export", or "on"); defaults to enabling both export and remote steering.
GitHub URL for the session and a flag indicating whether remote steering is enabled.
New remote-steerability state to persist as a `session.remote_steerable_changed` event.
Persist a steerability change as a `session.remote_steerable_changed` event.
Session event "session.remote_steerable_changed".
Session event "session.resume".
Data payload for SessionResumeEvent.
Typed client for session-scoped RPC methods.
Session IDs to close, deactivate, and delete from disk.
Map of sessionId -> bytes freed by removing the session's workspace directory.
Session IDs to test for live in-use locks.
Session IDs from the input set that are currently in use by another process.
API methods for the schedule namespace.
Session event "session.schedule_cancelled".
Session event "session.schedule_created".
Data payload for SessionScheduleCreatedEvent.
Identifies the target session.
Snapshot of the currently active recurring prompts for this session.
Identifier of the scheduled prompt to remove.
Remove a scheduled prompt by id.
Session ID to close.
Closes a session: emits shutdown, flushes pending events to disk, releases the in-use lock, disposes the active session.
Remote session connection parameters.
Remote session connection result.
Parameters for sending a user message to the session
Result of sending a user message
Session metadata records to enrich with summary and context information.
The enriched metadata records, with summary and context fields backfilled where available.
UUID prefix to resolve to a unique session ID.
Session ID matching the prefix, omitted when no unique match exists.
GitHub task ID to look up.
ID of the local session bound to the given GitHub task, or omitted when none.
Source session identifier to fork from, optional event-ID boundary, and optional friendly name for the new session.
Identifier and optional friendly name assigned to the newly forked session.
Session ID whose event-log file path to compute.
Absolute path to the session's events.jsonl file on disk.
Optional working-directory context used to score session relevance.
Most-relevant session ID for the supplied context, or omitted when no sessions exist.
Session ID to look up the persisted remote-steerable flag for.
The session's persisted remote-steerable flag, or omitted when no value has been persisted.
Map of sessionId -> on-disk size in bytes for each session's workspace directory.
API methods for the shell namespace.
Shell command to run, with optional working directory and timeout in milliseconds.
Identifier of the spawned process, used to correlate streamed output and exit notifications.
Identifier of a process previously returned by "shell.exec" and the signal to send.
Indicates whether the signal was delivered; false if the process was unknown or already exited.
Session event "session.shutdown".
Data payload for SessionShutdownEvent.
Parameters for shutting down the session
API methods for the skills namespace.
Name of the skill to disable for the session.
Result for the session.skills.disable RPC method.
Name of the skill to enable for the session.
Result for the session.skills.enable RPC method.
Identifies the target session.
Identifies the target session.
Skills invoked during this session, ordered by invocation time (most recent last).
Identifies the target session.
Skills available to the session, with their enabled state.
Session event "session.skills_loaded".
Data payload for SessionSkillsLoadedEvent.
Identifies the target session.
Diagnostics from reloading skill definitions, with warnings and errors as separate lists.
Persisted sessions matching the filter, ordered most-recently-modified first.
Active session ID whose deferred repo-level hooks should be loaded.
Queued repo-level startup prompts and the total hook command count after loading.
Session event "session.snapshot_rewind".
Data payload for SessionSnapshotRewindEvent.
Age threshold and optional flags controlling which old sessions are pruned (or simulated when dryRun is true).
Outcome of the prune operation: deleted IDs, dry-run candidates, skipped IDs, total bytes freed, and the dry-run flag.
Session ID whose in-use lock should be released.
Release the in-use lock held by this process for the given session.
Active session ID and an optional flag for deferring repo-level hooks until folder trust.
Reload all hooks (user, plugin, optionally repo) and apply them to the active session.
Session ID whose pending events should be flushed to disk.
Flush a session's pending events to disk.
Manager-wide additional plugins to register; replaces any previously-configured set.
Replace the manager-wide additional plugins.
Session event "session.start".
Data payload for SessionStartEvent.
Handler for session-start hooks.
Input for a session-start hook.
Output for a session-start hook.
Identifies the target session.
Session event "session.task_complete".
Data payload for SessionTaskCompleteEvent.
API methods for the tasks namespace.
Identifier of the background task to cancel.
Indicates whether the background task was successfully cancelled.
Identifies the target session.
The first sync-waiting task that can currently be promoted to background mode.
Identifier of the background task to fetch progress for.
Progress information for the task, or null when no task with that ID is tracked.
Identifies the target session.
Background tasks currently tracked by the session.
Identifies the target session.
The promoted task as it now exists in background mode, omitted if no promotable task was waiting.
Identifier of the task to promote to background mode.
Indicates whether the task was successfully promoted to background mode.
Identifies the target session.
Refresh metadata for any detached background shells the runtime knows about.
Identifier of the completed or cancelled task to remove from tracking.
Indicates whether the task was removed.
Identifier of the target agent task, message content, and optional sender agent ID.
Indicates whether the message was delivered, with an error message when delivery failed.
Agent type, prompt, name, and optional description and model override for the new task.
Identifier assigned to the newly started background agent task.
Identifies the target session.
Wait until all in-flight background tasks (agents + shells) and any follow-up turns scheduled by their completions have settled.
API methods for the telemetry namespace.
Feature override key/value pairs to attach to subsequent telemetry events from this session.
Session event "session.title_changed".
Data payload for SessionTitleChangedEvent.
API methods for the tools namespace.
Pending external tool call request ID, with the tool result or an error describing why it failed.
Indicates whether the external tool call result was handled successfully.
Identifies the target session.
Resolve, build, and validate the runtime tool list for this session.
Session event "session.tools_updated".
Data payload for SessionToolsUpdatedEvent.
Session event "session.truncation".
Data payload for SessionTruncationEvent.
API methods for the ui namespace.
Provides UI methods for eliciting information from the user during a session.
UI-specific capability flags for a session.
Prompt message and JSON schema describing the form fields to elicit from the user.
The elicitation response (accept with form values, decline, or cancel)
Request ID of a pending `auto_mode_switch.requested` event and the user's response.
Indicates whether the pending UI request was resolved by this call.
Pending elicitation request ID and the user's response (accept/decline/cancel + form values).
Indicates whether the elicitation response was accepted; false if it was already resolved by another client.
Request ID of a pending `exit_plan_mode.requested` event and the user's response.
Indicates whether the pending UI request was resolved by this call.
Request ID of a pending `sampling.requested` event and an optional sampling result payload (omit to reject).
Indicates whether the pending UI request was resolved by this call.
Request ID of a pending `user_input.requested` event and the user's response.
Indicates whether the pending UI request was resolved by this call.
Identifies the target session.
Register an in-process handler for `auto_mode_switch.requested` events.
Opaque handle previously returned by `registerDirectAutoModeSwitchHandler` to release.
Indicates whether the handle was active and the registration count was decremented.
API methods for the usage namespace.
Identifies the target session.
Accumulated session usage metrics, including premium request cost, token counts, model breakdown, and code-change totals.
Session event "session.usage_info".
Data payload for SessionUsageInfoEvent.
Session event "session.warning".
Data payload for SessionWarningEvent.
Updated working directory and git context.
Hosting platform type of the repository
API methods for the workspace namespace.
Request parameters for the session.workspace.createFile RPC method.
Result for the session.workspace.createFile RPC method.
Session event "session.workspace_file_changed".
Request parameters for the session.workspace.listFiles RPC method.
Result for the session.workspace.listFiles RPC method.
Request parameters for the session.workspace.readFile RPC method.
Result for the session.workspace.readFile RPC method.
API methods for the workspaces namespace.
Relative path and UTF-8 content for the workspace file to create or overwrite.
Parameters for computing a workspace diff.
Workspace diff result for the requested mode.
Identifies the target session.
Current workspace metadata for the session, including its absolute filesystem path when available.
 
Identifies the target session.
Workspace checkpoints in chronological order; empty when the workspace is not enabled.
Identifies the target session.
Relative paths of files stored in the session workspace files directory.
Checkpoint number to read.
Checkpoint content as a UTF-8 string, or null when the checkpoint or workspace is missing.
Relative path of the workspace file to read.
Contents of the requested workspace file as a UTF-8 string.
Pasted content to save as a UTF-8 file in the session workspace.
Descriptor for the saved paste file, or null when the workspace is unavailable.
 
Request body for session.setForeground RPC call.
Response from session.setForeground RPC call.
Signal to send (default: SIGTERM)
Aggregate code change metrics for the session
Schema for the `ShutdownModelMetric` type.
Request count and cost metrics
Schema for the `ShutdownModelMetricTokenDetail` type.
Token usage breakdown
Schema for the `ShutdownTokenDetail` type.
Why the session is being shut down.
Whether the session ended normally ("routine") or due to a crash/fatal error ("error")
Schema for the `Skill` type.
Session event "skill.invoked".
Data payload for SkillInvokedEvent.
What triggered the skill invocation: `user-invoked` (explicit user action, such as via a slash command or UI affordance), `agent-invoked` (agent requested the skill), or `context-load` (loaded as part of another context, such as preloading skills configured on a custom agent or subagent)
Skill names to mark as disabled in global configuration, replacing any previous list.
Optional project paths and additional skill directories to include in discovery.
Skills discovered across global and project sources.
Schema for the `SkillsInvokedSkill` type.
Schema for the `SkillsLoadedSkill` type.
Source location type (e.g., project, personal-copilot, plugin, builtin)
Source location type (e.g., project, personal-copilot, plugin, builtin)
Schema for the `SlashCommandInfo` type.
Optional unstructured input hint
Optional completion hint for the input (e.g.
Coarse command category for grouping and behavior: runtime built-in, skill-backed command, or SDK/client-owned command
Session event "subagent.completed".
Data payload for SubagentCompletedEvent.
Session event "subagent.deselected".
Data payload for SubagentDeselectedEvent.
Session event "subagent.failed".
Data payload for SubagentFailedEvent.
Session event "subagent.selected".
Data payload for SubagentSelectedEvent.
Session event "subagent.started".
Data payload for SubagentStartedEvent.
Configuration for customizing the system message.
Session event "system.message".
Data payload for SystemMessageEvent.
Metadata about the prompt template and its construction
Specifies how the system message should be applied to a session.
Message role: "system" for system prompts, "developer" for developer-injected instructions
Session event "system.notification".
Data payload for SystemNotificationEvent.
Well-known system prompt section identifiers for use with SystemMessageMode#CUSTOMIZE mode.
OpenTelemetry configuration for the Copilot CLI server.
Schema for the `Tool` type.
Binary result from a tool execution.
Defines a tool that can be invoked by the AI assistant.
Error details when the tool execution failed
Session event "tool.execution_complete".
Data payload for ToolExecutionCompleteEvent.
Tool execution result on success
Tool definition metadata, present for MCP tools with MCP Apps support
MCP Apps metadata for UI resource association
Schema for the `ToolExecutionCompleteToolDescriptionMetaUI` type.
Allowed values for the `ToolExecutionCompleteToolDescriptionMetaUIVisibility` enumeration.
MCP Apps UI resource content for rendering in a sandboxed iframe
Resource-level UI metadata (CSP, permissions, visual preferences)
Schema for the `ToolExecutionCompleteUIResourceMetaUI` type.
Schema for the `ToolExecutionCompleteUIResourceMetaUICsp` type.
Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissions` type.
Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissionsCamera` type.
Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissionsClipboardWrite` type.
Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissionsGeolocation` type.
Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissionsMicrophone` type.
Session event "tool.execution_partial_result".
Session event "tool.execution_progress".
Data payload for ToolExecutionProgressEvent.
Session event "tool.execution_start".
Data payload for ToolExecutionStartEvent.
Functional interface for handling tool invocations from the AI assistant.
Represents a tool invocation request from the AI assistant.
Result object returned from a tool execution.
Builder for SessionConfig.setAvailableTools(java.util.List) / SessionConfig.setExcludedTools(java.util.List) using source-qualified filter patterns (builtin:*, mcp:<name>, custom:*, etc.).
Optional model identifier whose tool overrides should be applied to the listing.
Built-in tools available for the requested model, with their parameters and instructions.
Session event "tool.user_requested".
Data payload for ToolUserRequestedEvent.
User's choice for auto-mode switching: yes (allow this turn), yes_always (allow + persist as setting), or no (decline).
The elicitation response (accept with form values, decline, or cancel)
The user's response: accept (submitted), decline (rejected), or cancel (dismissed)
JSON Schema describing the form fields to present to the user
The action the user selected.
Schema for the `UIExitPlanModeResponse` type.
Optional sampling result payload.
Schema for the `UIUserInputResponse` type.
Fallback for event types not yet known to this SDK version.
Aggregated code change metrics
Schema for the `UsageMetricsModelMetric` type.
Request count and cost metrics for this model
Schema for the `UsageMetricsModelMetricTokenDetail` type.
Token usage metrics for this model
Schema for the `UsageMetricsTokenDetail` type.
Session event "user_input.completed".
Data payload for UserInputCompletedEvent.
Handler for user input requests from the agent.
Context for a user input request invocation.
Request for user input from the agent.
Session event "user_input.requested".
Data payload for UserInputRequestedEvent.
Response to a user input request.
The agent mode that was active when this message was sent
Session event "user.message".
Data payload for UserMessageEvent.
Handler for user-prompt-submitted hooks.
Input for a user-prompt-submitted hook.
Output for a user-prompt-submitted hook.
Working directory and git context at session start
Hosting platform type of the repository (github or ado)
A single changed file and its unified diff.
Type of change represented by this file diff.
Diff mode requested by the client.
Whether the file was newly created or updated
Schema for the `WorkspacesCheckpoints` type.
Repository host type, if known
Allowed values for the `WorkspacesWorkspaceDetailsHostType` enumeration.