goose ACP Reference
This reference documents goose-specific Agent Client Protocol methods. Standard ACP methods are documented by the Agent Client Protocol specification.
goose version: v1.48.0
This file is generated from
crates/goose/acp-schema.jsonandcrates/goose/acp-meta.json. Do not edit it manually.
Client-to-agent requests
| Method | Schemas |
|---|---|
_goose/List user-facing agent mention targets for @ autocomplete. | Request: ListResponse: List |
_goose/ | Request: AppsResponse: Apps |
_goose/ | Request: AppsResponse: Apps |
_goose/ | Request: AppsResponse: Apps |
_goose/ | Request: AppsResponse: Apps |
_goose/Persist a new extension to the user's global goose config. | Request: AddResponse: Empty |
_goose/List configured extensions and any warnings. | Request: GetResponse: Get |
_goose/Remove a persisted extension from the user's global goose config. | Request: RemoveResponse: Empty |
_goose/Set the enabled flag for a persisted extension in the user's global goose config. | Request: SetResponse: Empty |
_goose/Read a Goose prompt template. | Request: GetResponse: Get |
_goose/List all available Goose prompt templates. | Request: ListResponse: List |
_goose/Reset a Goose prompt template to its default content. | Request: ResetResponse: Prompt |
_goose/Save a custom Goose prompt template. | Request: SaveResponse: Prompt |
_goose/ | Request: ConfigResponse: Config |
_goose/ | Request: ConfigResponse: Config |
_goose/ | Request: ConfigResponse: Empty |
_goose/ | Request: ConfigResponse: Empty |
_goose/Clear Goose default provider and model configuration. | Request: DefaultsResponse: Defaults |
_goose/Read Goose default provider and model configuration. | Request: DefaultsResponse: Defaults |
_goose/Save Goose default provider and model configuration. | Request: DefaultsResponse: Defaults |
_goose/ | Request: DiagnosticsResponse: Diagnostics |
_goose/Get the configuration status of all dictation providers. | Request: DictationResponse: Dictation |
_goose/Cancel an in-flight download. | Request: DictationResponse: Empty |
_goose/Delete a downloaded local Whisper model from disk. | Request: DictationResponse: Empty |
_goose/Kick off a background download of a local Whisper model. | Request: DictationResponse: Empty |
_goose/Poll the progress of an in-flight download. | Request: DictationResponse: Dictation |
_goose/List available local Whisper models with their download status. | Request: DictationResponse: Dictation |
_goose/Persist the user's model selection for a given provider. | Request: DictationResponse: Empty |
_goose/Remove a dictation provider secret value. | Request: DictationResponse: Empty |
_goose/Set a dictation provider secret value. | Request: DictationResponse: Empty |
_goose/Transcribe audio via a dictation provider. | Request: DictationResponse: Dictation |
_goose/List Goose-owned extension definitions available to configure or enable. | Request: GetResponse: Get |
_goose/ | Request: LocalResponse: Local |
_goose/ | Request: LocalResponse: Local |
_goose/ | Request: LocalResponse: Local |
_goose/ | Request: LocalResponse: Empty |
_goose/ | Request: LocalResponse: Local |
_goose/ | Request: LocalResponse: Empty |
_goose/ | Request: LocalResponse: Local |
_goose/ | Request: LocalResponse: Empty |
_goose/ | Request: LocalResponse: Local |
_goose/ | Request: LocalResponse: Local |
_goose/ | Request: LocalResponse: Local |
_goose/Import selected onboarding candidates. | Request: OnboardingResponse: Onboarding |
_goose/Scan for existing Goose and compatible app data that onboarding can import. | Request: OnboardingResponse: Onboarding |
_goose/Read allowlisted user preferences. Empty keys means all supported preferences. | Request: PreferencesResponse: Preferences |
_goose/Remove allowlisted user preferences. | Request: PreferencesResponse: Empty |
_goose/Save allowlisted user preferences. | Request: PreferencesResponse: Empty |
_goose/Look up canonical (bundled-registry) model info for a provider/model pair. | Request: CanonicalResponse: Canonical |
_goose/List custom-provider catalog entries. Omit format to list all formats. | Request: ProviderResponse: Provider |
_goose/Return the editable template for one catalog provider. | Request: ProviderResponse: Provider |
_goose/Run a provider-owned native authentication flow and start an inventory refresh when supported. | Request: ProviderResponse: Provider |
_goose/Delete provider configuration fields and start an inventory refresh when supported. | Request: ProviderResponse: Provider |
_goose/Read saved configuration field values for one provider. | Request: ProviderResponse: Provider |
_goose/Save provider configuration fields and start an inventory refresh when supported. | Request: ProviderResponse: Provider |
_goose/Return provider configured statuses. Empty provider_ids means all providers. | Request: ProviderResponse: Provider |
_goose/Create a custom provider backed by Goose's declarative provider store. | Request: CustomResponse: Custom |
_goose/Delete a custom provider from Goose's declarative provider store. | Request: CustomResponse: Custom |
_goose/Read a declarative provider config. Custom configs are editable; bundled configs are read-only. | Request: CustomResponse: Custom |
_goose/Update a custom provider backed by Goose's declarative provider store. | Request: CustomResponse: Custom |
_goose/Trigger a background refresh of provider inventories. | Request: RefreshResponse: Refresh |
_goose/List providers with setup metadata and the current model inventory snapshot. | Request: ListResponse: List |
_goose/Check whether an ACP provider can initialize and create a session. | Request: ProviderResponse: Provider |
_goose/Delete a locally stored provider credential by id. | Request: ProviderResponse: Empty |
_goose/List provider credentials stored locally by Goose. | Request: ProviderResponse: Provider |
_goose/List provider setup catalog entries | Request: ProviderResponse: Provider |
_goose/List the raw model identifiers returned by a provider's live supported-models API. | Request: ProviderResponse: Provider |
_goose/ | Request: DecodeResponse: Decode |
_goose/ | Request: DeleteResponse: Empty |
_goose/ | Request: EncodeResponse: Encode |
_goose/ | Request: ListResponse: List |
_goose/ | Request: ParseResponse: Parse |
_goose/ | Request: SaveResponse: Save |
_goose/ | Request: ScanResponse: Scan |
_goose/ | Request: ScheduleResponse: Empty |
_goose/ | Request: SetResponse: Empty |
_goose/ | Request: RecipeResponse: Recipe |
_goose/Read a resource from an extension. | Request: ReadResponse: Read |
_goose/ | Request: CreateResponse: Create |
_goose/ | Request: DeleteResponse: Empty |
_goose/ | Request: ListResponse: List |
_goose/ | Request: PauseResponse: Empty |
_goose/ | Request: RunResponse: Run |
_goose/ | Request: InspectResponse: Inspect |
_goose/ | Request: KillResponse: Kill |
_goose/ | Request: ListResponse: List |
_goose/ | Request: UnpauseResponse: Empty |
_goose/ | Request: UpdateResponse: Update |
_goose/Archive a session (soft delete). | Request: ArchiveResponse: Empty |
_goose/Truncate a session conversation from the given message timestamp onward. | Request: TruncateResponse: Empty |
_goose/Export a session as a JSON or markdown string. | Request: ExportResponse: Export |
_goose/Add an extension to an active session. | Request: AddResponse: Empty |
_goose/ | Request: GetResponse: Get |
_goose/Remove an extension from an active session. | Request: RemoveResponse: Empty |
_goose/Import a session from a JSON string or share link. | Request: ImportResponse: Import |
_goose/Return list-style metadata for a single session without loading the conversation. | Request: GetResponse: Get |
_goose/Update the project association for a session. | Request: UpdateResponse: Empty |
_goose/Rename a session. | Request: RenameResponse: Empty |
_goose/ | Request: ShareResponse: Share |
_goose/Add user input to the currently active prompt without starting a new prompt. | Request: SteerResponse: Steer |
_goose/Set, append, or clear system prompt text for a session. mode: "set" replaces Goose's base system prompt. mode: "append" adds aninstruction under "Additional Instructions". Reusing a key replaces the previous value for that mode/key; sending empty text clears it. | Request: SetResponse: Empty |
_goose/Unarchive a previously archived session. | Request: UnarchiveResponse: Empty |
_goose/Update the working directory for a session. | Request: UpdateResponse: Empty |
_goose/List slash commands available for / autocomplete. | Request: ListResponse: List |
_goose/Create a new source in an explicit target scope (global or project-scoped). | Request: CreateResponse: Create |
_goose/Delete a source and its on-disk directory by absolute path. | Request: DeleteResponse: Empty |
_goose/Export a source at an absolute path as a portable JSON payload. | Request: ExportResponse: Export |
_goose/Import a source from a JSON export payload produced by _goose/unstable/sources/export.The imported source is written into the explicit target scope; on name collisions a -imported suffix is appended. | Request: ImportResponse: Import |
_goose/List discovered sources. If type is omitted or skill, this lists filesystem/plugin skills only.Both global and project-scoped skills are included when project_dir isset. If type is builtinSkill, this lists shipped read-only built-inskills. | Request: ListResponse: List |
_goose/Update an existing source's name, description, and content by absolute path. | Request: UpdateResponse: Update |
_goose/Call a tool from an extension. | Request: GooseResponse: Goose |
_goose/List all tools available in a session. | Request: GetResponse: Get |
_goose/Set permission levels for one or more tools. | Request: SetResponse: Set |
Agent-to-client requests
| Method | Schemas |
|---|---|
_goose/ | Request: RequestResponse: Recipe |
Agent-to-client notifications
| Method | Schemas |
|---|---|
_goose/Dedicated provider notification for OAuth device-code flow. Sent during provider authentication when the ACP client supports goose.customNotifications — avoids a fake empty session ID. | Parameters: Provider |
_goose/Goose-custom session update notification — a parallel to ACP's session/update carrying goose-specific update variants. | Parameters: Goose |
Schemas
AddConfigExtensionRequest_unstable
Persist a new extension to the user's global goose config.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
extension | Goose | Yes | — | — |
enabled | boolean | No | — | Default: false |
AddSessionExtensionRequest_unstable
Add an extension to an active session.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
extension | Goose | Yes | — | — |
AgentMention
A user-facing @ mention target backed by an agent, recipe, or subrecipe source.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
description | string | Yes | — | — |
sourceType | Source | Yes | — | — |
sourcePath | string | null | No | — | — |
mention | string | Yes | — | — |
Annotations
Optional annotations for the client. The client can use annotations to inform how objects are used or displayed
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
audience | Array<Role> | null | No | Intended recipients for this content, such as the user or assistant. | — |
lastModified | string | null | No | Timestamp indicating when the underlying resource was last modified. | — |
priority | number | null | No | Relative importance of this content when clients choose what to surface. | Format: double |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
AppsDeleteRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
AppsDeleteResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
message | string | Yes | — | — |
AppsExportRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
AppsExportResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
html | string | Yes | — | — |
AppsImportRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
html | string | Yes | — | — |
AppsImportResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
message | string | Yes | — | — |
AppsListRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | null | No | — | — |
AppsListResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
apps | Array<unknown> | No | — | Default: [] |
ArchiveSessionRequest_unstable
Archive a session (soft delete).
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
AudioContent
Audio provided to or from an LLM.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
annotations | Annotations | null | No | Optional annotations that help clients decide how to display or route this content. | — |
data | string | Yes | Base64-encoded media payload. | — |
mimeType | string | Yes | MIME type describing the encoded media payload. | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
AvailableCommand
Information about a command.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | Command name (e.g., create_plan, research_codebase). | — |
description | string | Yes | Human-readable description of what the command does. | — |
input | Available | null | No | Input for the command if required | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
AvailableCommandInput
The input specification for a command.
Type: Unstructured
BlobResourceContents
Binary resource contents.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
blob | string | Yes | Base64-encoded bytes for a binary resource payload. | — |
mimeType | string | null | No | MIME type describing the encoded media payload. | — |
uri | string | Yes | URI associated with this resource or media payload. | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
CanonicalModelInfoDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
provider | string | Yes | — | — |
model | string | Yes | — | — |
contextLimit | integer | Yes | — | Minimum: 0 |
maxOutputTokens | integer | null | No | — | Minimum: 0 |
reasoning | boolean | Yes | — | — |
inputTokenCost | number | null | No | — | Format: double |
outputTokenCost | number | null | No | — | Format: double |
cacheReadTokenCost | number | null | No | — | Format: double |
cacheWriteTokenCost | number | null | No | — | Format: double |
currency | string | Yes | — | — |
CanonicalModelInfoRequest_unstable
Look up canonical (bundled-registry) model info for a provider/model pair.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
provider | string | Yes | — | — |
model | string | Yes | — | — |
CanonicalModelInfoResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelInfo | Canonical | null | No | — | — |
ConfigReadAllRequest_unstable
Type: object
ConfigReadAllResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
config | Record<string, unknown> | Yes | — | — |
ConfigReadRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
key | string | Yes | — | — |
isSecret | boolean | No | — | Default: false |
ConfigReadResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
value | unknown | No | — | Default: null |
ConfigRemoveRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
key | string | Yes | — | — |
isSecret | boolean | No | — | Default: false |
ConfigUpsertRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
key | string | Yes | — | — |
value | unknown | Yes | — | — |
isSecret | boolean | No | — | Default: false |
ContentBlock
Content blocks represent displayable information in the Agent Client Protocol.
They provide a structured way to handle various types of user-facing content—whether
it's text from language models, images for analysis, or embedded resources for context.
Content blocks appear in:
- User prompts sent via session/prompt
- Language model output streamed through session/update notifications
- Progress updates and results from tool calls
This structure is compatible with the Model Context Protocol (MCP), enabling
agents to seamlessly forward content from MCP tool outputs without transformation.
See protocol docs: Content
Type: Text & { type: "text" } | Image & { type: "image" } | Audio & { type: "audio" } | Resource & { type: "resource_link" } | Embedded & { type: "resource" }
CostSourceData
Wire mirror of the conversation CostSource.
Type: "provider_reported" | "estimated"
CreateScheduleRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
recipe | Recipe | Yes | — | — |
cron | string | Yes | — | — |
CreateScheduleResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
job | Scheduled | Yes | — | — |
CreateSourceRequest_unstable
Create a new source in an explicit target scope (global or project-scoped).
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
type | Source | Yes | — | — |
name | string | Yes | — | — |
description | string | Yes | — | — |
content | string | Yes | — | — |
target | Source | Yes | — | — |
properties | Record<string, unknown> | No | Arbitrary key/value metadata. | — |
CreateSourceResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
source | Source | Yes | — | — |
CustomProviderConfigDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
engine | string | Yes | — | — |
displayName | string | Yes | — | — |
apiUrl | string | Yes | — | — |
models | Array<string> | No | — | Default: [] |
supportsStreaming | boolean | null | No | — | — |
headers | Record<string, string> | No | — | Default: {} |
requiresAuth | boolean | Yes | — | — |
catalogProviderId | string | null | No | — | — |
basePath | string | null | No | — | — |
apiKeyEnv | string | null | No | — | — |
apiKeySet | boolean | Yes | — | — |
preservesThinking | boolean | Yes | — | — |
CustomProviderCreateRequest_unstable
Create a custom provider backed by Goose's declarative provider store.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
engine | string | Yes | — | — |
displayName | string | Yes | — | — |
apiUrl | string | Yes | — | — |
apiKey | string | null | No | — | — |
models | Array<string> | No | — | Default: [] |
supportsStreaming | boolean | null | No | — | — |
headers | Record<string, string> | No | — | Default: {} |
requiresAuth | boolean | Yes | — | — |
catalogProviderId | string | null | No | — | — |
basePath | string | null | No | — | — |
preservesThinking | boolean | null | No | — | — |
CustomProviderCreateResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
status | Provider | Yes | — | — |
refresh | Refresh | Yes | — | — |
CustomProviderDeleteRequest_unstable
Delete a custom provider from Goose's declarative provider store.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
CustomProviderDeleteResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
refresh | Refresh | Yes | — | — |
CustomProviderReadRequest_unstable
Read a declarative provider config. Custom configs are editable; bundled configs are read-only.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
CustomProviderReadResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
provider | Custom | Yes | — | — |
editable | boolean | Yes | — | — |
status | Provider | Yes | — | — |
CustomProviderUpdateRequest_unstable
Update a custom provider backed by Goose's declarative provider store.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
engine | string | Yes | — | — |
displayName | string | Yes | — | — |
apiUrl | string | Yes | — | — |
apiKey | string | null | No | — | — |
models | Array<string> | No | — | Default: [] |
supportsStreaming | boolean | null | No | — | — |
headers | Record<string, string> | No | — | Default: {} |
requiresAuth | boolean | Yes | — | — |
catalogProviderId | string | null | No | — | — |
basePath | string | null | No | — | — |
preservesThinking | boolean | null | No | — | — |
CustomProviderUpdateResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
status | Provider | Yes | — | — |
refresh | Refresh | Yes | — | — |
DecodeRecipeRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
deeplink | string | Yes | — | — |
DecodeRecipeResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
recipe | Recipe | Yes | — | — |
DefaultsClearRequest_unstable
Clear Goose default provider and model configuration.
Type: object
DefaultsReadRequest_unstable
Read Goose default provider and model configuration.
Type: object
DefaultsReadResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | null | No | — | — |
modelId | string | null | No | — | — |
DefaultsSaveRequest_unstable
Save Goose default provider and model configuration.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
modelId | string | null | No | — | — |
DeleteRecipeRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
DeleteScheduleRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
scheduleId | string | Yes | — | — |
DeleteSourceRequest_unstable
Delete a source and its on-disk directory by absolute path.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
type | Source | Yes | — | — |
path | string | Yes | — | — |
DiagnosticsGetRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
level | Diagnostics | No | — | Default: "summary" |
DiagnosticsGetResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
report | unknown | Yes | — | — |
DiagnosticsReportLevel
Type: "summary" | "full"
DictationConfigRequest_unstable
Get the configuration status of all dictation providers.
Type: object
DictationConfigResponse_unstable
Dictation config response — map of provider name to status.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providers | Record<string, Dictation> | Yes | — | — |
DictationDownloadProgress
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
bytesDownloaded | integer | Yes | — | Minimum: 0 |
totalBytes | integer | Yes | — | Minimum: 0 |
progressPercent | number | Yes | — | Format: float |
status | string | Yes | serde lowercase of DownloadStatus: "downloading" | "completed" | "failed" | "cancelled" | — |
error | string | null | No | — | — |
DictationLocalModelStatus
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
label | string | Yes | — | — |
description | string | Yes | — | — |
sizeMb | integer | Yes | — | Minimum: 0 |
downloaded | boolean | Yes | — | — |
downloadInProgress | boolean | Yes | — | — |
recommended | boolean | Yes | — | — |
DictationModelCancelRequest_unstable
Cancel an in-flight download.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelId | string | Yes | — | — |
DictationModelDeleteRequest_unstable
Delete a downloaded local Whisper model from disk.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelId | string | Yes | — | — |
DictationModelDownloadProgressRequest_unstable
Poll the progress of an in-flight download.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelId | string | Yes | — | — |
DictationModelDownloadProgressResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
progress | Dictation | null | No | None when no download is active for this model id. | — |
DictationModelDownloadRequest_unstable
Kick off a background download of a local Whisper model.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelId | string | Yes | — | — |
DictationModelOption
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
label | string | Yes | — | — |
description | string | Yes | — | — |
DictationModelSelectRequest_unstable
Persist the user's model selection for a given provider.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
provider | string | Yes | — | — |
modelId | string | Yes | — | — |
DictationModelsListRequest_unstable
List available local Whisper models with their download status.
Type: object
DictationModelsListResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
models | Array<Dictation> | Yes | — | — |
DictationProviderStatusEntry
Per-provider configuration status.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
configured | boolean | Yes | — | — |
host | string | null | No | — | — |
description | string | Yes | — | — |
usesProviderConfig | boolean | Yes | — | — |
settingsPath | string | null | No | — | — |
configKey | string | null | No | — | — |
modelConfigKey | string | null | No | — | — |
defaultModel | string | null | No | — | — |
selectedModel | string | null | No | — | — |
availableModels | Array<Dictation> | No | — | Default: [] |
DictationSecretDeleteRequest_unstable
Remove a dictation provider secret value.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
provider | string | Yes | — | — |
DictationSecretSaveRequest_unstable
Set a dictation provider secret value.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
provider | string | Yes | — | — |
value | string | Yes | — | — |
DictationTranscribeRequest_unstable
Transcribe audio via a dictation provider.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
audio | string | Yes | Base64-encoded audio data | — |
mimeType | string | Yes | MIME type (e.g. "audio/wav", "audio/webm") | — |
provider | string | Yes | Provider to use: "openai", "groq", "elevenlabs", or "local" | — |
DictationTranscribeResponse_unstable
Transcription result.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
text | string | Yes | — | — |
EmbeddedResource
The contents of a resource, embedded into a prompt or tool call result.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
annotations | Annotations | null | No | Optional annotations that help clients decide how to display or route this content. | — |
resource | Embedded | Yes | Embedded resource payload, either text or binary data. | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
EmbeddedResourceResource
Resource content that can be embedded in a message.
Type: Text | Blob
EmptyResponse
Empty success response for operations that return no data.
Type: object
EncodeRecipeRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
recipe | Recipe | Yes | — | — |
EncodeRecipeResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
deeplink | string | Yes | — | — |
EnvVariable
An environment variable to set when launching an MCP server.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | The name of the environment variable. | — |
value | string | Yes | The value to set for the environment variable. | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
ExportSessionRequest_unstable
Export a session as a JSON or markdown string.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
format | Session | No | — | Default: "json" |
ExportSessionResponse_unstable
Export session response — raw JSON of the goose session with conversation,
or a markdown transcript when format is markdown.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
data | string | Yes | — | — |
ExportSourceRequest_unstable
Export a source at an absolute path as a portable JSON payload.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
type | Source | Yes | — | — |
path | string | Yes | — | — |
ExportSourceResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
json | string | Yes | — | — |
filename | string | Yes | — | — |
GetAvailableExtensionsRequest_unstable
List Goose-owned extension definitions available to configure or enable.
Type: object
GetAvailableExtensionsResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
extensions | Array<Goose> | Yes | — | — |
GetConfigExtensionsRequest_unstable
List configured extensions and any warnings.
Type: object
GetConfigExtensionsResponse_unstable
List configured extensions and any warnings.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
extensions | Array<Goose> | Yes | — | — |
warnings | Array<string> | No | — | Default: [] |
GetPromptRequest_unstable
Read a Goose prompt template.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
GetPromptResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
content | string | Yes | — | — |
defaultContent | string | Yes | — | — |
isCustomized | boolean | Yes | — | — |
GetSessionExtensionsRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
GetSessionExtensionsResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
extensions | Array<Goose> | Yes | — | — |
GetSessionInfoRequest_unstable
Return list-style metadata for a single session without loading the conversation.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
GetSessionInfoResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
session | Session | Yes | — | — |
GetToolsRequest_unstable
List all tools available in a session.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
extensionName | string | null | No | Filter tools to those belonging to this extension. | — |
GetToolsResponse_unstable
Tools response.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
tools | Array<Tool> | Yes | — | — |
GooseExtension
Type: { name: string; description?: string | null; display_name?: string | null; timeout?: integer | null; bundled?: boolean | null; available_tools?: Array<string> | null; type: "builtin" } | { name: string; description?: string | null; display_name?: string | null; bundled?: boolean | null; available_tools?: Array<string> | null; type: "platform" } | { server: Mcp; envKeys?: Array<string>; description?: string | null; timeout?: integer | null; socket?: string | null; clientId?: string | null; clientSecretKey?: string | null; scopes?: Array<string>; bundled?: boolean | null; available_tools?: Array<string> | null; type: "mcp" }
GooseExtensionEntry
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
extension | Goose | Yes | — | — |
enabled | boolean | Yes | — | — |
configKey | string | null | No | — | — |
GooseSessionNotification_unstable
Goose-custom session update notification — a parallel to ACP'ssession/update carrying goose-specific update variants.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
update | Goose | Yes | — | — |
GooseSessionUpdate
Discriminated union of goose-specific session update payloads.
Variant tag matches ACP's convention (sessionUpdate: "<snake_case>").discriminator.mapping is what makes TS codegen (@hey-api/openapi-ts)
emit the correct snake_case tag value even when this enum has a single
variant. Add a mapping entry per variant.
Type: Session & { sessionUpdate: "usage_update" } | Status & { sessionUpdate: "status_message" } | Message & { sessionUpdate: "message_usage" }
GooseToolCallRequest_unstable
Call a tool from an extension.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
name | string | Yes | — | — |
arguments | unknown | No | — | Default: null |
GooseToolCallResponse_unstable
Tool call response.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
content | Array<unknown> | No | — | Default: [] |
structuredContent | unknown | No | — | — |
isError | boolean | Yes | — | — |
_meta | unknown | No | — | — |
HttpHeader
An HTTP header to set when making requests to the MCP server.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | The name of the HTTP header. | — |
value | string | Yes | The value to set for the HTTP header. | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
ImageContent
An image provided to or from an LLM.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
annotations | Annotations | null | No | Optional annotations that help clients decide how to display or route this content. | — |
data | string | Yes | Base64-encoded media payload. | — |
mimeType | string | Yes | MIME type describing the encoded media payload. | — |
uri | string | null | No | URI associated with this resource or media payload. | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
ImportSessionRequest_unstable
Import a session from a JSON string or share link.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
input | string | Yes | — | — |
source | Session | Yes | — | — |
ImportSessionResponse_unstable
Import session response — metadata about the newly created session.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
title | string | null | No | — | — |
updatedAt | string | null | No | — | — |
messageCount | integer | Yes | — | Minimum: 0 |
ImportSourcesRequest_unstable
Import a source from a JSON export payload produced by _goose/unstable/sources/export.
The imported source is written into the explicit target scope; on name
collisions a -imported suffix is appended.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
data | string | Yes | — | — |
target | Source | Yes | — | — |
ImportSourcesResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sources | Array<Source> | Yes | — | — |
InspectRunningJobRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
jobId | string | Yes | — | — |
InspectRunningJobResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
running | boolean | Yes | — | — |
sessionId | string | null | No | — | — |
jobStartTime | string | null | No | — | — |
runningDurationSeconds | integer | null | No | — | — |
KillRunningJobRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
jobId | string | Yes | — | — |
KillRunningJobResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
message | string | Yes | — | — |
ListAgentMentionsRequest_unstable
List user-facing agent mention targets for @ autocomplete.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
cwd | string | null | No | — | — |
sessionId | string | null | No | — | — |
ListAgentMentionsResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
agents | Array<Agent> | Yes | — | — |
ListPromptsRequest_unstable
List all available Goose prompt templates.
Type: object
ListPromptsResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
prompts | Array<Prompt> | Yes | — | — |
ListProvidersRequest_unstable
List providers with setup metadata and the current model inventory snapshot.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerIds | Array<string> | No | Only return entries for these providers. Empty means all. | Default: [] |
ListProvidersResponse_unstable
Provider list response.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
entries | Array<Provider> | Yes | — | — |
ListRecipesRequest_unstable
Type: object
ListRecipesResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
recipes | Array<Recipe> | Yes | — | — |
ListScheduleSessionsRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
scheduleId | string | Yes | — | — |
limit | integer | Yes | — | Minimum: 0 |
ListScheduleSessionsResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessions | Array<Session> | Yes | — | — |
ListSchedulesRequest_unstable
Type: object
ListSchedulesResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
jobs | Array<Scheduled> | Yes | — | — |
ListSlashCommandsRequest_unstable
List slash commands available for / autocomplete.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
cwd | string | null | No | — | — |
sessionId | string | null | No | — | — |
ListSlashCommandsResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
availableCommands | Array<Available> | Yes | — | — |
ListSourcesRequest_unstable
List discovered sources.
If type is omitted or skill, this lists filesystem/plugin skills only.
Both global and project-scoped skills are included when project_dir is
set. If type is builtinSkill, this lists shipped read-only built-in
skills.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
type | Source | null | No | — | — |
projectDir | string | null | No | — | — |
includeProjectSources | boolean | No | When true, also scan the working directories of all known projects for project-scoped sources (e.g. skills stored under {workingDir}/.agents/skills/). | Default: false |
ListSourcesResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sources | Array<Source> | Yes | — | — |
LocalInferenceBuiltinChatTemplatesListRequest_unstable
Type: object
LocalInferenceBuiltinChatTemplatesListResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
templates | Array<string> | Yes | — | — |
LocalInferenceChatTemplate
Type: { type: "embedded" } | { name: string; type: "builtin" } | { template: string; type: "custom_inline" }
LocalInferenceDownloadProgressDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelId | string | Yes | — | — |
status | string | Yes | — | — |
bytesDownloaded | integer | Yes | — | Minimum: 0 |
totalBytes | integer | Yes | — | Minimum: 0 |
progressPercent | number | Yes | — | Format: float |
speedBps | integer | null | No | — | Minimum: 0 |
etaSeconds | integer | null | No | — | Minimum: 0 |
error | string | null | No | — | — |
taskExited | boolean | Yes | — | — |
LocalInferenceDownloadState
Type: "NotDownloaded" | "Downloading" | "Downloaded"
LocalInferenceHfGgufFileDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
filename | string | Yes | — | — |
sizeBytes | integer | Yes | — | Minimum: 0 |
quantization | string | Yes | — | — |
downloadUrl | string | Yes | — | — |
LocalInferenceHfModelInfoDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
repoId | string | Yes | — | — |
author | string | Yes | — | — |
modelName | string | Yes | — | — |
downloads | integer | Yes | — | Minimum: 0 |
ggufFiles | Array<Local> | No | — | Default: [] |
variants | Array<Local> | No | — | Default: [] |
LocalInferenceHfModelVariantDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
variantId | string | Yes | — | — |
label | string | Yes | — | — |
backendId | string | Yes | — | — |
format | string | Yes | — | — |
modelId | string | Yes | — | — |
downloadId | string | Yes | — | — |
sizeBytes | integer | Yes | — | Minimum: 0 |
filename | string | null | No | — | — |
downloadUrl | string | null | No | — | — |
description | string | Yes | — | — |
qualityRank | integer | Yes | — | Minimum: 0Maximum: 255 |
sharded | boolean | Yes | — | — |
supported | boolean | Yes | — | — |
unsupportedReason | string | null | No | — | — |
LocalInferenceHuggingFaceRepoVariantsRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
repoId | string | Yes | — | — |
LocalInferenceHuggingFaceRepoVariantsResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
variants | Array<Local> | Yes | — | — |
recommendedIndex | integer | null | No | — | Minimum: 0 |
availableMemoryBytes | integer | Yes | — | Minimum: 0 |
downloadedQuants | Array<string> | Yes | — | — |
downloadedVariants | Array<string> | Yes | — | — |
LocalInferenceHuggingFaceSearchRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
query | string | Yes | — | — |
limit | integer | null | No | — | Minimum: 0 |
LocalInferenceHuggingFaceSearchResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
models | Array<Local> | Yes | — | — |
LocalInferenceModelDeleteRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelId | string | Yes | — | — |
LocalInferenceModelDownloadCancelRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelId | string | Yes | — | — |
LocalInferenceModelDownloadProgressRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelId | string | Yes | — | — |
LocalInferenceModelDownloadProgressResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
progress | Local | null | No | — | — |
LocalInferenceModelDownloadRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
spec | string | Yes | — | — |
backendId | string | null | No | — | — |
variantId | string | null | No | — | — |
LocalInferenceModelDownloadResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelId | string | Yes | — | — |
LocalInferenceModelDownloadStatusDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
state | Local | Yes | — | — |
progressPercent | number | null | No | — | Format: float |
bytesDownloaded | integer | null | No | — | Minimum: 0 |
totalBytes | integer | null | No | — | Minimum: 0 |
speedBps | integer | null | No | — | Minimum: 0 |
LocalInferenceModelDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
repoId | string | Yes | — | — |
filename | string | Yes | — | — |
quantization | string | Yes | — | — |
sizeBytes | integer | Yes | — | Minimum: 0 |
status | Local | Yes | — | — |
recommended | boolean | Yes | — | — |
isLoaded | boolean | Yes | — | — |
settings | Local | Yes | — | — |
visionCapable | boolean | Yes | — | — |
mmprojStatus | Local | null | No | — | — |
LocalInferenceModelEvictRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelId | string | Yes | — | — |
LocalInferenceModelSettingsDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
backendId | string | null | No | — | — |
contextSize | integer | null | No | — | Minimum: 0 |
maxOutputTokens | integer | null | No | — | Minimum: 0 |
draftModel | string | null | No | — | — |
sampling | Local | No | — | Default: {"type":"Temperature","temperature":0.800000011920929,"topK":40,"topP":0.949999988079071,"minP":0.05000000074505806} |
repeatPenalty | number | Yes | — | Format: float |
repeatLastN | integer | Yes | — | — |
frequencyPenalty | number | Yes | — | Format: float |
presencePenalty | number | Yes | — | Format: float |
nBatch | integer | null | No | — | Minimum: 0 |
nGpuLayers | integer | null | No | — | Minimum: 0 |
useMlock | boolean | Yes | — | — |
flashAttention | boolean | null | No | — | — |
nThreads | integer | null | No | — | — |
toolCalling | Local | No | — | Default: "auto" |
chatTemplate | Local | No | — | Default: {"type":"embedded"} |
enableThinking | boolean | Yes | — | — |
visionCapable | boolean | Yes | — | — |
imageTokenEstimate | integer | Yes | — | Minimum: 0 |
mmprojSizeBytes | integer | Yes | — | Minimum: 0 |
LocalInferenceModelSettingsReadRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelId | string | Yes | — | — |
LocalInferenceModelSettingsReadResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
settings | Local | Yes | — | — |
LocalInferenceModelSettingsUpdateRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
modelId | string | Yes | — | — |
settings | Local | Yes | — | — |
LocalInferenceModelSettingsUpdateResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
settings | Local | Yes | — | — |
LocalInferenceModelsListRequest_unstable
Type: object
LocalInferenceModelsListResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
models | Array<Local> | Yes | — | — |
LocalInferenceSamplingConfig
Type: { type: "Greedy" } | { temperature: number; topK: integer; topP: number; minP: number; seed?: integer | null; type: "Temperature" } | { tau: number; eta: number; seed?: integer | null; type: "MirostatV2" }
LocalInferenceToolCallingMode
Type: "auto" | "force_native" | "force_emulated"
McpServer
Configuration for connecting to an MCP (Model Context Protocol) server.
MCP servers provide tools and context that the agent can use when
processing prompts.
See protocol docs: MCP Servers
Type: Mcp & { type: "http" } | Mcp & { type: "sse" } | Mcp
McpServerHttp
HTTP transport configuration for MCP.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | Human-readable name identifying this MCP server. | — |
url | string | Yes | URL to the MCP server. | — |
headers | Array<Http> | Yes | HTTP headers to set when making requests to the MCP server. | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
type | "http" | Yes | — | — |
McpServerSse
SSE transport configuration for MCP.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | Human-readable name identifying this MCP server. | — |
url | string | Yes | URL to the MCP server. | — |
headers | Array<Http> | Yes | HTTP headers to set when making requests to the MCP server. | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
type | "sse" | Yes | — | — |
McpServerStdio
Stdio transport configuration for MCP.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | Human-readable name identifying this MCP server. | — |
command | string | Yes | Absolute path to the MCP server executable. | — |
args | Array<string> | Yes | Command-line arguments to pass to the MCP server. | — |
env | Array<Env> | Yes | Environment variables to set when launching the MCP server. | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
MessageUsageData
Wire mirror of the conversation MessageUsage (this crate cannot depend on
goose-provider-types); field names and serde casing MUST stay in parity.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
inputTokens | integer | null | No | — | — |
outputTokens | integer | null | No | — | — |
totalTokens | integer | null | No | — | — |
cacheReadTokens | integer | null | No | — | — |
cacheWriteTokens | integer | null | No | — | — |
cost | number | null | No | — | Format: double |
costSource | Cost | null | No | — | — |
elapsedMs | integer | null | No | Wall-clock generation time, used by the client for a tokens/sec readout. | Minimum: 0 |
timeToFirstTokenMs | integer | null | No | — | Minimum: 0 |
isCompaction | boolean | No | Usage from a compaction/summarization call rather than a normal turn. | Default: false |
MessageUsageUpdate
Per-message token usage/cost/timing, keyed by the message id used for
chunk matching. Sent live after a turn's messages and on replay.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
messageId | string | null | No | — | — |
usage | Message | Yes | — | — |
OnboardingImportApplyRequest_unstable
Import selected onboarding candidates.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
candidateIds | Array<string> | No | — | Default: [] |
enableImportedExtensions | boolean | No | — | Default: false |
OnboardingImportApplyResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
imported | Onboarding | Yes | — | — |
skipped | Onboarding | Yes | — | — |
warnings | Array<string> | No | — | Default: [] |
providerDefaults | Defaults | null | No | — | — |
OnboardingImportCandidate
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
sourceKind | Onboarding | Yes | — | — |
displayName | string | Yes | — | — |
path | string | Yes | — | — |
counts | Onboarding | Yes | — | — |
warnings | Array<string> | No | — | Default: [] |
OnboardingImportCounts
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providers | integer | Yes | — | Minimum: 0 |
extensions | integer | Yes | — | Minimum: 0 |
sessions | integer | Yes | — | Minimum: 0 |
skills | integer | Yes | — | Minimum: 0 |
projects | integer | Yes | — | Minimum: 0 |
preferences | integer | Yes | — | Minimum: 0 |
OnboardingImportScanRequest_unstable
Scan for existing Goose and compatible app data that onboarding can import.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sources | Array<Onboarding> | No | Empty means all supported import sources. | Default: [] |
OnboardingImportScanResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
candidates | Array<Onboarding> | Yes | — | — |
OnboardingImportSourceKind
Sources that onboarding knows how to discover and import.
Type: "goose_config" | "claude_desktop"
ParseRecipeRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
content | string | Yes | — | — |
ParseRecipeResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
recipe | Recipe | Yes | — | — |
PauseScheduleRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
scheduleId | string | Yes | — | — |
PreferenceKey
Type: "autoCompactThreshold" | "gooseThinkingEffort" | "voiceAutoSubmitPhrases" | "voiceDictationProvider" | "voiceDictationPreferredMic"
PreferencesReadRequest_unstable
Read allowlisted user preferences. Empty keys means all supported preferences.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
keys | Array<Preference> | No | — | Default: [] |
PreferencesReadResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
values | Array<Preference> | Yes | — | — |
PreferencesRemoveRequest_unstable
Remove allowlisted user preferences.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
keys | Array<Preference> | No | — | Default: [] |
PreferencesSaveRequest_unstable
Save allowlisted user preferences.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
values | Array<Preference> | No | — | Default: [] |
PreferenceValue
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
key | Preference | Yes | — | — |
value | unknown | No | — | Default: null |
PromptOperationResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
message | string | Yes | — | — |
PromptTemplateEntry
Information about a prompt template, including its default content and customization status.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
description | string | Yes | — | — |
defaultContent | string | Yes | — | — |
userContent | string | null | No | — | — |
isCustomized | boolean | Yes | — | — |
ProviderCatalogListRequest_unstable
List custom-provider catalog entries. Omit format to list all formats.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
format | string | null | No | — | — |
ProviderCatalogListResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providers | Array<Provider> | Yes | — | — |
ProviderCatalogTemplateRequest_unstable
Return the editable template for one catalog provider.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
ProviderCatalogTemplateResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
template | Provider | Yes | — | — |
ProviderConfigAuthenticateRequest_unstable
Run a provider-owned native authentication flow and start an inventory refresh when supported.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
ProviderConfigChangeResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
status | Provider | Yes | — | — |
refresh | Refresh | Yes | — | — |
ProviderConfigDeleteRequest_unstable
Delete provider configuration fields and start an inventory refresh when supported.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
ProviderConfigFieldUpdate
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
key | string | Yes | — | — |
value | string | Yes | — | — |
ProviderConfigFieldValueDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
key | string | Yes | — | — |
value | string | null | No | — | Default: null |
isSet | boolean | Yes | — | — |
isSecret | boolean | Yes | — | — |
required | boolean | Yes | — | — |
ProviderConfigKey
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
required | boolean | Yes | — | — |
secret | boolean | Yes | — | — |
default | string | null | No | — | Default: null |
oauthFlow | boolean | No | — | Default: false |
deviceCodeFlow | boolean | No | — | Default: false |
primary | boolean | No | — | Default: false |
ProviderConfigReadRequest_unstable
Read saved configuration field values for one provider.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
ProviderConfigReadResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
fields | Array<Provider> | Yes | — | — |
ProviderConfigSaveRequest_unstable
Save provider configuration fields and start an inventory refresh when supported.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
fields | Array<Provider> | Yes | — | — |
ProviderConfigStatusDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
isConfigured | boolean | Yes | — | — |
ProviderConfigStatusRequest_unstable
Return provider configured statuses. Empty provider_ids means all providers.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerIds | Array<string> | No | — | Default: [] |
ProviderConfigStatusResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
statuses | Array<Provider> | Yes | — | — |
ProviderDeviceCodeNotification_unstable
Dedicated provider notification for OAuth device-code flow.
Sent during provider authentication when the ACP client supportsgoose.customNotifications — avoids a fake empty session ID.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
userCode | string | Yes | — | — |
verificationUri | string | Yes | — | — |
expiresIn | integer | Yes | — | Minimum: 0 |
ProviderInventoryEntryDto
Provider inventory entry.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | Provider identifier. | — |
providerName | string | Yes | Human-readable provider name. | — |
description | string | Yes | Description of the provider's capabilities. | — |
defaultModel | string | Yes | The default/recommended model for this provider. | — |
configured | boolean | Yes | Whether Goose has enough configuration to use this provider. | — |
available | boolean | Yes | Whether the provider's external runtime or required configuration is available. | — |
providerType | string | Yes | Provider classification such as Preferred, Builtin, Declarative, or Custom. | — |
category | Provider | Yes | Whether this inventory entry represents an agent provider or a model provider. | — |
acp | boolean | No | Whether this provider communicates through ACP. | Default: false |
visibleInSetup | boolean | Yes | Whether this provider should appear in normal provider setup UIs. | — |
deprecated | boolean | Yes | Whether this provider is retained only for compatibility. | — |
replacement | string | null | No | Preferred replacement for a deprecated provider. | — |
configKeys | Array<Provider> | Yes | Required configuration keys and setup metadata. | — |
setupSteps | Array<string> | Yes | Step-by-step setup instructions, when present. | — |
supportsRefresh | boolean | Yes | Whether this provider supports background inventory refresh. | — |
refreshing | boolean | Yes | Whether a refresh is currently in flight. | — |
models | Array<Provider> | Yes | The list of available models. | — |
lastUpdatedAt | string | null | No | When this entry was last successfully refreshed (ISO 8601). | — |
lastRefreshAttemptAt | string | null | No | When a refresh was most recently attempted (ISO 8601). | — |
lastRefreshError | string | null | No | The last refresh failure message, if any. | — |
stale | boolean | Yes | Whether we believe this data may be outdated. | — |
modelSelectionHint | string | null | No | Guidance message shown when this provider manages its own model selection externally. | — |
ProviderInventoryModelDto
A single model in provider inventory.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | Model identifier as the provider knows it. | — |
name | string | Yes | Human-readable display name. | — |
family | string | null | No | Model family for grouping in UI. | — |
contextLimit | integer | null | No | Context window size in tokens. | Minimum: 0 |
reasoning | boolean | null | No | Whether the model supports reasoning/extended thinking. | — |
recommended | boolean | No | Whether this model should appear in the compact recommended picker. | Default: false |
ProviderReadinessCheckRequest_unstable
Check whether an ACP provider can initialize and create a session.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
ProviderReadinessCheckResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
ready | boolean | Yes | — | — |
error | string | null | No | — | — |
ProviderSecretDeleteRequest_unstable
Delete a locally stored provider credential by id.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
ProviderSecretDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
provider | string | Yes | — | — |
providerDisplayName | string | Yes | — | — |
name | string | Yes | — | — |
storage | Provider | Yes | — | — |
expiresAt | string | null | No | — | — |
status | Provider | Yes | — | — |
configured | boolean | Yes | — | — |
hasSecret | boolean | Yes | — | — |
canDelete | boolean | Yes | — | — |
canConfigure | boolean | Yes | — | — |
configureProvider | string | null | No | — | — |
ProviderSecretsListRequest_unstable
List provider credentials stored locally by Goose.
Type: object
ProviderSecretsListResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
secrets | Array<Provider> | Yes | — | — |
ProviderSecretStatusDto
Type: "valid" | "expired" | "unknown"
ProviderSecretStorageDto
Type: "secret_store" | "provider_cache"
ProviderSetupCatalogEntryDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
name | string | Yes | — | — |
category | Provider | Yes | — | — |
acp | boolean | No | Whether this provider communicates through ACP. | Default: false |
description | string | Yes | — | — |
setupMethod | Provider | Yes | — | — |
nativeConnectQuery | string | null | No | — | — |
fields | Array<Provider> | No | — | Default: [] |
binaryName | string | null | No | — | — |
docUrl | string | null | No | — | — |
group | Provider | Yes | — | — |
showOnlyWhenInstalled | boolean | Yes | — | — |
aliases | Array<string> | No | — | Default: [] |
supportsInstall | boolean | Yes | — | — |
supportsAuth | boolean | Yes | — | — |
supportsAuthStatus | boolean | Yes | — | — |
ProviderSetupCatalogListRequest_unstable
List provider setup catalog entries
Type: object
ProviderSetupCatalogListResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providers | Array<Provider> | Yes | — | — |
ProviderSetupCategoryDto
Type: "agent" | "model"
ProviderSetupFieldDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
key | string | Yes | — | — |
label | string | Yes | — | — |
secret | boolean | Yes | — | — |
required | boolean | Yes | — | — |
placeholder | string | null | No | — | — |
defaultValue | string | null | No | — | — |
ProviderSetupGroupDto
Type: "default" | "additional"
ProviderSetupMethodDto
Type: "none" | "single_api_key" | "config_fields" | "host_with_oauth_fallback" | "oauth_browser" | "oauth_device_code" | "cloud_credentials" | "local" | "cli_auth"
ProviderSupportedModelsListRequest_unstable
List the raw model identifiers returned by a provider's live supported-models API.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
ProviderSupportedModelsListResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
models | Array<string> | Yes | — | — |
ProviderTemplateCapabilitiesDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
toolCall | boolean | Yes | — | — |
reasoning | boolean | Yes | — | — |
attachment | boolean | Yes | — | — |
temperature | boolean | Yes | — | — |
ProviderTemplateCatalogEntryDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
name | string | Yes | — | — |
format | string | Yes | — | — |
apiUrl | string | Yes | — | — |
modelCount | integer | Yes | — | Minimum: 0 |
docUrl | string | Yes | — | — |
envVar | string | Yes | — | — |
ProviderTemplateDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
name | string | Yes | — | — |
format | string | Yes | — | — |
apiUrl | string | Yes | — | — |
models | Array<Provider> | Yes | — | — |
supportsStreaming | boolean | Yes | — | — |
envVar | string | Yes | — | — |
docUrl | string | Yes | — | — |
ProviderTemplateModelDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
name | string | Yes | — | — |
contextLimit | integer | Yes | — | Minimum: 0 |
capabilities | Provider | Yes | — | — |
deprecated | boolean | Yes | — | — |
ReadResourceRequest_unstable
Read a resource from an extension.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
uri | string | Yes | — | — |
extensionName | string | Yes | — | — |
ReadResourceResponse_unstable
Resource read response.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
result | unknown | No | The resource result from the extension (MCP ReadResourceResult). | Default: null |
RecipeAuthorDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
contact | string | null | No | — | — |
metadata | string | null | No | — | — |
RecipeDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
version | string | No | — | Default: "1.0.0" |
title | string | Yes | — | — |
description | string | Yes | — | — |
instructions | string | null | No | — | — |
prompt | string | null | No | — | — |
extensions | Array<Recipe> | null | No | — | — |
settings | Recipe | null | No | — | — |
activities | Array<string> | null | No | — | — |
author | Recipe | null | No | — | — |
parameters | Array<Recipe> | null | No | — | — |
response | Recipe | null | No | — | — |
sub_recipes | Array<Sub> | null | No | — | — |
retry | Recipe | null | No | — | — |
RecipeExtensionDto
Type: { name: string; description?: string | null; display_name?: string | null; timeout?: integer | null; bundled?: boolean | null; available_tools?: Array<string> | null; type: "builtin" } | { name: string; description?: string | null; display_name?: string | null; bundled?: boolean | null; available_tools?: Array<string> | null; type: "platform" } | { name: string; description?: string | null; cmd: string; args?: Array<string>; envs?: Record<string, string>; env_keys?: Array<string>; timeout?: integer | null; cwd?: string | null; bundled?: boolean | null; available_tools?: Array<string> | null; type: "stdio" } | { name: string; description?: string | null; uri: string; envs?: Record<string, string>; env_keys?: Array<string>; headers?: Record<string, string>; timeout?: integer | null; socket?: string | null; client_id?: string | null; client_secret_key?: string | null; scopes?: Array<string>; bundled?: boolean | null; available_tools?: Array<string> | null; type: "streamable_http" }
RecipeListEntryDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
recipe | Recipe | Yes | — | — |
file_path | string | Yes | — | — |
last_modified | string | Yes | — | — |
schedule_cron | string | null | No | — | — |
slash_command | string | null | No | — | — |
RecipeParameterDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
key | string | Yes | — | — |
input_type | Recipe | Yes | — | — |
requirement | Recipe | Yes | — | — |
description | string | Yes | — | — |
default | string | null | No | — | — |
options | Array<string> | null | No | — | — |
RecipeParameterInputTypeDto
Type: "string" | "number" | "boolean" | "date" | "file" | "select"
RecipeParameterRequirementDto
Type: "required" | "optional" | "user_prompt"
RecipeParamsAction
Type: "submit" | "cancel"
RecipeParamsResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
action | Recipe | No | — | Default: "submit" |
values | Record<string, string> | No | — | Default: {} |
RecipeResponseDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
json_schema | unknown | No | — | — |
RecipeRetryConfigDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
max_retries | integer | Yes | — | Minimum: 0 |
checks | Array<Recipe> | No | — | Default: [] |
on_failure | string | null | No | — | — |
timeout_seconds | integer | null | No | — | Minimum: 0 |
on_failure_timeout_seconds | integer | null | No | — | Minimum: 0 |
RecipeSettingsDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
goose_provider | string | null | No | — | — |
goose_model | string | null | No | — | — |
temperature | number | null | No | — | Format: float |
max_turns | integer | null | No | — | Minimum: 0 |
RecipeSuccessCheckDto
Type: { command: string; type: "shell" }
RecipeToYamlRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
recipe | Recipe | Yes | — | — |
RecipeToYamlResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
yaml | string | Yes | — | — |
RefreshProviderInventoryRequest_unstable
Trigger a background refresh of provider inventories.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerIds | Array<string> | No | Which providers to refresh. Empty means all known providers. | Default: [] |
RefreshProviderInventoryResponse_unstable
Refresh acknowledgement.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
started | Array<string> | Yes | Which providers will be refreshed. | — |
skipped | Array<Refresh> | No | Which providers were skipped and why. | Default: [] |
RefreshProviderInventorySkipDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
providerId | string | Yes | — | — |
reason | Refresh | Yes | — | — |
RefreshProviderInventorySkipReasonDto
Type: "unknown_provider" | "not_configured" | "does_not_support_refresh" | "already_refreshing"
RemoveConfigExtensionRequest_unstable
Remove a persisted extension from the user's global goose config.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
configKey | string | Yes | — | — |
RemoveSessionExtensionRequest_unstable
Remove an extension from an active session.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
name | string | Yes | — | — |
RenameSessionRequest_unstable
Rename a session.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
title | string | Yes | — | — |
RequestRecipeParams_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
parameters | Array<Recipe> | Yes | — | — |
parameterScopeId | string | null | No | — | — |
ResetPromptRequest_unstable
Reset a Goose prompt template to its default content.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
ResourceLink
A resource that the server is capable of reading, included in a prompt or tool call result.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
annotations | Annotations | null | No | Optional annotations that help clients decide how to display or route this content. | — |
description | string | null | No | Optional human-readable details shown with this protocol object. | — |
mimeType | string | null | No | MIME type describing the encoded media payload. | — |
name | string | Yes | Human-readable name shown for this protocol object. | — |
size | integer | null | No | Optional size of the linked resource in bytes, if known. | — |
title | string | null | No | Optional display title for end-user UI. | — |
uri | string | Yes | URI associated with this resource or media payload. | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
Role
The sender or recipient of messages and data in a conversation.
Type: "assistant" | "user"
RunScheduleNowRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
scheduleId | string | Yes | — | — |
RunScheduleNowResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
status | Run | Yes | — | — |
sessionId | string | null | No | — | — |
RunScheduleNowStatus
Type: "completed" | "cancelled"
SavePromptRequest_unstable
Save a custom Goose prompt template.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
content | string | Yes | — | — |
SaveRecipeRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
recipe | Recipe | Yes | — | — |
id | string | null | No | — | — |
SaveRecipeResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
file_name | string | Yes | — | — |
file_path | string | Yes | — | — |
ScanRecipeRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
recipe | Recipe | Yes | — | — |
ScanRecipeResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
has_security_warnings | boolean | Yes | — | — |
ScheduledJobDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
source | string | Yes | — | — |
cron | string | Yes | — | — |
lastRun | string | null | No | — | — |
currentlyRunning | boolean | Yes | — | — |
paused | boolean | Yes | — | — |
currentSessionId | string | null | No | — | — |
jobStartTime | string | null | No | — | — |
ScheduleRecipeRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
cron_schedule | string | null | No | — | — |
SessionExportFormat
Type: "json" | "markdown"
SessionId
A unique identifier for a conversation session between a client and agent.
Sessions maintain their own context, conversation history, and state,
allowing multiple independent interactions with the same agent.
See protocol docs: Session ID
Type: string
SessionImportSource
Type: "auto" | "json" | "nostr"
SessionInfo
Information about a session returned by session/list
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | Session | Yes | Unique identifier for the session | — |
cwd | string | Yes | The working directory for this session. Must be an absolute path. | — |
additionalDirectories | Array<string> | No | Additional workspace roots reported for this session. Each path must be absolute. When present, this is the complete ordered additional-root list reported by the Agent. Omitted and empty values are equivalent: the response reports no additional roots. | — |
title | string | null | No | Human-readable title for the session | — |
updatedAt | string | null | No | ISO 8601 timestamp of last activity | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
SessionSystemPromptMode
How a session system prompt update should be applied.
Type: "set" | "append"
SessionUsageUpdate
Streaming context-window usage update for a session.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
used | integer | Yes | — | Minimum: 0 |
contextLimit | integer | Yes | — | Minimum: 0 |
accumulatedInputTokens | integer | Yes | — | Minimum: 0 |
accumulatedOutputTokens | integer | Yes | — | Minimum: 0 |
accumulatedCost | number | null | No | — | Format: double |
SetConfigExtensionEnabledRequest_unstable
Set the enabled flag for a persisted extension in the user's global goose config.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
configKey | string | Yes | — | — |
enabled | boolean | Yes | — | — |
SetRecipeSlashCommandRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | Yes | — | — |
slash_command | string | null | No | — | — |
SetSessionSystemPromptRequest_unstable
Set, append, or clear system prompt text for a session.mode: "set" replaces Goose's base system prompt. mode: "append" adds an
instruction under "Additional Instructions". Reusing a key replaces the
previous value for that mode/key; sending empty text clears it.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
mode | Session | No | — | Default: "append" |
key | string | null | No | — | — |
text | string | Yes | — | — |
SetToolPermissionsRequest_unstable
Set permission levels for one or more tools.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
toolPermissions | Array<Tool> | Yes | — | — |
SetToolPermissionsResponse_unstable
Type: object
ShareSessionNostrRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
relays | Array<string> | Yes | — | — |
ShareSessionNostrResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
deeplink | string | Yes | — | — |
nevent | string | Yes | — | — |
eventId | string | Yes | — | — |
relays | Array<string> | Yes | — | — |
SourceEntry
A source discovered by Goose. Filesystem sources use an on-disk path;
built-in sources use a stable synthetic path. Sources may be eitherglobal (shared across all projects) or project-specific.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
type | Source | Yes | — | — |
name | string | Yes | — | — |
description | string | Yes | — | — |
content | string | Yes | — | — |
path | string | Yes | Stable on-disk path identifying this source. Pass it back to update/delete/export to operate on this entry. Skills use the directory containing SKILL.md; projects use the project file path; built-inskills use builtin://skills/<name> synthetic paths. | — |
global | boolean | Yes | True when the source lives in the user's global sources directory; false when it lives inside a specific project. | — |
writable | boolean | No | True when this source can be modified through source CRUD methods. Client-provided bundled sources are returned as read-only. | Default: false |
supportingFiles | Array<string> | No | Paths (absolute) of additional files that live alongside the source. Only skills currently populate this; empty for other source types. | — |
properties | Record<string, unknown> | No | Arbitrary key/value pairs for type-specific metadata (e.g. icon, color, preferredProvider for projects). Stored in the frontmatter. | — |
SourceScope
Target scope for creating or importing sources.
Type: { scope: "global" } | { projectDir: string; scope: "projectDir" } | { projectId: string; scope: "projectId" }
SourceType
The type of source entity.
Type: "skill" | "builtinSkill" | "recipe" | "subrecipe" | "agent" | "project"
StatusMessage
Type: { message: string; type: "notice" } | { message: string; type: "progress" }
StatusMessageUpdate
Live UI/session status. This is not conversation transcript content, and
should not be persisted or replayed as history.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
status | Status | Yes | — | — |
SteerSessionRequest_unstable
Add user input to the currently active prompt without starting a new prompt.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
prompt | Array<Content> | No | — | Default: [] |
expectedRunId | string | Yes | — | — |
SteerSessionResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
runId | string | Yes | — | — |
messageId | string | Yes | Stable id of the queued steer message. The same id later appears asmessageId on the streamed UserMessageChunk (with _meta.goose.steer),letting clients correlate a queued steer with its pickup. | — |
SubRecipeDto
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
path | string | Yes | — | — |
values | Record<string, string> | null | No | — | — |
sequential_when_repeated | boolean | No | — | Default: false |
description | string | null | No | — | — |
TextContent
Text provided to or from an LLM.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
annotations | Annotations | null | No | Optional annotations that help clients decide how to display or route this content. | — |
text | string | Yes | Text payload carried by this content block. | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
TextResourceContents
Text-based resource contents.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
mimeType | string | null | No | MIME type describing the encoded media payload. | — |
text | string | Yes | Text payload carried by this content block. | — |
uri | string | Yes | URI associated with this resource or media payload. | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
ToolListItem
A single tool item returned by the tools list endpoint.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
name | string | Yes | — | — |
description | string | Yes | — | — |
parameters | Array<string> | Yes | — | — |
permission | Tool | null | No | — | — |
inputSchema | unknown | Yes | — | — |
outputSchema | unknown | No | — | — |
ToolPermissionEntry
A single tool permission entry.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
toolName | string | Yes | — | — |
permission | Tool | Yes | — | — |
ToolPermissionLevel
Permission level for a tool.
Type: "always_allow" | "ask_before" | "never_allow"
TruncateSessionConversationRequest_unstable
Truncate a session conversation from the given message timestamp onward.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
truncateFrom | integer | Yes | — | — |
UnarchiveSessionRequest_unstable
Unarchive a previously archived session.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
UnpauseScheduleRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
scheduleId | string | Yes | — | — |
UnstructuredCommandInput
All text that was typed after the command name is provided as input.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
hint | string | Yes | A hint to display when the input hasn't been provided yet | — |
_meta | Record<string, unknown> | null | No | The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys. See protocol docs: Extensibility | — |
UpdateScheduleRequest_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
scheduleId | string | Yes | — | — |
cron | string | Yes | — | — |
UpdateScheduleResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
job | Scheduled | Yes | — | — |
UpdateSessionProjectRequest_unstable
Update the project association for a session.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
projectId | string | null | No | — | — |
UpdateSourceRequest_unstable
Update an existing source's name, description, and content by absolute path.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
type | Source | Yes | — | — |
path | string | Yes | — | — |
name | string | Yes | — | — |
description | string | Yes | — | — |
content | string | Yes | — | — |
properties | Record<string, unknown> | null | No | When Some, replaces all stored properties on the source. WhenNone (or omitted), the source's existing properties arepreserved. Callers that don't model the full property bag (e.g. the skills editor, which only edits name/description/content) should omit this so per-skill metadata isn't silently erased. | — |
UpdateSourceResponse_unstable
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
source | Source | Yes | — | — |
UpdateWorkingDirRequest_unstable
Update the working directory for a session.
Type: object
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
sessionId | string | Yes | — | — |
workingDir | string | Yes | — | — |