List Apps
Fetch available apps with optional pagination and thread context.Method
Parameters
string
Opaque pagination cursor from previous response
number
Page size (server defaults if unset)
string
Thread ID for feature gating (uses global config if omitted)
boolean
default:false
Bypass app caches and fetch fresh data from sources
Response
AppInfo[]
Array of app metadata
string | null
Cursor for next page (null if no more pages)
Notifications
notification
Emitted when app sources finish loadingPayload:
{ data: AppInfo[] }App Object
string
Unique app identifier (connector ID)
string
Human-readable app name
string
App description
string
Light theme logo URL
string | null
Dark theme logo URL
string | null
Distribution channel identifier
object | null
App branding metadata
object | null
Additional app metadata
string[] | null
App category labels
string
URL to install or configure the app
boolean
Whether the user has access to this app
boolean
Whether the app is enabled in config
Example
Invoking an App
To invoke an app, include$<app-slug> in the text input and add a mention input item with the app path.
The slug is derived from the app name: lowercase with non-alphanumeric characters replaced by -.
Examples:
- “GitHub” becomes
$github - “Demo App” becomes
$demo-app
Always include the
mention input item so the server uses the exact app://<connector-id> path rather than guessing by name.App Sources
Apps are loaded from two sources:Accessible Apps
Apps the user has authorized and can accessSource: ChatGPT account integrations
Directory Apps
Public apps available in the app directorySource: ChatGPT app marketplace
app/list response merges both sources. Cache entries are only replaced when refetches succeed.
App Availability
boolean
Indicates whether the user has authorized this appfalse: User needs to install/authorize the app via
installUrltrue: App is ready to useboolean
Indicates whether the app is enabled in Codex configApps can be disabled via
config.toml even if accessible.App Configuration
Apps can be configured inconfig.toml:
Configuration Options
boolean
default:true
Enable or disable the entire app
boolean
Allow destructive operations (delete, modify)
boolean
Allow operations that affect external systems
string
Default approval mode for all tools
auto- Execute without askingprompt- Ask for approvalapprove- Always approve
boolean
Enable all tools by default
Next Steps
Overview
Review the API architecture
Initialization
Initialize your connection