All Classes and Interfaces
Class
Description
The
abort session event.Data payload for
AbortEvent.Result for the
account.getQuota RPC method.Represents a custom agent available for selection in a session.
The
assistant.intent session event.Data payload for
AssistantIntentEvent.The
assistant.message_delta session event.Data payload for
AssistantMessageDeltaEvent.The
assistant.message session event.Data payload for
AssistantMessageEvent.A tool invocation request from the assistant
Tool call type: "function" for standard tool calls, "custom" for grammar-based tool calls.
The
assistant.reasoning_delta session event.Data payload for
AssistantReasoningDeltaEvent.The
assistant.reasoning session event.Data payload for
AssistantReasoningEvent.The
assistant.streaming_delta session event.Data payload for
AssistantStreamingDeltaEvent.The
assistant.turn_end session event.Data payload for
AssistantTurnEndEvent.The
assistant.turn_start session event.Data payload for
AssistantTurnStartEvent.Per-request cost and usage data from the CAPI copilot_usage response field
Token usage detail for a single billing category
The
assistant.usage session event.Data payload for
AssistantUsageEvent.Represents a file attachment to include with a message.
Authentication type
The
auto_mode_switch.completed session event.Data payload for
AutoModeSwitchCompletedEvent.The
auto_mode_switch.requested session event.Data payload for
AutoModeSwitchRequestedEvent.Azure OpenAI-specific configuration options.
Represents an inline base64-encoded binary attachment (blob) for messages.
The
capabilities.changed session event.Data payload for
CapabilitiesChangedEvent.UI capability changes
The
command.completed session event.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.
The
command.execute session event.Data payload for
CommandExecuteEvent.Functional interface for handling slash-command executions.
The
command.queued session event.Data payload for
CommandQueuedEvent.The
commands.changed session event.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
Represents the connection state of a
CopilotClient.Provides a client for interacting with the Copilot CLI server.
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.
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.
Configuration source
Server transport type: stdio, http, sse, or memory (local configs are normalized to stdio)
The user action: "accept" (submitted form), "decline" (explicitly refused), or "cancel" (dismissed)
The
elicitation.completed session event.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.
The
elicitation.requested session event.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.
The
exit_plan_mode.completed session event.Data payload for
ExitPlanModeCompletedEvent.The
exit_plan_mode.requested session event.Data payload for
ExitPlanModeRequestedEvent.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
The
external_tool.completed session event.Data payload for
ExternalToolCompletedEvent.The
external_tool.requested session event.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
The
hook.end session event.Data payload for
HookEndEvent.Context for a hook invocation.
The
hook.start session event.Data payload for
HookStartEvent.Configuration for infinite sessions with automatic context compaction and
workspace persistence.
Options for the
SessionUiApi.input(String, InputOptions) convenience
method.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.
Request parameters for the
mcp.config.add RPC method.Request parameters for the
mcp.config.disable RPC method.Request parameters for the
mcp.config.enable RPC method.Result for the
mcp.config.list RPC method.Request parameters for the
mcp.config.remove RPC method.Request parameters for the
mcp.config.update RPC method.Request parameters for the
mcp.discover RPC method.Result for the
mcp.discover RPC method.Configuration for a remote HTTP/SSE MCP (Model Context Protocol) server.
The
mcp.oauth_completed session event.Data payload for
McpOauthCompletedEvent.The
mcp.oauth_required session event.Data payload for
McpOauthRequiredEvent.Static OAuth client configuration, if the server specifies one
Abstract base class for MCP (Model Context Protocol) server configurations.
Connection status: connected, failed, needs-auth, pending, disabled, or not_configured
Configuration source: user, workspace, plugin, or builtin
Connection status: connected, failed, needs-auth, pending, disabled, or not_configured
New connection status: connected, failed, needs-auth, pending, disabled, or not_configured
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.
Billing information
Model billing information.
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
Feature flags indicating what the model supports
Feature flags indicating what the model supports
Information about an available model.
Model limits.
Policy state (if applicable)
Model policy state.
Result for the
models.list RPC method.Model support flags.
Model vision-specific limits.
The
pending_messages.modified session event.Data payload for
PendingMessagesModifiedEvent.The
permission.completed session event.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.
Represents a permission request from the AI assistant.
The
permission.requested session event.Data payload for
PermissionRequestedEvent.Result of a permission request decision.
Describes the outcome kind of a permission request result.
Request parameters for the
ping RPC method.Response from a ping request to the Copilot CLI server.
Result for the
ping RPC method.The type of operation performed on the plan file
Handler for post-tool-use hooks.
Input for a post-tool-use hook.
Output for a post-tool-use 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).
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.
The
sampling.completed session event.Data payload for
SamplingCompletedEvent.The
sampling.requested session event.Data payload for
SamplingRequestedEvent.Provides the SDK protocol version.
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.Internal request object for sending a message to a session.
Internal response object from sending a message.
API methods for the
account 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
sessionFs namespace.API methods for the
sessions namespace.API methods for the
skills namespace.API methods for the
skills.config namespace.API methods for the
tools namespace.API methods for the
agent namespace.Request parameters for the
session.agent.deselect RPC method.Result for the
session.agent.deselect RPC method.Request parameters for the
session.agent.getCurrent RPC method.Result for the
session.agent.getCurrent RPC method.Request parameters for the
session.agent.list RPC method.Result for the
session.agent.list RPC method.Request parameters for the
session.agent.reload RPC method.Result for the
session.agent.reload RPC method.Request parameters for the
session.agent.select RPC method.Result for the
session.agent.select RPC method.API methods for the
auth namespace.Request parameters for the
session.auth.getStatus RPC method.Result for the
session.auth.getStatus RPC method.The
session.background_tasks_changed session event.Data payload for
SessionBackgroundTasksChangedEvent.Represents the capabilities reported by the host for a session.
API methods for the
commands namespace.Request parameters for the
session.commands.handlePendingCommand RPC method.Result for the
session.commands.handlePendingCommand RPC method.The
session.compaction_complete session event.Data payload for
SessionCompactionCompleteEvent.The
session.compaction_start session event.Data payload for
SessionCompactionStartEvent.Configuration for creating a new Copilot session.
Working directory context for a session.
The
session.context_changed session event.Data payload for
SessionContextChangedEvent.The
session.custom_agents_updated session event.Data payload for
SessionCustomAgentsUpdatedEvent.Handler for session-end hooks.
Input for a session-end hook.
Output for a session-end hook.
The
session.error session event.Data payload for
SessionErrorEvent.Base class for all generated session events.
API methods for the
extensions namespace.Request parameters for the
session.extensions.disable RPC method.Result for the
session.extensions.disable RPC method.Request parameters for the
session.extensions.enable RPC method.Result for the
session.extensions.enable RPC method.Request parameters for the
session.extensions.list RPC method.Result for the
session.extensions.list RPC method.The
session.extensions_loaded session event.Data payload for
SessionExtensionsLoadedEvent.Request parameters for the
session.extensions.reload RPC method.Result for the
session.extensions.reload RPC method.API methods for the
fleet namespace.Request parameters for the
session.fleet.start RPC method.Result for the
session.fleet.start RPC method.Request parameters for the
sessionFs.appendFile RPC method.Describes a filesystem error.
Error classification
Request parameters for the
sessionFs.exists RPC method.Result for the
sessionFs.exists RPC method.Request parameters for the
sessionFs.mkdir RPC method.Request parameters for the
sessionFs.readdir RPC method.Result for the
sessionFs.readdir RPC method.Entry type
Request parameters for the
sessionFs.readdirWithTypes RPC method.Result for the
sessionFs.readdirWithTypes RPC method.Request parameters for the
sessionFs.readFile RPC method.Result for the
sessionFs.readFile RPC method.Request parameters for the
sessionFs.rename RPC method.Request parameters for the
sessionFs.rm RPC method.Path conventions used by this filesystem
Request parameters for the
sessionFs.setProvider RPC method.Result for the
sessionFs.setProvider RPC method.Request parameters for the
sessionFs.stat RPC method.Result for the
sessionFs.stat RPC method.Request parameters for the
sessionFs.writeFile RPC method.The
session.handoff session event.Data payload for
SessionHandoffEvent.API methods for the
history namespace.Request parameters for the
session.history.compact RPC method.Result for the
session.history.compact RPC method.Request parameters for the
session.history.truncate RPC method.Result for the
session.history.truncate RPC method.Hook handlers configuration for a session.
The
session.idle session event.Data payload for
SessionIdleEvent.The
session.info session event.Data payload for
SessionInfoEvent.API methods for the
instructions namespace.Request parameters for the
session.instructions.getSources RPC method.Result for the
session.instructions.getSources RPC method.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.
Request parameters for the
session.log RPC method.Result for the
session.log RPC method.API methods for the
mcp namespace.Request parameters for the
session.mcp.disable RPC method.Result for the
session.mcp.disable RPC method.Request parameters for the
session.mcp.enable RPC method.Result for the
session.mcp.enable RPC method.Request parameters for the
session.mcp.list RPC method.Result for the
session.mcp.list RPC method.API methods for the
mcp.oauth namespace.Request parameters for the
session.mcp.oauth.login RPC method.Result for the
session.mcp.oauth.login RPC method.Request parameters for the
session.mcp.reload RPC method.Result for the
session.mcp.reload RPC method.The
session.mcp_servers_loaded session event.Data payload for
SessionMcpServersLoadedEvent.The
session.mcp_server_status_changed session event.Data payload for
SessionMcpServerStatusChangedEvent.Metadata about an existing Copilot session.
The agent mode.
API methods for the
mode namespace.The
session.mode_changed session event.Data payload for
SessionModeChangedEvent.Request parameters for the
session.mode.get RPC method.Result for the
session.mode.get RPC method.The current agent mode.
API methods for the
model namespace.The
session.model_change session event.Data payload for
SessionModelChangeEvent.Request parameters for the
session.model.getCurrent RPC method.Result for the
session.model.getCurrent RPC method.Request parameters for the
session.model.switchTo RPC method.Result for the
session.model.switchTo RPC method.Request parameters for the
session.mode.set RPC method.Result for the
session.mode.set RPC method.The agent mode after switching.
API methods for the
name namespace.Request parameters for the
session.name.get RPC method.Result for the
session.name.get RPC method.Request parameters for the
session.name.set RPC method.API methods for the
permissions namespace.Request parameters for the
session.permissions.handlePendingPermissionRequest RPC method.Result for the
session.permissions.handlePendingPermissionRequest RPC method.Request parameters for the
session.permissions.resetSessionApprovals RPC method.Result for the
session.permissions.resetSessionApprovals RPC method.Request parameters for the
session.permissions.setApproveAll RPC method.Result for the
session.permissions.setApproveAll RPC method.API methods for the
plan namespace.The
session.plan_changed session event.Data payload for
SessionPlanChangedEvent.Request parameters for the
session.plan.delete RPC method.Result for the
session.plan.delete RPC method.Request parameters for the
session.plan.read RPC method.Result for the
session.plan.read RPC method.Request parameters for the
session.plan.update RPC method.Result for the
session.plan.update RPC method.API methods for the
plugins namespace.Request parameters for the
session.plugins.list RPC method.Result for the
session.plugins.list RPC method.The
session.remote_steerable_changed session event.Data payload for
SessionRemoteSteerableChangedEvent.The
session.resume session event.Data payload for
SessionResumeEvent.Typed client for session-scoped RPC methods.
Request parameters for the
sessions.fork RPC method.Result for the
sessions.fork RPC method.API methods for the
shell namespace.Request parameters for the
session.shell.exec RPC method.Result for the
session.shell.exec RPC method.Request parameters for the
session.shell.kill RPC method.Result for the
session.shell.kill RPC method.The
session.shutdown session event.Data payload for
SessionShutdownEvent.API methods for the
skills namespace.Request parameters for the
session.skills.disable RPC method.Result for the
session.skills.disable RPC method.Request parameters for the
session.skills.enable RPC method.Result for the
session.skills.enable RPC method.Request parameters for the
session.skills.list RPC method.Result for the
session.skills.list RPC method.The
session.skills_loaded session event.Data payload for
SessionSkillsLoadedEvent.Request parameters for the
session.skills.reload RPC method.Result for the
session.skills.reload RPC method.The
session.snapshot_rewind session event.Data payload for
SessionSnapshotRewindEvent.The
session.start session event.Data payload for
SessionStartEvent.Handler for session-start hooks.
Input for a session-start hook.
Output for a session-start hook.
The
session.task_complete session event.Data payload for
SessionTaskCompleteEvent.The
session.title_changed session event.Data payload for
SessionTitleChangedEvent.API methods for the
tools namespace.Request parameters for the
session.tools.handlePendingToolCall RPC method.Result for the
session.tools.handlePendingToolCall RPC method.The
session.tools_updated session event.Data payload for
SessionToolsUpdatedEvent.The
session.truncation session event.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.
Request parameters for the
session.ui.elicitation RPC method.The elicitation response (accept with form values, decline, or cancel)
Request parameters for the
session.ui.handlePendingElicitation RPC method.Result for the
session.ui.handlePendingElicitation RPC method.API methods for the
usage namespace.Request parameters for the
session.usage.getMetrics RPC method.Result for the
session.usage.getMetrics RPC method.The
session.usage_info session event.Data payload for
SessionUsageInfoEvent.The
session.warning session event.Data payload for
SessionWarningEvent.API methods for the
workspace namespace.Request parameters for the
session.workspace.createFile RPC method.Result for the
session.workspace.createFile RPC method.The
session.workspace_file_changed session event.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.Request parameters for the
session.workspaces.createFile RPC method.Request parameters for the
session.workspaces.getWorkspace RPC method.Result for the
session.workspaces.getWorkspace RPC method.Request parameters for the
session.workspaces.listFiles RPC method.Result for the
session.workspaces.listFiles RPC method.Request parameters for the
session.workspaces.readFile RPC method.Result for the
session.workspaces.readFile RPC method.Response from session.setForeground RPC call.
Signal to send (default: SIGTERM)
Aggregate code change metrics for the session
Request count and cost metrics
Token usage breakdown
Whether the session ended normally ("routine") or due to a crash/fatal error ("error")
The
skill.invoked session event.Data payload for
SkillInvokedEvent.Request parameters for the
skills.config.setDisabledSkills RPC method.Request parameters for the
skills.discover RPC method.Result for the
skills.discover RPC method.The
subagent.completed session event.Data payload for
SubagentCompletedEvent.The
subagent.deselected session event.Data payload for
SubagentDeselectedEvent.The
subagent.failed session event.Data payload for
SubagentFailedEvent.The
subagent.selected session event.Data payload for
SubagentSelectedEvent.The
subagent.started session event.Data payload for
SubagentStartedEvent.Configuration for customizing the system message.
The
system.message session event.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
The
system.notification session event.Data payload for
SystemNotificationEvent.Well-known system prompt section identifiers for use with
SystemMessageMode#CUSTOMIZE mode.OpenTelemetry configuration for the Copilot CLI server.
Binary result from a tool execution.
Defines a tool that can be invoked by the AI assistant.
Error details when the tool execution failed
The
tool.execution_complete session event.Data payload for
ToolExecutionCompleteEvent.Tool execution result on success
The
tool.execution_partial_result session event.Data payload for
ToolExecutionPartialResultEvent.The
tool.execution_progress session event.Data payload for
ToolExecutionProgressEvent.The
tool.execution_start session event.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.
Request parameters for the
tools.list RPC method.Result for the
tools.list RPC method.The
tool.user_requested session event.Data payload for
ToolUserRequestedEvent.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
Fallback for event types not yet known to this SDK version.
Aggregated code change metrics
Request count and cost metrics for this model
Token usage metrics for this model
The
user_input.completed session event.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.
The
user_input.requested session event.Data payload for
UserInputRequestedEvent.Response to a user input request.
The agent mode that was active when this message was sent
The
user.message session event.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)
Whether the file was newly created or updated