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".
Data payload for
AssistantReasoningDeltaEvent.Session event "assistant.reasoning".
Data payload for
AssistantReasoningEvent.Session event "assistant.streaming_delta".
Data payload for
AssistantStreamingDeltaEvent.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".
Data payload for
AutoModeSwitchCompletedEvent.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".
Data payload for
AutoModeSwitchRequestedEvent.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".
Data payload for
PendingMessagesModifiedEvent.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".
Data payload for
SessionAutopilotObjectiveChangedEvent.Session event "session.background_tasks_changed".
Data payload for
SessionBackgroundTasksChangedEvent.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".
Data payload for
SessionCanvasRegistryChangedEvent.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".
Data payload for
SessionCompactionCompleteEvent.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".
Data payload for
SessionCustomAgentsUpdatedEvent.Session event "session.custom_notification".
Data payload for
SessionCustomNotificationEvent.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".
Data payload for
SessionExtensionsLoadedEvent.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".
Data payload for
SessionMcpServersLoadedEvent.Session event "session.mcp_server_status_changed".
Data payload for
SessionMcpServerStatusChangedEvent.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".
Data payload for
SessionPermissionsChangedEvent.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".
Data payload for
SessionRemoteSteerableChangedEvent.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".
Data payload for
SessionScheduleCancelledEvent.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".
Data payload for
SessionWorkspaceFileChangedEvent.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".
Data payload for
ToolExecutionPartialResultEvent.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.