ClawishConfig

+agentsobjectAgent definitions and shared defaultscopy path
+defaultsobjectDefault settings inherited by all agentscopy path
blockStreamingBreakenum (2)copy path
"text_end""message_end"
+blockStreamingChunkobjectcopy path
breakPreferenceenum (3)copy path
"paragraph""newline""sentence"
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
+blockStreamingCoalesceobjectcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
blockStreamingDefaultenum (2)copy path
"off""on"
bootstrapMaxCharsintegercopy path
min: >0 | max: 9007199254740991
+cliBackendsRecord<string, object>External CLI tool integrations; keyed by backend namecopy path
+<cliBackend>objectcopy path
argsstring[]Command-line argumentscopy path
[ "example" ]
clearEnvstring[]copy path
[ "example" ]
commandstringrequiredExecutable command to runcopy path
envRecord<string, string>copy path
{ "<key>": "example" }
imageArgstringcopy path
imageModeenum (2)copy path
"repeat""list"
inputenum (2)copy path
"arg""stdin"
maxPromptArgCharsintegercopy path
min: >0 | max: 9007199254740991
modelAliasesRecord<string, string>copy path
{ "<key>": "example" }
modelArgstringcopy path
outputenum (3)Output format (text, json, stream)copy path
"json""text""jsonl"
resumeArgsstring[]copy path
[ "example" ]
resumeOutputenum (3)copy path
"json""text""jsonl"
serializebooleancopy path
sessionArgstringcopy path
sessionArgsstring[]copy path
[ "example" ]
sessionIdFieldsstring[]copy path
[ "example" ]
sessionModeenum (3)copy path
"always""existing""none"
systemPromptArgstringcopy path
systemPromptModeenum (2)copy path
"append""replace"
systemPromptWhenenum (3)copy path
"first""always""never"
+compactionobjectContext compaction (summarization) settingscopy path
+memoryFlushobjectcopy path
enabledbooleancopy path
promptstringcopy path
softThresholdTokensintegercopy path
min: 0 | max: 9007199254740991
systemPromptstringcopy path
modeenum (2)Compaction strategy (none, summarize, hybrid)copy path
"default""safeguard"
reserveTokensFloorintegercopy path
min: 0 | max: 9007199254740991
+contextPruningobjectHow old messages are pruned from contextcopy path
+hardClearobjectcopy path
enabledbooleancopy path
placeholderstringcopy path
hardClearRationumbercopy path
min: 0 | max: 1
keepLastAssistantsintegercopy path
min: 0 | max: 9007199254740991
minPrunableToolCharsintegercopy path
min: 0 | max: 9007199254740991
modeenum (3)Pruning strategy (none, soft-trim, hard-clear)copy path
"off""adaptive""aggressive"
+softTrimobjectcopy path
headCharsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: 0 | max: 9007199254740991
tailCharsintegercopy path
min: 0 | max: 9007199254740991
softTrimRationumbercopy path
min: 0 | max: 1
+toolsobjectcopy path
allowstring[]copy path
[ "example" ]
denystring[]copy path
[ "example" ]
contextTokensintegerMax context tokens the agent can usecopy path
min: >0 | max: 9007199254740991
elevatedDefaultenum (2)copy path
"off""on"
envelopeElapsedenum (2)copy path
"on""off"
envelopeTimestampenum (2)copy path
"on""off"
envelopeTimezonestringcopy path
+heartbeatobjectPeriodic check-in messages sent by the agentcopy path
ackMaxCharsintegercopy path
min: 0 | max: 9007199254740991
everystringCron expression or duration for heartbeat intervalcopy path
includeReasoningbooleancopy path
modelstringcopy path
promptstringSystem prompt used when generating heartbeat messagescopy path
targetenum (9)copy path
"last""whatsapp""telegram""discord""slack""msteams""signal""imessage""none"
tostringcopy path
+humanDelayobjectSimulate human-like typing delays in responsescopy path
maxMsintegercopy path
min: 0 | max: 9007199254740991
minMsintegercopy path
min: 0 | max: 9007199254740991
modeenum (3)copy path
"off""natural""custom"
+imageModelobjectModel used for image understanding taskscopy path
fallbacksstring[]copy path
[ "example" ]
primarystringcopy path
maxConcurrentintegercopy path
min: >0 | max: 9007199254740991
mediaMaxMbnumbercopy path
min: >0
+memorySearchobjectLong-term memory search configurationcopy path
+cacheobjectcopy path
enabledbooleancopy path
maxEntriesintegercopy path
min: >0 | max: 9007199254740991
+chunkingobjectcopy path
overlapintegercopy path
min: 0 | max: 9007199254740991
tokensintegercopy path
min: >0 | max: 9007199254740991
enabledbooleancopy path
+experimentalobjectcopy path
sessionMemorybooleancopy path
fallbackenum (4)copy path
"openai""gemini""local""none"
+localobjectcopy path
modelCacheDirstringcopy path
modelPathstringcopy path
modelstringcopy path
providerenum (3)copy path
"openai""local""gemini"
+queryobjectcopy path
+hybridobjectcopy path
candidateMultiplierintegercopy path
min: >0 | max: 9007199254740991
enabledbooleancopy path
textWeightnumbercopy path
min: 0 | max: 1
vectorWeightnumbercopy path
min: 0 | max: 1
maxResultsintegercopy path
min: >0 | max: 9007199254740991
minScorenumbercopy path
min: 0 | max: 1
+remoteobjectcopy path
apiKeystringcopy path
baseUrlstringcopy path
+batchobjectcopy path
concurrencyintegercopy path
min: >0 | max: 9007199254740991
enabledbooleancopy path
pollIntervalMsintegercopy path
min: 0 | max: 9007199254740991
timeoutMinutesintegercopy path
min: >0 | max: 9007199254740991
waitbooleancopy path
headersRecord<string, string>copy path
{ "<key>": "example" }
sourcesenum (2)[]Memory sources to search (files, conversations, etc.)copy path
[ "memory" ]
+storeobjectcopy path
driverstringcopy path
"sqlite"
pathstringcopy path
+vectorobjectcopy path
enabledbooleancopy path
extensionPathstringcopy path
+syncobjectcopy path
intervalMinutesintegercopy path
min: 0 | max: 9007199254740991
onSearchbooleancopy path
onSessionStartbooleancopy path
watchbooleancopy path
watchDebounceMsintegercopy path
min: 0 | max: 9007199254740991
+modelobjectDefault model selection (primary + fallbacks)copy path
fallbacksstring[]Fallback model IDs tried in order if primary failscopy path
[ "example" ]
primarystringPrimary model ID to usecopy path
+modelsRecord<string, object>Named model aliases with parameters; keyed by alias namecopy path
+<model>objectcopy path
aliasstringcopy path
paramsRecord<string, any>copy path
{ "<key>": null }
+sandboxobjectSandboxed execution environment for agent toolscopy path
+browserobjectcopy path
allowedControlHostsstring[]copy path
[ "example" ]
allowedControlPortsinteger[]copy path
[ 0 ]
allowedControlUrlsstring[]copy path
[ "example" ]
allowHostControlbooleancopy path
autoStartbooleancopy path
autoStartTimeoutMsintegercopy path
min: >0 | max: 9007199254740991
cdpPortintegercopy path
min: >0 | max: 9007199254740991
containerPrefixstringcopy path
enabledbooleancopy path
enableNoVncbooleancopy path
headlessbooleancopy path
imagestringcopy path
noVncPortintegercopy path
min: >0 | max: 9007199254740991
vncPortintegercopy path
min: >0 | max: 9007199254740991
+dockerobjectcopy path
apparmorProfilestringcopy path
bindsstring[]copy path
[ "example" ]
capDropstring[]copy path
[ "example" ]
containerPrefixstringcopy path
cpusnumbercopy path
min: >0
dnsstring[]copy path
[ "example" ]
envRecord<string, string>copy path
{ "<key>": "example" }
extraHostsstring[]copy path
[ "example" ]
imagestringcopy path
memorystring | numbercopy path
memorySwapstring | numbercopy path
networkstringcopy path
pidsLimitintegercopy path
min: >0 | max: 9007199254740991
readOnlyRootbooleancopy path
seccompProfilestringcopy path
setupCommandstringcopy path
tmpfsstring[]copy path
[ "example" ]
ulimitsRecord<string, string | number | object>copy path
{ "<key>": "example" }
userstringcopy path
workdirstringcopy path
modeenum (3)Sandbox mode (none, docker, browser)copy path
"off""non-main""all"
perSessionbooleancopy path
+pruneobjectcopy path
idleHoursintegercopy path
min: 0 | max: 9007199254740991
maxAgeDaysintegercopy path
min: 0 | max: 9007199254740991
scopeenum (3)copy path
"session""agent""shared"
sessionToolsVisibilityenum (2)copy path
"spawned""all"
workspaceAccessenum (3)copy path
"none""ro""rw"
workspaceRootstringcopy path
skipBootstrapbooleancopy path
+subagentsobjectSub-agent spawning limits and configurationcopy path
archiveAfterMinutesintegercopy path
min: >0 | max: 9007199254740991
maxConcurrentintegercopy path
min: >0 | max: 9007199254740991
+modelstring | objectcopy path
fallbacksstring[]copy path
[ "example" ]
primarystringcopy path
thinkingDefaultenum (6)Default thinking/reasoning mode for new sessionscopy path
"off""minimal""low""medium""high""xhigh"
timeFormatenum (3)copy path
"auto""12""24"
timeoutSecondsintegerMax seconds per agent turn before timeoutcopy path
min: >0 | max: 9007199254740991
typingIntervalSecondsintegercopy path
min: >0 | max: 9007199254740991
typingModeenum (4)copy path
"never""instant""thinking""message"
userTimezonestringcopy path
verboseDefaultenum (3)copy path
"off""on""full"
workspacestringDefault workspace directory pathcopy path
+listobject[]Named agent definitionscopy path
agentDirstringcopy path
defaultbooleancopy path
+groupChatobjectGroup chat behavior settingscopy path
historyLimitintegercopy path
min: >0 | max: 9007199254740991
mentionPatternsstring[]copy path
[ "example" ]
+heartbeatobjectcopy path
ackMaxCharsintegercopy path
min: 0 | max: 9007199254740991
everystringcopy path
includeReasoningbooleancopy path
modelstringcopy path
promptstringcopy path
targetenum (9)copy path
"last""whatsapp""telegram""discord""slack""msteams""signal""imessage""none"
tostringcopy path
+humanDelayobjectcopy path
maxMsintegercopy path
min: 0 | max: 9007199254740991
minMsintegercopy path
min: 0 | max: 9007199254740991
modeenum (3)copy path
"off""natural""custom"
idstringrequiredUnique agent identifiercopy path
+identityobjectAgent's display identity in conversationscopy path
emojistringcopy path
namestringcopy path
themestringcopy path
+memorySearchobjectcopy path
+cacheobjectcopy path
enabledbooleancopy path
maxEntriesintegercopy path
min: >0 | max: 9007199254740991
+chunkingobjectcopy path
overlapintegercopy path
min: 0 | max: 9007199254740991
tokensintegercopy path
min: >0 | max: 9007199254740991
enabledbooleancopy path
+experimentalobjectcopy path
sessionMemorybooleancopy path
fallbackenum (4)copy path
"openai""gemini""local""none"
+localobjectcopy path
modelCacheDirstringcopy path
modelPathstringcopy path
modelstringcopy path
providerenum (3)copy path
"openai""local""gemini"
+queryobjectcopy path
+hybridobjectcopy path
candidateMultiplierintegercopy path
min: >0 | max: 9007199254740991
enabledbooleancopy path
textWeightnumbercopy path
min: 0 | max: 1
vectorWeightnumbercopy path
min: 0 | max: 1
maxResultsintegercopy path
min: >0 | max: 9007199254740991
minScorenumbercopy path
min: 0 | max: 1
+remoteobjectcopy path
apiKeystringcopy path
baseUrlstringcopy path
+batchobjectcopy path
concurrencyintegercopy path
min: >0 | max: 9007199254740991
enabledbooleancopy path
pollIntervalMsintegercopy path
min: 0 | max: 9007199254740991
timeoutMinutesintegercopy path
min: >0 | max: 9007199254740991
waitbooleancopy path
headersRecord<string, string>copy path
{ "<key>": "example" }
sourcesenum (2)[]copy path
[ "memory" ]
+storeobjectcopy path
driverstringcopy path
"sqlite"
pathstringcopy path
+vectorobjectcopy path
enabledbooleancopy path
extensionPathstringcopy path
+syncobjectcopy path
intervalMinutesintegercopy path
min: 0 | max: 9007199254740991
onSearchbooleancopy path
onSessionStartbooleancopy path
watchbooleancopy path
watchDebounceMsintegercopy path
min: 0 | max: 9007199254740991
+modelstring | objectcopy path
fallbacksstring[]copy path
[ "example" ]
primarystringcopy path
namestringDisplay name for this agentcopy path
+sandboxobjectcopy path
+browserobjectcopy path
allowedControlHostsstring[]copy path
[ "example" ]
allowedControlPortsinteger[]copy path
[ 0 ]
allowedControlUrlsstring[]copy path
[ "example" ]
allowHostControlbooleancopy path
autoStartbooleancopy path
autoStartTimeoutMsintegercopy path
min: >0 | max: 9007199254740991
cdpPortintegercopy path
min: >0 | max: 9007199254740991
containerPrefixstringcopy path
enabledbooleancopy path
enableNoVncbooleancopy path
headlessbooleancopy path
imagestringcopy path
noVncPortintegercopy path
min: >0 | max: 9007199254740991
vncPortintegercopy path
min: >0 | max: 9007199254740991
+dockerobjectcopy path
apparmorProfilestringcopy path
bindsstring[]copy path
[ "example" ]
capDropstring[]copy path
[ "example" ]
containerPrefixstringcopy path
cpusnumbercopy path
min: >0
dnsstring[]copy path
[ "example" ]
envRecord<string, string>copy path
{ "<key>": "example" }
extraHostsstring[]copy path
[ "example" ]
imagestringcopy path
memorystring | numbercopy path
memorySwapstring | numbercopy path
networkstringcopy path
pidsLimitintegercopy path
min: >0 | max: 9007199254740991
readOnlyRootbooleancopy path
seccompProfilestringcopy path
setupCommandstringcopy path
tmpfsstring[]copy path
[ "example" ]
ulimitsRecord<string, string | number | object>copy path
{ "<key>": "example" }
userstringcopy path
workdirstringcopy path
modeenum (3)copy path
"off""non-main""all"
perSessionbooleancopy path
+pruneobjectcopy path
idleHoursintegercopy path
min: 0 | max: 9007199254740991
maxAgeDaysintegercopy path
min: 0 | max: 9007199254740991
scopeenum (3)copy path
"session""agent""shared"
sessionToolsVisibilityenum (2)copy path
"spawned""all"
workspaceAccessenum (3)copy path
"none""ro""rw"
workspaceRootstringcopy path
+subagentsobjectcopy path
allowAgentsstring[]copy path
[ "example" ]
+modelstring | objectcopy path
fallbacksstring[]copy path
[ "example" ]
primarystringcopy path
+toolsobjectTool access and permissions for this agentcopy path
allowstring[]Explicitly allowed tool namescopy path
[ "example" ]
+byProviderRecord<string, object>copy path
+<byProvider>objectcopy path
allowstring[]copy path
[ "example" ]
denystring[]copy path
[ "example" ]
profileenum (4)copy path
"minimal""coding""messaging""full"
denystring[]Explicitly denied tool namescopy path
[ "example" ]
+elevatedobjectcopy path
allowFromRecord<string, string | number[]>copy path
{ "<key>": [ "example" ] }
enabledbooleancopy path
+execobjectcopy path
+applyPatchobjectcopy path
allowModelsstring[]copy path
[ "example" ]
enabledbooleancopy path
askenum (3)copy path
"off""on-miss""always"
backgroundMsintegercopy path
min: >0 | max: 9007199254740991
cleanupMsintegercopy path
min: >0 | max: 9007199254740991
hostenum (3)copy path
"sandbox""gateway""node"
nodestringcopy path
notifyOnExitbooleancopy path
pathPrependstring[]copy path
[ "example" ]
securityenum (3)copy path
"deny""allowlist""full"
timeoutSecintegercopy path
min: >0 | max: 9007199254740991
profileenum (4)Tool permission profile (permissive, restrictive, custom)copy path
"minimal""coding""messaging""full"
+sandboxobjectcopy path
+toolsobjectcopy path
allowstring[]copy path
[ "example" ]
denystring[]copy path
[ "example" ]
workspacestringcopy path
+audioobjectAudio processing configurationcopy path
+transcriptionobjectSpeech-to-text transcription settingscopy path
commandstring[]requiredcopy path
[ "example" ]
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
+authobjectAuthentication profiles and billing managementcopy path
+cooldownsobjectRate-limit back-off behavior after billing or auth failurescopy path
billingBackoffHoursnumbercopy path
min: >0
billingBackoffHoursByProviderRecord<string, number>copy path
{ "<key>": 0 }
billingMaxHoursnumbercopy path
min: >0
failureWindowHoursnumbercopy path
min: >0
orderRecord<string, string[]>Priority order for trying auth profiles; keyed by provider namecopy path
{ "<key>": [ "example" ] }
+profilesRecord<string, object>Named auth profiles; keyed by profile name (e.g. 'default', 'work')copy path
+<profile>objectcopy path
emailstringcopy path
modeenum (3)requiredAuthentication mode (api-key, oauth, etc.)copy path
"api_key""oauth""token"
providerstringrequiredAPI provider for this profile (e.g. 'anthropic', 'openai')copy path
+bindingsobject[]Map agents to specific channels/conversationscopy path
agentIdstringrequiredAgent ID to activate for matching messagescopy path
+matchobjectrequiredCriteria for matching incoming messagescopy path
accountIdstringSpecific account ID to matchcopy path
channelstringrequiredChannel type to match (telegram, discord, etc.)copy path
guildIdstringcopy path
+peerobjectPeer (user/group) to matchcopy path
idstringrequiredcopy path
kindenum (3)requiredcopy path
"dm""group""channel"
teamIdstringcopy path
+broadcastobjectMessage broadcasting to multiple targetscopy path
strategyenum (2)How to distribute broadcast messagescopy path
"parallel""sequential"
+browserobjectBuilt-in browser automation (headless Chrome/Chromium)copy path
attachOnlybooleancopy path
cdpUrlstringChrome DevTools Protocol endpoint for remote browsercopy path
colorstringcopy path
controlTokenstringcopy path
controlUrlstringcopy path
defaultProfilestringcopy path
enabledbooleancopy path
executablePathstringPath to Chrome/Chromium binarycopy path
headlessbooleancopy path
noSandboxbooleancopy path
+profilesRecord<string, object>Named browser profiles; keyed by profile namecopy path
+<profile>objectcopy path
cdpPortintegercopy path
min: 1 | max: 65535
cdpUrlstringcopy path
colorstringrequiredcopy path
pattern: ^#?[0-9a-fA-F]{6}$
driverenum (2)copy path
"clawd""extension"
remoteCdpHandshakeTimeoutMsintegercopy path
min: 0 | max: 9007199254740991
remoteCdpTimeoutMsintegercopy path
min: 0 | max: 9007199254740991
+snapshotDefaultsobjectDefault settings for page snapshot capturecopy path
modestringcopy path
"efficient"
+canvasHostobjectLocal web server for HTML canvas renderingcopy path
enabledbooleancopy path
liveReloadbooleanAuto-reload canvas pages on file changescopy path
portintegerPort for the canvas HTTP servercopy path
min: >0 | max: 9007199254740991
rootstringDirectory served as the canvas web rootcopy path
+channelsobjectMessaging platform integrationscopy path
+bluebubblesobjectBlueBubbles iMessage bridge integrationcopy path
+accountsRecord<string, object>Multi-account setup; keyed by account namecopy path
+<account>objectcopy path
allowFromstring | number[]copy path
[ "example" ]
blockStreamingbooleancopy path
+blockStreamingCoalesceobjectcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
capabilitiesstring[]copy path
[ "example" ]
configWritesbooleancopy path
dmHistoryLimitintegercopy path
min: 0 | max: 9007199254740991
dmPolicyenum (4)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
+dmsRecord<string, object>copy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
enabledbooleancopy path
groupAllowFromstring | number[]copy path
[ "example" ]
groupPolicyenum (3)copy path
default: "allowlist"
"open""disabled""allowlist"
+groupsRecord<string, object>copy path
+<group>objectcopy path
requireMentionbooleancopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
mediaMaxMbintegercopy path
min: >0 | max: 9007199254740991
namestringcopy path
passwordstringcopy path
sendReadReceiptsbooleancopy path
serverUrlstringcopy path
textChunkLimitintegercopy path
min: >0 | max: 9007199254740991
webhookPathstringcopy path
+actionsobjectBot actions allowed on this channel (reactions, messages, etc.)copy path
addParticipantbooleancopy path
editbooleancopy path
leaveGroupbooleancopy path
reactionsbooleancopy path
removeParticipantbooleancopy path
renameGroupbooleancopy path
replybooleancopy path
sendAttachmentbooleancopy path
sendWithEffectbooleancopy path
setGroupIconbooleancopy path
unsendbooleancopy path
allowFromstring | number[]User IDs allowed to interact in DMscopy path
[ "example" ]
blockStreamingbooleanSend complete messages instead of streamingcopy path
+blockStreamingCoalesceobjectCoalesce streamed chunks before sendingcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
capabilitiesstring[]Supported message types (text, image, audio, video, etc.)copy path
[ "example" ]
configWritesbooleanAllow the agent to modify config via this channelcopy path
dmHistoryLimitintegerMax history messages for DM conversationscopy path
min: 0 | max: 9007199254740991
dmPolicyenum (4)DM access policy (allow, deny, allowlisted)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
+dmsRecord<string, object>Per-DM overrides; keyed by user/chat IDcopy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
enabledbooleanWhether this channel integration is activecopy path
groupAllowFromstring | number[]User IDs allowed to interact in groupscopy path
[ "example" ]
groupPolicyenum (3)Group access policy (allow, deny, allowlisted)copy path
default: "allowlist"
"open""disabled""allowlist"
+groupsRecord<string, object>Per-group overrides; keyed by group/chat IDcopy path
+<group>objectcopy path
requireMentionbooleancopy path
historyLimitintegerMax conversation history messages to includecopy path
min: 0 | max: 9007199254740991
mediaMaxMbintegerMax media file size in megabytescopy path
min: >0 | max: 9007199254740991
namestringcopy path
passwordstringBlueBubbles server passwordcopy path
sendReadReceiptsbooleancopy path
serverUrlstringBlueBubbles server URLcopy path
textChunkLimitintegerMax characters per message chunkcopy path
min: >0 | max: 9007199254740991
webhookPathstringPath for BlueBubbles webhook callbackscopy path
+defaultsobjectDefault settings inherited by all channelscopy path
groupPolicyenum (3)Default group access policy (allow, deny, allowlisted)copy path
"open""disabled""allowlist"
+discordobjectDiscord bot integrationcopy path
+accountsRecord<string, object>Multi-account setup; keyed by account namecopy path
+<account>objectcopy path
+actionsobjectcopy path
channelInfobooleancopy path
channelsbooleancopy path
emojiUploadsbooleancopy path
eventsbooleancopy path
memberInfobooleancopy path
messagesbooleancopy path
moderationbooleancopy path
permissionsbooleancopy path
pinsbooleancopy path
pollsbooleancopy path
reactionsbooleancopy path
roleInfobooleancopy path
rolesbooleancopy path
searchbooleancopy path
stickersbooleancopy path
stickerUploadsbooleancopy path
threadsbooleancopy path
voiceStatusbooleancopy path
allowBotsbooleancopy path
blockStreamingbooleancopy path
+blockStreamingCoalesceobjectcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
capabilitiesstring[]copy path
[ "example" ]
+commandsobjectcopy path
nativeboolean | stringcopy path
nativeSkillsboolean | stringcopy path
configWritesbooleancopy path
+dmobjectcopy path
allowFromstring | number[]copy path
[ "example" ]
enabledbooleancopy path
groupChannelsstring | number[]copy path
[ "example" ]
groupEnabledbooleancopy path
policyenum (4)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
dmHistoryLimitintegercopy path
min: 0 | max: 9007199254740991
+dmsRecord<string, object>copy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
enabledbooleancopy path
groupPolicyenum (3)copy path
default: "allowlist"
"open""disabled""allowlist"
+guildsRecord<string, object>copy path
+<guild>objectcopy path
+channelsRecord<string, object>copy path
+<channel>objectcopy path
allowbooleancopy path
autoThreadbooleancopy path
enabledbooleancopy path
requireMentionbooleancopy path
skillsstring[]copy path
[ "example" ]
systemPromptstringcopy path
usersstring | number[]copy path
[ "example" ]
reactionNotificationsenum (4)copy path
"off""own""all""allowlist"
requireMentionbooleancopy path
slugstringcopy path
usersstring | number[]copy path
[ "example" ]
historyLimitintegercopy path
min: 0 | max: 9007199254740991
maxLinesPerMessageintegercopy path
min: >0 | max: 9007199254740991
mediaMaxMbnumbercopy path
min: >0
namestringcopy path
replyToModeenum (3)copy path
"off""first""all"
+retryobjectcopy path
attemptsintegercopy path
min: 1 | max: 9007199254740991
jitternumbercopy path
min: 0 | max: 1
maxDelayMsintegercopy path
min: 0 | max: 9007199254740991
minDelayMsintegercopy path
min: 0 | max: 9007199254740991
textChunkLimitintegercopy path
min: >0 | max: 9007199254740991
tokenstringcopy path
+actionsobjectBot actions allowed on this channel (reactions, messages, etc.)copy path
channelInfobooleancopy path
channelsbooleancopy path
emojiUploadsbooleancopy path
eventsbooleancopy path
memberInfobooleancopy path
messagesbooleancopy path
moderationbooleancopy path
permissionsbooleancopy path
pinsbooleancopy path
pollsbooleancopy path
reactionsbooleancopy path
roleInfobooleancopy path
rolesbooleancopy path
searchbooleancopy path
stickersbooleancopy path
stickerUploadsbooleancopy path
threadsbooleancopy path
voiceStatusbooleancopy path
allowBotsbooleanRespond to messages from other botscopy path
blockStreamingbooleanSend complete messages instead of streamingcopy path
+blockStreamingCoalesceobjectCoalesce streamed chunks before sendingcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
capabilitiesstring[]Supported message types (text, image, audio, video, etc.)copy path
[ "example" ]
+commandsobjectSlash command configuration for this channelcopy path
nativeboolean | stringcopy path
nativeSkillsboolean | stringcopy path
configWritesbooleanAllow the agent to modify config via this channelcopy path
+dmobjectDirect message specific settingscopy path
allowFromstring | number[]copy path
[ "example" ]
enabledbooleancopy path
groupChannelsstring | number[]copy path
[ "example" ]
groupEnabledbooleancopy path
policyenum (4)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
dmHistoryLimitintegerMax history messages for DM conversationscopy path
min: 0 | max: 9007199254740991
+dmsRecord<string, object>Per-DM overrides; keyed by user/chat IDcopy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
enabledbooleanWhether this channel integration is activecopy path
groupPolicyenum (3)Group access policy (allow, deny, allowlisted)copy path
default: "allowlist"
"open""disabled""allowlist"
+guildsRecord<string, object>Per-server configuration; keyed by guild (server) IDcopy path
+<guild>objectcopy path
+channelsRecord<string, object>Per-channel overrides within this guild; keyed by channel IDcopy path
+<channel>objectcopy path
allowbooleancopy path
autoThreadbooleancopy path
enabledbooleancopy path
requireMentionbooleancopy path
skillsstring[]copy path
[ "example" ]
systemPromptstringcopy path
usersstring | number[]copy path
[ "example" ]
reactionNotificationsenum (4)copy path
"off""own""all""allowlist"
requireMentionbooleancopy path
slugstringShort name for this guild in logscopy path
usersstring | number[]Allowed user IDs in this guildcopy path
[ "example" ]
historyLimitintegerMax conversation history messages to includecopy path
min: 0 | max: 9007199254740991
maxLinesPerMessageintegercopy path
min: >0 | max: 9007199254740991
mediaMaxMbnumberMax media file size in megabytescopy path
min: >0
namestringcopy path
replyToModeenum (3)How to handle replies (thread, inline, quote)copy path
"off""first""all"
+retryobjectRetry settings for failed message deliverycopy path
attemptsintegercopy path
min: 1 | max: 9007199254740991
jitternumbercopy path
min: 0 | max: 1
maxDelayMsintegercopy path
min: 0 | max: 9007199254740991
minDelayMsintegercopy path
min: 0 | max: 9007199254740991
textChunkLimitintegerMax characters per message chunkcopy path
min: >0 | max: 9007199254740991
tokenstringDiscord bot tokencopy path
+imessageobjectiMessage integration (macOS only)copy path
+accountsRecord<string, object>Multi-account setup; keyed by account namecopy path
+<account>objectcopy path
allowFromstring | number[]copy path
[ "example" ]
blockStreamingbooleancopy path
+blockStreamingCoalesceobjectcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
capabilitiesstring[]copy path
[ "example" ]
cliPathstringcopy path
configWritesbooleancopy path
dbPathstringcopy path
dmHistoryLimitintegercopy path
min: 0 | max: 9007199254740991
dmPolicyenum (4)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
+dmsRecord<string, object>copy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
enabledbooleancopy path
groupAllowFromstring | number[]copy path
[ "example" ]
groupPolicyenum (3)copy path
default: "allowlist"
"open""disabled""allowlist"
+groupsRecord<string, object>copy path
+<group>objectcopy path
requireMentionbooleancopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
includeAttachmentsbooleancopy path
mediaMaxMbintegercopy path
min: >0 | max: 9007199254740991
namestringcopy path
regionstringcopy path
remoteHoststringcopy path
serviceenum (3)copy path
"imessage""sms""auto"
textChunkLimitintegercopy path
min: >0 | max: 9007199254740991
allowFromstring | number[]User IDs allowed to interact in DMscopy path
[ "example" ]
blockStreamingbooleanSend complete messages instead of streamingcopy path
+blockStreamingCoalesceobjectCoalesce streamed chunks before sendingcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
capabilitiesstring[]Supported message types (text, image, audio, video, etc.)copy path
[ "example" ]
cliPathstringPath to iMessage CLI toolcopy path
configWritesbooleanAllow the agent to modify config via this channelcopy path
dbPathstringPath to the iMessage chat.db databasecopy path
dmHistoryLimitintegerMax history messages for DM conversationscopy path
min: 0 | max: 9007199254740991
dmPolicyenum (4)DM access policy (allow, deny, allowlisted)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
+dmsRecord<string, object>Per-DM overrides; keyed by user/chat IDcopy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
enabledbooleanWhether this channel integration is activecopy path
groupAllowFromstring | number[]User IDs allowed to interact in groupscopy path
[ "example" ]
groupPolicyenum (3)Group access policy (allow, deny, allowlisted)copy path
default: "allowlist"
"open""disabled""allowlist"
+groupsRecord<string, object>Per-group overrides; keyed by group/chat IDcopy path
+<group>objectcopy path
requireMentionbooleancopy path
historyLimitintegerMax conversation history messages to includecopy path
min: 0 | max: 9007199254740991
includeAttachmentsbooleancopy path
mediaMaxMbintegerMax media file size in megabytescopy path
min: >0 | max: 9007199254740991
namestringcopy path
regionstringcopy path
remoteHoststringSSH host for remote iMessage accesscopy path
serviceenum (3)iMessage service type (iMessage, SMS)copy path
"imessage""sms""auto"
textChunkLimitintegerMax characters per message chunkcopy path
min: >0 | max: 9007199254740991
+msteamsobjectMicrosoft Teams integrationcopy path
allowFromstring[]User IDs allowed to interact in DMscopy path
[ "example" ]
appIdstringAzure AD application (client) IDcopy path
appPasswordstringAzure AD application secretcopy path
+blockStreamingCoalesceobjectCoalesce streamed chunks before sendingcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
capabilitiesstring[]Supported message types (text, image, audio, video, etc.)copy path
[ "example" ]
configWritesbooleanAllow the agent to modify config via this channelcopy path
dmHistoryLimitintegerMax history messages for DM conversationscopy path
min: 0 | max: 9007199254740991
dmPolicyenum (4)DM access policy (allow, deny, allowlisted)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
+dmsRecord<string, object>Per-DM overrides; keyed by user/chat IDcopy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
enabledbooleanWhether this channel integration is activecopy path
groupAllowFromstring[]User IDs allowed to interact in groupscopy path
[ "example" ]
groupPolicyenum (3)Group access policy (allow, deny, allowlisted)copy path
default: "allowlist"
"open""disabled""allowlist"
historyLimitintegerMax conversation history messages to includecopy path
min: 0 | max: 9007199254740991
mediaAllowHostsstring[]copy path
[ "example" ]
replyStyleenum (2)copy path
"thread""top-level"
requireMentionbooleancopy path
+teamsRecord<string, object>Per-team overrides; keyed by team IDcopy path
+<team>objectcopy path
+channelsRecord<string, object>copy path
+<channel>objectcopy path
replyStyleenum (2)copy path
"thread""top-level"
requireMentionbooleancopy path
replyStyleenum (2)copy path
"thread""top-level"
requireMentionbooleancopy path
tenantIdstringAzure AD tenant IDcopy path
textChunkLimitintegerMax characters per message chunkcopy path
min: >0 | max: 9007199254740991
+webhookobjectTeams webhook endpoint configurationcopy path
pathstringcopy path
portintegercopy path
min: >0 | max: 9007199254740991
+signalobjectSignal messenger integrationcopy path
accountstringSignal account phone numbercopy path
+accountsRecord<string, object>Multi-account setup; keyed by account namecopy path
+<account>objectcopy path
accountstringcopy path
allowFromstring | number[]copy path
[ "example" ]
autoStartbooleancopy path
blockStreamingbooleancopy path
+blockStreamingCoalesceobjectcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
capabilitiesstring[]copy path
[ "example" ]
cliPathstringcopy path
configWritesbooleancopy path
dmHistoryLimitintegercopy path
min: 0 | max: 9007199254740991
dmPolicyenum (4)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
+dmsRecord<string, object>copy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
enabledbooleancopy path
groupAllowFromstring | number[]copy path
[ "example" ]
groupPolicyenum (3)copy path
default: "allowlist"
"open""disabled""allowlist"
historyLimitintegercopy path
min: 0 | max: 9007199254740991
httpHoststringcopy path
httpPortintegercopy path
min: >0 | max: 9007199254740991
httpUrlstringcopy path
ignoreAttachmentsbooleancopy path
ignoreStoriesbooleancopy path
mediaMaxMbintegercopy path
min: >0 | max: 9007199254740991
namestringcopy path
reactionAllowliststring | number[]copy path
[ "example" ]
reactionNotificationsenum (4)copy path
"off""own""all""allowlist"
receiveModeenum (2)copy path
"on-start""manual"
sendReadReceiptsbooleancopy path
textChunkLimitintegercopy path
min: >0 | max: 9007199254740991
allowFromstring | number[]User IDs allowed to interact in DMscopy path
[ "example" ]
autoStartbooleancopy path
blockStreamingbooleanSend complete messages instead of streamingcopy path
+blockStreamingCoalesceobjectCoalesce streamed chunks before sendingcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
capabilitiesstring[]Supported message types (text, image, audio, video, etc.)copy path
[ "example" ]
cliPathstringPath to signal-cli binarycopy path
configWritesbooleanAllow the agent to modify config via this channelcopy path
dmHistoryLimitintegerMax history messages for DM conversationscopy path
min: 0 | max: 9007199254740991
dmPolicyenum (4)DM access policy (allow, deny, allowlisted)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
+dmsRecord<string, object>Per-DM overrides; keyed by user/chat IDcopy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
enabledbooleanWhether this channel integration is activecopy path
groupAllowFromstring | number[]User IDs allowed to interact in groupscopy path
[ "example" ]
groupPolicyenum (3)Group access policy (allow, deny, allowlisted)copy path
default: "allowlist"
"open""disabled""allowlist"
historyLimitintegerMax conversation history messages to includecopy path
min: 0 | max: 9007199254740991
httpHoststringcopy path
httpPortintegercopy path
min: >0 | max: 9007199254740991
httpUrlstringsignal-cli REST API endpointcopy path
ignoreAttachmentsbooleancopy path
ignoreStoriesbooleancopy path
mediaMaxMbintegerMax media file size in megabytescopy path
min: >0 | max: 9007199254740991
namestringcopy path
reactionAllowliststring | number[]copy path
[ "example" ]
reactionNotificationsenum (4)copy path
"off""own""all""allowlist"
receiveModeenum (2)How to receive messages (websocket, poll)copy path
"on-start""manual"
sendReadReceiptsbooleancopy path
textChunkLimitintegerMax characters per message chunkcopy path
min: >0 | max: 9007199254740991
+slackobjectSlack workspace integrationcopy path
+accountsRecord<string, object>Multi-account setup; keyed by account namecopy path
+<account>objectcopy path
+actionsobjectcopy path
channelInfobooleancopy path
emojiListbooleancopy path
memberInfobooleancopy path
messagesbooleancopy path
permissionsbooleancopy path
pinsbooleancopy path
reactionsbooleancopy path
searchbooleancopy path
allowBotsbooleancopy path
appTokenstringcopy path
blockStreamingbooleancopy path
+blockStreamingCoalesceobjectcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
botTokenstringcopy path
capabilitiesstring[]copy path
[ "example" ]
+channelsRecord<string, object>copy path
+<channel>objectcopy path
allowbooleancopy path
allowBotsbooleancopy path
enabledbooleancopy path
requireMentionbooleancopy path
skillsstring[]copy path
[ "example" ]
systemPromptstringcopy path
usersstring | number[]copy path
[ "example" ]
+commandsobjectcopy path
nativeboolean | stringcopy path
nativeSkillsboolean | stringcopy path
configWritesbooleancopy path
+dmobjectcopy path
allowFromstring | number[]copy path
[ "example" ]
enabledbooleancopy path
groupChannelsstring | number[]copy path
[ "example" ]
groupEnabledbooleancopy path
policyenum (4)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
dmHistoryLimitintegercopy path
min: 0 | max: 9007199254740991
+dmsRecord<string, object>copy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
enabledbooleancopy path
groupPolicyenum (3)copy path
default: "allowlist"
"open""disabled""allowlist"
historyLimitintegercopy path
min: 0 | max: 9007199254740991
mediaMaxMbnumbercopy path
min: >0
modeenum (2)copy path
"socket""http"
namestringcopy path
reactionAllowliststring | number[]copy path
[ "example" ]
reactionNotificationsenum (4)copy path
"off""own""all""allowlist"
replyToModeenum (3)copy path
"off""first""all"
requireMentionbooleancopy path
signingSecretstringcopy path
+slashCommandobjectcopy path
enabledbooleancopy path
ephemeralbooleancopy path
namestringcopy path
sessionPrefixstringcopy path
textChunkLimitintegercopy path
min: >0 | max: 9007199254740991
+threadobjectcopy path
historyScopeenum (2)copy path
"thread""channel"
inheritParentbooleancopy path
userTokenstringcopy path
userTokenReadOnlybooleancopy path
default: true
webhookPathstringcopy path
+actionsobjectBot actions allowed on this channel (reactions, messages, etc.)copy path
channelInfobooleancopy path
emojiListbooleancopy path
memberInfobooleancopy path
messagesbooleancopy path
permissionsbooleancopy path
pinsbooleancopy path
reactionsbooleancopy path
searchbooleancopy path
allowBotsbooleancopy path
appTokenstringSlack app-level token for Socket Mode (xapp-...)copy path
blockStreamingbooleanSend complete messages instead of streamingcopy path
+blockStreamingCoalesceobjectCoalesce streamed chunks before sendingcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
botTokenstringSlack bot OAuth token (xoxb-...)copy path
capabilitiesstring[]Supported message types (text, image, audio, video, etc.)copy path
[ "example" ]
+channelsRecord<string, object>Per-channel overrides; keyed by channel ID or namecopy path
+<channel>objectcopy path
allowbooleancopy path
allowBotsbooleancopy path
enabledbooleancopy path
requireMentionbooleancopy path
skillsstring[]copy path
[ "example" ]
systemPromptstringcopy path
usersstring | number[]copy path
[ "example" ]
+commandsobjectSlash command configuration for this channelcopy path
nativeboolean | stringcopy path
nativeSkillsboolean | stringcopy path
configWritesbooleanAllow the agent to modify config via this channelcopy path
+dmobjectDirect message specific settingscopy path
allowFromstring | number[]copy path
[ "example" ]
enabledbooleancopy path
groupChannelsstring | number[]copy path
[ "example" ]
groupEnabledbooleancopy path
policyenum (4)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
dmHistoryLimitintegerMax history messages for DM conversationscopy path
min: 0 | max: 9007199254740991
+dmsRecord<string, object>Per-DM overrides; keyed by user/chat IDcopy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
enabledbooleanWhether this channel integration is activecopy path
groupPolicyenum (3)Group access policy (allow, deny, allowlisted)copy path
default: "allowlist"
"open""disabled""allowlist"
historyLimitintegerMax conversation history messages to includecopy path
min: 0 | max: 9007199254740991
mediaMaxMbnumberMax media file size in megabytescopy path
min: >0
modeenum (2)Connection mode (socket, webhook)copy path
default: "socket"
"socket""http"
namestringcopy path
reactionAllowliststring | number[]copy path
[ "example" ]
reactionNotificationsenum (4)copy path
"off""own""all""allowlist"
replyToModeenum (3)How to handle replies (thread, inline, quote)copy path
"off""first""all"
requireMentionbooleancopy path
signingSecretstringcopy path
+slashCommandobjectCustom Slack slash command handlercopy path
enabledbooleancopy path
ephemeralbooleancopy path
namestringcopy path
sessionPrefixstringcopy path
textChunkLimitintegerMax characters per message chunkcopy path
min: >0 | max: 9007199254740991
+threadobjectThread behavior configurationcopy path
historyScopeenum (2)copy path
"thread""channel"
inheritParentbooleancopy path
userTokenstringSlack user token for advanced API calls (xoxp-...)copy path
userTokenReadOnlybooleancopy path
default: true
webhookPathstringcopy path
default: "/slack/events"
+telegramobjectTelegram Bot API integrationcopy path
+accountsRecord<string, object>Multi-account setup; keyed by account namecopy path
+<account>objectcopy path
+actionsobjectcopy path
deleteMessagebooleancopy path
reactionsbooleancopy path
sendMessagebooleancopy path
allowFromstring | number[]copy path
[ "example" ]
blockStreamingbooleancopy path
+blockStreamingCoalesceobjectcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
botTokenstringcopy path
+capabilitiesstring[] | objectcopy path
inlineButtonsenum (5)copy path
"off""dm""group""all""allowlist"
+commandsobjectcopy path
nativeboolean | stringcopy path
nativeSkillsboolean | stringcopy path
configWritesbooleancopy path
+customCommandsobject[]copy path
commandstringrequiredcopy path
descriptionstringrequiredcopy path
dmHistoryLimitintegercopy path
min: 0 | max: 9007199254740991
dmPolicyenum (4)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
+dmsRecord<string, object>copy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
+draftChunkobjectcopy path
breakPreferenceenum (3)copy path
"paragraph""newline""sentence"
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
enabledbooleancopy path
groupAllowFromstring | number[]copy path
[ "example" ]
groupPolicyenum (3)copy path
default: "allowlist"
"open""disabled""allowlist"
+groupsRecord<string, object>copy path
+<group>objectcopy path
allowFromstring | number[]copy path
[ "example" ]
enabledbooleancopy path
requireMentionbooleancopy path
skillsstring[]copy path
[ "example" ]
systemPromptstringcopy path
+topicsRecord<string, object>copy path
+<topic>objectcopy path
allowFromstring | number[]copy path
[ "example" ]
enabledbooleancopy path
requireMentionbooleancopy path
skillsstring[]copy path
[ "example" ]
systemPromptstringcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
mediaMaxMbnumbercopy path
min: >0
namestringcopy path
proxystringcopy path
reactionLevelenum (4)copy path
"off""ack""minimal""extensive"
reactionNotificationsenum (3)copy path
"off""own""all"
replyToModeenum (3)copy path
"off""first""all"
+retryobjectcopy path
attemptsintegercopy path
min: 1 | max: 9007199254740991
jitternumbercopy path
min: 0 | max: 1
maxDelayMsintegercopy path
min: 0 | max: 9007199254740991
minDelayMsintegercopy path
min: 0 | max: 9007199254740991
streamModeenum (3)copy path
default: "partial"
"off""partial""block"
textChunkLimitintegercopy path
min: >0 | max: 9007199254740991
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
tokenFilestringcopy path
webhookPathstringcopy path
webhookSecretstringcopy path
webhookUrlstringcopy path
+actionsobjectBot actions allowed on this channel (reactions, messages, etc.)copy path
deleteMessagebooleancopy path
reactionsbooleancopy path
sendMessagebooleancopy path
allowFromstring | number[]User IDs allowed to interact in DMscopy path
[ "example" ]
blockStreamingbooleanSend complete messages instead of streamingcopy path
+blockStreamingCoalesceobjectCoalesce streamed chunks before sendingcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
botTokenstringTelegram bot token from @BotFathercopy path
+capabilitiesstring[] | objectSupported message types (text, image, audio, video, etc.)copy path
inlineButtonsenum (5)copy path
"off""dm""group""all""allowlist"
+commandsobjectSlash command configuration for this channelcopy path
nativeboolean | stringcopy path
nativeSkillsboolean | stringcopy path
configWritesbooleanAllow the agent to modify config via this channelcopy path
+customCommandsobject[]Custom slash commands registered with Telegramcopy path
commandstringrequiredcopy path
descriptionstringrequiredcopy path
dmHistoryLimitintegerMax history messages for DM conversationscopy path
min: 0 | max: 9007199254740991
dmPolicyenum (4)DM access policy (allow, deny, allowlisted)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
+dmsRecord<string, object>Per-DM overrides; keyed by user/chat IDcopy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
+draftChunkobjectDraft message chunking for streaming modecopy path
breakPreferenceenum (3)copy path
"paragraph""newline""sentence"
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
enabledbooleanWhether this channel integration is activecopy path
groupAllowFromstring | number[]User IDs allowed to interact in groupscopy path
[ "example" ]
groupPolicyenum (3)Group access policy (allow, deny, allowlisted)copy path
default: "allowlist"
"open""disabled""allowlist"
+groupsRecord<string, object>Per-group overrides; keyed by group/chat IDcopy path
+<group>objectcopy path
allowFromstring | number[]copy path
[ "example" ]
enabledbooleancopy path
requireMentionbooleancopy path
skillsstring[]copy path
[ "example" ]
systemPromptstringcopy path
+topicsRecord<string, object>copy path
+<topic>objectcopy path
allowFromstring | number[]copy path
[ "example" ]
enabledbooleancopy path
requireMentionbooleancopy path
skillsstring[]copy path
[ "example" ]
systemPromptstringcopy path
historyLimitintegerMax conversation history messages to includecopy path
min: 0 | max: 9007199254740991
mediaMaxMbnumberMax media file size in megabytescopy path
min: >0
namestringcopy path
proxystringcopy path
reactionLevelenum (4)copy path
"off""ack""minimal""extensive"
reactionNotificationsenum (3)copy path
"off""own""all"
replyToModeenum (3)How to handle replies (thread, inline, quote)copy path
"off""first""all"
+retryobjectRetry settings for failed message deliverycopy path
attemptsintegercopy path
min: 1 | max: 9007199254740991
jitternumbercopy path
min: 0 | max: 1
maxDelayMsintegercopy path
min: 0 | max: 9007199254740991
minDelayMsintegercopy path
min: 0 | max: 9007199254740991
streamModeenum (3)Message streaming style (edit, draft, off)copy path
default: "partial"
"off""partial""block"
textChunkLimitintegerMax characters per message chunkcopy path
min: >0 | max: 9007199254740991
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
tokenFilestringPath to file containing the bot tokencopy path
webhookPathstringcopy path
webhookSecretstringcopy path
webhookUrlstringPublic URL for Telegram webhook deliverycopy path
+whatsappobjectWhatsApp integration via whatsapp-web.jscopy path
+accountsRecord<string, object>Multi-account setup; keyed by account namecopy path
+<account>objectcopy path
+ackReactionobjectcopy path
directbooleancopy path
default: true
emojistringcopy path
groupenum (3)copy path
default: "mentions"
"always""mentions""never"
allowFromstring[]copy path
[ "example" ]
authDirstringcopy path
blockStreamingbooleancopy path
+blockStreamingCoalesceobjectcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
capabilitiesstring[]copy path
[ "example" ]
configWritesbooleancopy path
debounceMsintegercopy path
default: 0 | min: 0 | max: 9007199254740991
dmHistoryLimitintegercopy path
min: 0 | max: 9007199254740991
dmPolicyenum (4)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
+dmsRecord<string, object>copy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
enabledbooleancopy path
groupAllowFromstring[]copy path
[ "example" ]
groupPolicyenum (3)copy path
default: "allowlist"
"open""disabled""allowlist"
+groupsRecord<string, object>copy path
+<group>objectcopy path
requireMentionbooleancopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
mediaMaxMbintegercopy path
min: >0 | max: 9007199254740991
messagePrefixstringcopy path
namestringcopy path
selfChatModebooleancopy path
sendReadReceiptsbooleancopy path
textChunkLimitintegercopy path
min: >0 | max: 9007199254740991
+ackReactionobjectEmoji sent to acknowledge receipt of a messagecopy path
directbooleancopy path
default: true
emojistringcopy path
groupenum (3)copy path
default: "mentions"
"always""mentions""never"
+actionsobjectBot actions allowed on this channel (reactions, messages, etc.)copy path
pollsbooleancopy path
reactionsbooleancopy path
sendMessagebooleancopy path
allowFromstring[]User IDs allowed to interact in DMscopy path
[ "example" ]
blockStreamingbooleanSend complete messages instead of streamingcopy path
+blockStreamingCoalesceobjectCoalesce streamed chunks before sendingcopy path
idleMsintegercopy path
min: 0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
minCharsintegercopy path
min: >0 | max: 9007199254740991
capabilitiesstring[]Supported message types (text, image, audio, video, etc.)copy path
[ "example" ]
configWritesbooleanAllow the agent to modify config via this channelcopy path
debounceMsintegercopy path
default: 0 | min: 0 | max: 9007199254740991
dmHistoryLimitintegerMax history messages for DM conversationscopy path
min: 0 | max: 9007199254740991
dmPolicyenum (4)DM access policy (allow, deny, allowlisted)copy path
default: "pairing"
"pairing""allowlist""open""disabled"
+dmsRecord<string, object>Per-DM overrides; keyed by user/chat IDcopy path
+<dm>objectcopy path
historyLimitintegercopy path
min: 0 | max: 9007199254740991
groupAllowFromstring[]User IDs allowed to interact in groupscopy path
[ "example" ]
groupPolicyenum (3)Group access policy (allow, deny, allowlisted)copy path
default: "allowlist"
"open""disabled""allowlist"
+groupsRecord<string, object>Per-group overrides; keyed by group/chat IDcopy path
+<group>objectcopy path
requireMentionbooleancopy path
historyLimitintegerMax conversation history messages to includecopy path
min: 0 | max: 9007199254740991
mediaMaxMbintegerMax media file size in megabytescopy path
default: 50 | min: >0 | max: 9007199254740991
messagePrefixstringcopy path
selfChatModebooleanUse WhatsApp's 'Message Yourself' as an interfacecopy path
sendReadReceiptsbooleanMark messages as read on WhatsAppcopy path
textChunkLimitintegerMax characters per message chunkcopy path
min: >0 | max: 9007199254740991
+commandsobjectChat command settingscopy path
default: {"native":"auto","nativeSkills":"auto"}
bashbooleanEnable shell command execution via chatcopy path
bashForegroundMsintegercopy path
min: 0 | max: 30000
configbooleancopy path
debugbooleancopy path
nativeboolean | stringEnable built-in slash commandscopy path
default: "auto"
nativeSkillsboolean | stringcopy path
default: "auto"
restartbooleancopy path
textbooleanEnable text-based commandscopy path
useAccessGroupsbooleancopy path
+cronobjectScheduled task executioncopy path
enabledbooleanEnable the cron schedulercopy path
maxConcurrentRunsintegercopy path
min: >0 | max: 9007199254740991
storestringCron state storage backendcopy path
+diagnosticsobjectObservability: OpenTelemetry, cache tracing, debug flagscopy path
enabledbooleancopy path
+otelobjectOpenTelemetry exporter configurationcopy path
enabledbooleancopy path
endpointstringOTLP collector endpoint URLcopy path
flushIntervalMsintegercopy path
min: 0 | max: 9007199254740991
headersRecord<string, string>Extra HTTP headers sent to the collector; keyed by header namecopy path
{ "<key>": "example" }
logsbooleancopy path
metricsbooleancopy path
protocolenum (2)OTLP transport protocol (grpc or http)copy path
"http/protobuf""grpc"
sampleRatenumberTrace sampling rate (0.0 to 1.0)copy path
min: 0 | max: 1
serviceNamestringcopy path
tracesbooleancopy path
+discoveryobjectPeer discovery for multi-instance setupscopy path
+wideAreaobjectWAN-based peer discoverycopy path
enabledbooleancopy path
+envobjectEnvironment variables and shell configurationcopy path
+shellEnvobjectInherit variables from the host shell environmentcopy path
enabledbooleanWhether to read the host shell's environmentcopy path
timeoutMsintegerTimeout for shell environment resolutioncopy path
min: 0 | max: 9007199254740991
varsRecord<string, string>Custom environment variables injected into all processes; keyed by variable namecopy path
{ "<key>": "example" }
+gatewayobjectHTTP/WebSocket gateway server for remote accesscopy path
+authobjectGateway authentication settingscopy path
allowTailscalebooleancopy path
modeenum (2)Auth mode (none, token, password, tailscale)copy path
"token""password"
passwordstringcopy path
tokenstringcopy path
bindenum (4)Network interface to bind tocopy path
"auto""lan""loopback""custom"
+controlUiobjectWeb control panel served by the gatewaycopy path
basePathstringcopy path
enabledbooleancopy path
+httpobjectHTTP API endpoint settingscopy path
+endpointsobjectcopy path
+chatCompletionsobjectcopy path
enabledbooleancopy path
+responsesobjectcopy path
enabledbooleancopy path
+filesobjectcopy path
allowedMimesstring[]copy path
[ "example" ]
allowUrlbooleancopy path
maxBytesintegercopy path
min: >0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
maxRedirectsintegercopy path
min: 0 | max: 9007199254740991
+pdfobjectcopy path
maxPagesintegercopy path
min: >0 | max: 9007199254740991
maxPixelsintegercopy path
min: >0 | max: 9007199254740991
minTextCharsintegercopy path
min: 0 | max: 9007199254740991
timeoutMsintegercopy path
min: >0 | max: 9007199254740991
+imagesobjectcopy path
allowedMimesstring[]copy path
[ "example" ]
allowUrlbooleancopy path
maxBytesintegercopy path
min: >0 | max: 9007199254740991
maxRedirectsintegercopy path
min: 0 | max: 9007199254740991
timeoutMsintegercopy path
min: >0 | max: 9007199254740991
maxBodyBytesintegercopy path
min: >0 | max: 9007199254740991
modeenum (2)Gateway mode (standalone, embedded)copy path
"local""remote"
+nodesobjectDistributed node managementcopy path
allowCommandsstring[]copy path
[ "example" ]
denyCommandsstring[]copy path
[ "example" ]
portintegerPort the gateway listens oncopy path
min: >0 | max: 9007199254740991
+reloadobjectConfig hot-reload behaviorcopy path
debounceMsintegercopy path
min: 0 | max: 9007199254740991
modeenum (4)copy path
"off""restart""hot""hybrid"
+remoteobjectConnect to a remote gateway instancecopy path
passwordstringcopy path
sshIdentitystringcopy path
sshTargetstringcopy path
tlsFingerprintstringcopy path
tokenstringcopy path
urlstringRemote gateway URL to connect tocopy path
+tailscaleobjectTailscale integration for secure networkingcopy path
modeenum (3)copy path
"off""serve""funnel"
resetOnExitbooleancopy path
+tlsobjectTLS/HTTPS certificate configurationcopy path
autoGeneratebooleancopy path
caPathstringcopy path
certPathstringcopy path
enabledbooleancopy path
keyPathstringcopy path
+hooksobjectWebhook receiver and event hookscopy path
enabledbooleanEnable the webhook endpointcopy path
+gmailobjectGmail push notification integrationcopy path
accountstringGmail account to monitorcopy path
hookUrlstringcopy path
includeBodybooleancopy path
labelstringcopy path
maxBytesintegercopy path
min: >0 | max: 9007199254740991
modelstringcopy path
pushTokenstringcopy path
renewEveryMinutesintegercopy path
min: >0 | max: 9007199254740991
+serveobjectcopy path
bindstringcopy path
pathstringcopy path
portintegercopy path
min: >0 | max: 9007199254740991
subscriptionstringcopy path
+tailscaleobjectcopy path
modeenum (3)copy path
"off""serve""funnel"
pathstringcopy path
targetstringcopy path
thinkingenum (5)copy path
"off""minimal""low""medium""high"
topicstringcopy path
+internalobjectInternal event hook handlerscopy path
enabledbooleancopy path
+entriesRecord<string, object>Named hook entries; keyed by hook namecopy path
+<entry>objectcopy path
enabledbooleancopy path
envRecord<string, string>copy path
{ "<key>": "example" }
+handlersobject[]Event handler definitionscopy path
eventstringrequiredcopy path
exportstringcopy path
modulestringrequiredcopy path
+installsRecord<string, object>Installed hook packages; keyed by package namecopy path
+<install>objectcopy path
hooksstring[]copy path
[ "example" ]
installedAtstringcopy path
installPathstringcopy path
sourceenum (3)requiredcopy path
"npm""archive""path"
sourcePathstringcopy path
specstringcopy path
versionstringcopy path
+loadobjectcopy path
extraDirsstring[]copy path
[ "example" ]
+mappingsobject[]Route incoming webhooks to agents/actionscopy path
actionenum (2)What to do with matched webhooks (send, forward, etc.)copy path
"wake""agent"
channelenum (8)copy path
"last""whatsapp""telegram""discord""slack""signal""imessage""msteams"
deliverbooleancopy path
idstringcopy path
+matchobjectURL path and source matching criteriacopy path
pathstringcopy path
sourcestringcopy path
messageTemplatestringTemplate for constructing the agent messagecopy path
modelstringcopy path
namestringcopy path
sessionKeystringcopy path
textTemplatestringcopy path
thinkingstringcopy path
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
tostringcopy path
+transformobjectCustom JS/TS transform module for webhook payloadscopy path
exportstringcopy path
modulestringrequiredcopy path
wakeModeenum (2)copy path
"now""next-heartbeat"
maxBodyBytesintegercopy path
min: >0 | max: 9007199254740991
pathstringURL path for the webhook receivercopy path
presetsstring[]copy path
[ "example" ]
tokenstringSecret token for webhook authenticationcopy path
transformsDirstringcopy path
+loggingobjectLog level, output file, and redaction settingscopy path
consoleLevelenum (7)Console output verbositycopy path
"silent""fatal""error""warn""info""debug""trace"
consoleStyleenum (3)copy path
"pretty""compact""json"
filestringcopy path
levelenum (7)File log verbosity (debug, info, warn, error)copy path
"silent""fatal""error""warn""info""debug""trace"
redactPatternsstring[]Additional regex patterns to redact from logscopy path
[ "example" ]
redactSensitiveenum (2)Redact secrets and tokens from log outputcopy path
"off""tools"
+messagesobjectMessage processing pipeline configurationcopy path
ackReactionstringEmoji reaction to confirm message receiptcopy path
ackReactionScopeenum (4)copy path
"group-mentions""group-all""direct""all"
+groupChatobjectGroup chat mention detection and historycopy path
historyLimitintegercopy path
min: >0 | max: 9007199254740991
mentionPatternsstring[]copy path
[ "example" ]
+inboundobjectInbound message processing settingscopy path
+byChannelobjectcopy path
discordintegercopy path
min: 0 | max: 9007199254740991
imessageintegercopy path
min: 0 | max: 9007199254740991
msteamsintegercopy path
min: 0 | max: 9007199254740991
signalintegercopy path
min: 0 | max: 9007199254740991
slackintegercopy path
min: 0 | max: 9007199254740991
telegramintegercopy path
min: 0 | max: 9007199254740991
webchatintegercopy path
min: 0 | max: 9007199254740991
whatsappintegercopy path
min: 0 | max: 9007199254740991
debounceMsintegercopy path
min: 0 | max: 9007199254740991
messagePrefixstringText prepended to all incoming messagescopy path
+queueobjectMessage queuing and debounce settingscopy path
+byChannelobjectPer-channel queue mode overridescopy path
discordenum (7)copy path
"steer""followup""collect""steer-backlog""steer+backlog""queue""interrupt"
imessageenum (7)copy path
"steer""followup""collect""steer-backlog""steer+backlog""queue""interrupt"
msteamsenum (7)copy path
"steer""followup""collect""steer-backlog""steer+backlog""queue""interrupt"
signalenum (7)copy path
"steer""followup""collect""steer-backlog""steer+backlog""queue""interrupt"
slackenum (7)copy path
"steer""followup""collect""steer-backlog""steer+backlog""queue""interrupt"
telegramenum (7)copy path
"steer""followup""collect""steer-backlog""steer+backlog""queue""interrupt"
webchatenum (7)copy path
"steer""followup""collect""steer-backlog""steer+backlog""queue""interrupt"
whatsappenum (7)copy path
"steer""followup""collect""steer-backlog""steer+backlog""queue""interrupt"
capintegercopy path
min: >0 | max: 9007199254740991
debounceMsintegerWait time before processing queued messagescopy path
min: 0 | max: 9007199254740991
dropenum (3)copy path
"old""new""summarize"
modeenum (7)Queue processing mode (fifo, debounce, coalesce)copy path
"steer""followup""collect""steer-backlog""steer+backlog""queue""interrupt"
removeAckAfterReplybooleanRemove the ack reaction after sending a replycopy path
responsePrefixstringText prepended to all outgoing responsescopy path
+metaobjectInternal metadata tracking config file historycopy path
lastTouchedAtstringISO 8601 timestamp of last config modificationcopy path
lastTouchedVersionstringOpenClaw version that last modified this configcopy path
+modelsobjectLLM provider and model configurationcopy path
modeenum (2)Model routing mode (single, fallback, round-robin)copy path
"merge""replace"
+providersRecord<string, object>LLM provider connections; keyed by provider name (e.g. 'openai', 'anthropic', 'ollama')copy path
+<provider>objectcopy path
apienum (6)copy path
"openai-completions""openai-responses""anthropic-messages""google-generative-ai""github-copilot""bedrock-converse-stream"
apiKeystringAPI key (prefer env vars or auth profiles instead)copy path
authenum (4)Auth profile to use for this providercopy path
"api-key""aws-sdk""oauth""token"
authHeaderbooleancopy path
baseUrlstringrequiredAPI base URL for this providercopy path
minLength: 1
headersRecord<string, string>copy path
{ "<key>": "example" }
+modelsobject[]requiredAvailable models from this providercopy path
apienum (6)copy path
"openai-completions""openai-responses""anthropic-messages""google-generative-ai""github-copilot""bedrock-converse-stream"
+compatobjectcopy path
maxTokensFieldenum (2)copy path
"max_completion_tokens""max_tokens"
supportsDeveloperRolebooleancopy path
supportsReasoningEffortbooleancopy path
supportsStorebooleancopy path
contextWindownumberrequiredMaximum context window size in tokenscopy path
min: >0
+costobjectrequiredcopy path
cacheReadnumberrequiredcopy path
cacheWritenumberrequiredcopy path
inputnumberrequiredcopy path
outputnumberrequiredcopy path
headersRecord<string, string>copy path
{ "<key>": "example" }
idstringrequiredModel identifier sent to the APIcopy path
minLength: 1
inputenum (2)[]requiredcopy path
[ "text" ]
maxTokensnumberrequiredMaximum output tokens per responsecopy path
min: >0
namestringrequiredDisplay name for this modelcopy path
minLength: 1
reasoningbooleanrequiredWhether this model supports chain-of-thought reasoningcopy path
+pluginsobjectPlugin management and configurationcopy path
allowstring[]Allowed plugin namescopy path
[ "example" ]
denystring[]Denied plugin namescopy path
[ "example" ]
enabledbooleanWhether the plugin system is activecopy path
+entriesRecord<string, object>Per-plugin configuration; keyed by plugin namecopy path
+<entry>objectcopy path
configRecord<string, any>copy path
{ "<key>": null }
enabledbooleancopy path
+installsRecord<string, object>Installed plugin packages; keyed by package namecopy path
+<install>objectcopy path
installedAtstringcopy path
installPathstringcopy path
sourceenum (3)requiredcopy path
"npm""archive""path"
sourcePathstringcopy path
specstringcopy path
versionstringcopy path
+loadobjectPlugin loading pathscopy path
pathsstring[]copy path
[ "example" ]
+slotsobjectNamed plugin slots for extensibilitycopy path
memorystringcopy path
+sessionobjectConversation session managementcopy path
+agentToAgentobjectAgent-to-agent conversation limitscopy path
maxPingPongTurnsintegercopy path
min: 0 | max: 5
dmScopeenum (3)Session scope for direct messagescopy path
"main""per-peer""per-channel-peer"
heartbeatIdleMinutesintegercopy path
min: >0 | max: 9007199254740991
identityLinksRecord<string, string[]>Link identities across channels; keyed by canonical IDcopy path
{ "<key>": [ "example" ] }
idleMinutesintegerAuto-reset session after this many idle minutescopy path
min: >0 | max: 9007199254740991
mainKeystringcopy path
+resetobjectSession reset schedule and behaviorcopy path
atHourintegercopy path
min: 0 | max: 23
idleMinutesintegercopy path
min: >0 | max: 9007199254740991
modeenum (2)copy path
"daily""idle"
+resetByTypeobjectReset rules per conversation type (direct, dm, group, thread)copy path
+dmobjectcopy path
atHourintegercopy path
min: 0 | max: 23
idleMinutesintegercopy path
min: >0 | max: 9007199254740991
modeenum (2)copy path
"daily""idle"
+groupobjectcopy path
atHourintegercopy path
min: 0 | max: 23
idleMinutesintegercopy path
min: >0 | max: 9007199254740991
modeenum (2)copy path
"daily""idle"
+threadobjectcopy path
atHourintegercopy path
min: 0 | max: 23
idleMinutesintegercopy path
min: >0 | max: 9007199254740991
modeenum (2)copy path
"daily""idle"
resetTriggersstring[]Patterns that trigger session resetcopy path
[ "example" ]
scopeenum (2)Session isolation level (per-user, per-chat, global)copy path
"per-sender""global"
+sendPolicyobjectRules controlling who can send messagescopy path
defaultenum (2)copy path
"allow""deny"
+rulesobject[]copy path
actionenum (2)requiredcopy path
"allow""deny"
+matchobjectcopy path
channelstringcopy path
chatTypeenum (3)copy path
"direct""group""channel"
keyPrefixstringcopy path
storestringSession storage backend (memory, file, redis)copy path
typingIntervalSecondsintegercopy path
min: >0 | max: 9007199254740991
typingModeenum (4)copy path
"never""instant""thinking""message"
+skillsobjectSkill (plugin-like extension) managementcopy path
allowBundledstring[]Built-in skills to enablecopy path
[ "example" ]
+entriesRecord<string, object>Per-skill configuration; keyed by skill namecopy path
+<entry>objectcopy path
apiKeystringcopy path
configRecord<string, any>Skill-specific configuration; keyed by config keycopy path
{ "<key>": null }
enabledbooleanWhether this skill is activecopy path
envRecord<string, string>Environment variables for this skill; keyed by variable namecopy path
{ "<key>": "example" }
+installobjectSkill installation preferencescopy path
nodeManagerenum (4)copy path
"npm""pnpm""yarn""bun"
preferBrewbooleancopy path
+loadobjectSkill loading configurationcopy path
extraDirsstring[]Additional directories to scan for skillscopy path
[ "example" ]
watchbooleancopy path
watchDebounceMsintegercopy path
min: 0 | max: 9007199254740991
+talkobjectVoice conversation (speech I/O) settingscopy path
apiKeystringcopy path
interruptOnSpeechbooleancopy path
modelIdstringTTS model to usecopy path
outputFormatstringcopy path
voiceAliasesRecord<string, string>Named voice aliases; keyed by alias namecopy path
{ "<key>": "example" }
voiceIdstringDefault voice ID for text-to-speechcopy path
+toolsobjectGlobal tool configuration and permissionscopy path
+agentToAgentobjectDirect agent-to-agent communicationcopy path
allowstring[]copy path
[ "example" ]
enabledbooleancopy path
allowstring[]Globally allowed tool namescopy path
[ "example" ]
+byProviderRecord<string, object>Per-provider tool overrides; keyed by provider namecopy path
+<byProvider>objectcopy path
allowstring[]copy path
[ "example" ]
denystring[]copy path
[ "example" ]
profileenum (4)copy path
"minimal""coding""messaging""full"
denystring[]Globally denied tool namescopy path
[ "example" ]
+elevatedobjectElevated privilege tool accesscopy path
allowFromRecord<string, string | number[]>copy path
{ "<key>": [ "example" ] }
enabledbooleancopy path
+execobjectShell command execution settingscopy path
+applyPatchobjectFile patching tool configurationcopy path
allowModelsstring[]copy path
[ "example" ]
enabledbooleancopy path
askenum (3)copy path
"off""on-miss""always"
backgroundMsintegercopy path
min: >0 | max: 9007199254740991
cleanupMsintegercopy path
min: >0 | max: 9007199254740991
hostenum (3)Execution host (local, remote, sandbox)copy path
"sandbox""gateway""node"
nodestringcopy path
notifyOnExitbooleancopy path
pathPrependstring[]copy path
[ "example" ]
securityenum (3)copy path
"deny""allowlist""full"
timeoutSecintegerDefault timeout for shell commandscopy path
min: >0 | max: 9007199254740991
+mediaobjectMedia processing tools (image, audio, video)copy path
+audioobjectAudio transcription settingscopy path
+attachmentsobjectcopy path
maxAttachmentsintegercopy path
min: >0 | max: 9007199254740991
modeenum (2)copy path
"first""all"
preferenum (4)copy path
"first""last""path""url"
baseUrlstringcopy path
+deepgramobjectcopy path
detectLanguagebooleancopy path
punctuatebooleancopy path
smartFormatbooleancopy path
enabledbooleancopy path
headersRecord<string, string>copy path
{ "<key>": "example" }
languagestringcopy path
maxBytesintegercopy path
min: >0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
+modelsobject[]copy path
argsstring[]copy path
[ "example" ]
baseUrlstringcopy path
capabilitiesenum (3)[]copy path
[ "image" ]
commandstringcopy path
+deepgramobjectcopy path
detectLanguagebooleancopy path
punctuatebooleancopy path
smartFormatbooleancopy path
headersRecord<string, string>copy path
{ "<key>": "example" }
languagestringcopy path
maxBytesintegercopy path
min: >0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
modelstringcopy path
preferredProfilestringcopy path
profilestringcopy path
promptstringcopy path
providerstringcopy path
providerOptionsRecord<string, Record&lt;string, string | number | boolean&gt;>copy path
{ "<key>": { "<key>": "example" } }
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
typeenum (2)copy path
"provider""cli"
promptstringcopy path
providerOptionsRecord<string, Record&lt;string, string | number | boolean&gt;>copy path
{ "<key>": { "<key>": "example" } }
+scopeobjectcopy path
defaultenum (2)copy path
"allow""deny"
+rulesobject[]copy path
actionenum (2)requiredcopy path
"allow""deny"
+matchobjectcopy path
channelstringcopy path
chatTypeenum (3)copy path
"direct""group""channel"
keyPrefixstringcopy path
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
concurrencyintegercopy path
min: >0 | max: 9007199254740991
+imageobjectImage analysis/OCR settingscopy path
+attachmentsobjectcopy path
maxAttachmentsintegercopy path
min: >0 | max: 9007199254740991
modeenum (2)copy path
"first""all"
preferenum (4)copy path
"first""last""path""url"
baseUrlstringcopy path
+deepgramobjectcopy path
detectLanguagebooleancopy path
punctuatebooleancopy path
smartFormatbooleancopy path
enabledbooleancopy path
headersRecord<string, string>copy path
{ "<key>": "example" }
languagestringcopy path
maxBytesintegercopy path
min: >0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
+modelsobject[]copy path
argsstring[]copy path
[ "example" ]
baseUrlstringcopy path
capabilitiesenum (3)[]copy path
[ "image" ]
commandstringcopy path
+deepgramobjectcopy path
detectLanguagebooleancopy path
punctuatebooleancopy path
smartFormatbooleancopy path
headersRecord<string, string>copy path
{ "<key>": "example" }
languagestringcopy path
maxBytesintegercopy path
min: >0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
modelstringcopy path
preferredProfilestringcopy path
profilestringcopy path
promptstringcopy path
providerstringcopy path
providerOptionsRecord<string, Record&lt;string, string | number | boolean&gt;>copy path
{ "<key>": { "<key>": "example" } }
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
typeenum (2)copy path
"provider""cli"
promptstringcopy path
providerOptionsRecord<string, Record&lt;string, string | number | boolean&gt;>copy path
{ "<key>": { "<key>": "example" } }
+scopeobjectcopy path
defaultenum (2)copy path
"allow""deny"
+rulesobject[]copy path
actionenum (2)requiredcopy path
"allow""deny"
+matchobjectcopy path
channelstringcopy path
chatTypeenum (3)copy path
"direct""group""channel"
keyPrefixstringcopy path
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
+modelsobject[]Media processing model providerscopy path
argsstring[]copy path
[ "example" ]
baseUrlstringcopy path
capabilitiesenum (3)[]copy path
[ "image" ]
commandstringcopy path
+deepgramobjectcopy path
detectLanguagebooleancopy path
punctuatebooleancopy path
smartFormatbooleancopy path
headersRecord<string, string>copy path
{ "<key>": "example" }
languagestringcopy path
maxBytesintegercopy path
min: >0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
modelstringcopy path
preferredProfilestringcopy path
profilestringcopy path
promptstringcopy path
providerstringcopy path
providerOptionsRecord<string, Record&lt;string, string | number | boolean&gt;>copy path
{ "<key>": { "<key>": "example" } }
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
typeenum (2)copy path
"provider""cli"
+videoobjectVideo analysis settingscopy path
+attachmentsobjectcopy path
maxAttachmentsintegercopy path
min: >0 | max: 9007199254740991
modeenum (2)copy path
"first""all"
preferenum (4)copy path
"first""last""path""url"
baseUrlstringcopy path
+deepgramobjectcopy path
detectLanguagebooleancopy path
punctuatebooleancopy path
smartFormatbooleancopy path
enabledbooleancopy path
headersRecord<string, string>copy path
{ "<key>": "example" }
languagestringcopy path
maxBytesintegercopy path
min: >0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
+modelsobject[]copy path
argsstring[]copy path
[ "example" ]
baseUrlstringcopy path
capabilitiesenum (3)[]copy path
[ "image" ]
commandstringcopy path
+deepgramobjectcopy path
detectLanguagebooleancopy path
punctuatebooleancopy path
smartFormatbooleancopy path
headersRecord<string, string>copy path
{ "<key>": "example" }
languagestringcopy path
maxBytesintegercopy path
min: >0 | max: 9007199254740991
maxCharsintegercopy path
min: >0 | max: 9007199254740991
modelstringcopy path
preferredProfilestringcopy path
profilestringcopy path
promptstringcopy path
providerstringcopy path
providerOptionsRecord<string, Record&lt;string, string | number | boolean&gt;>copy path
{ "<key>": { "<key>": "example" } }
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
typeenum (2)copy path
"provider""cli"
promptstringcopy path
providerOptionsRecord<string, Record&lt;string, string | number | boolean&gt;>copy path
{ "<key>": { "<key>": "example" } }
+scopeobjectcopy path
defaultenum (2)copy path
"allow""deny"
+rulesobject[]copy path
actionenum (2)requiredcopy path
"allow""deny"
+matchobjectcopy path
channelstringcopy path
chatTypeenum (3)copy path
"direct""group""channel"
keyPrefixstringcopy path
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
+messageobjectCross-context message sending between agentscopy path
allowCrossContextSendbooleancopy path
+broadcastobjectcopy path
enabledbooleancopy path
+crossContextobjectcopy path
allowAcrossProvidersbooleancopy path
allowWithinProviderbooleancopy path
+markerobjectcopy path
enabledbooleancopy path
prefixstringcopy path
suffixstringcopy path
profileenum (4)Base permission profile (permissive, restrictive, custom)copy path
"minimal""coding""messaging""full"
+sandboxobjectTool permissions inside sandboxed environmentscopy path
+toolsobjectcopy path
allowstring[]copy path
[ "example" ]
denystring[]copy path
[ "example" ]
+subagentsobjectTool permissions inherited by sub-agentscopy path
+toolsobjectcopy path
allowstring[]copy path
[ "example" ]
denystring[]copy path
[ "example" ]
+webobjectWeb search and fetch tool settingscopy path
+fetchobjectWeb page fetching limits and cachingcopy path
cacheTtlMinutesnumbercopy path
min: 0
enabledbooleancopy path
maxCharsintegercopy path
min: >0 | max: 9007199254740991
maxRedirectsintegercopy path
min: 0 | max: 9007199254740991
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
userAgentstringcopy path
+searchobjectWeb search provider configurationcopy path
apiKeystringcopy path
cacheTtlMinutesnumbercopy path
min: 0
enabledbooleancopy path
maxResultsintegercopy path
min: >0 | max: 9007199254740991
+perplexityobjectcopy path
apiKeystringcopy path
baseUrlstringcopy path
modelstringcopy path
providerenum (2)Search provider (google, perplexity, grok, etc.)copy path
"brave""perplexity"
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
+uiobjectUser interface appearance settingscopy path
seamColorstringAccent color for the UI chromecopy path
pattern: ^#?[0-9a-fA-F]{6}$
+updateobjectAuto-update preferencescopy path
channelenum (3)Release channel: stable, beta, or nightlycopy path
"stable""beta""dev"
checkOnStartbooleanCheck for updates when OpenClaw startscopy path
+webobjectWeb UI (control panel) connection settingscopy path
enabledbooleancopy path
heartbeatSecondsintegercopy path
min: >0 | max: 9007199254740991
+reconnectobjectWebSocket reconnection strategycopy path
factornumbercopy path
min: >0
initialMsnumbercopy path
min: >0
jitternumbercopy path
min: 0 | max: 1
maxAttemptsintegercopy path
min: 0 | max: 9007199254740991
maxMsnumbercopy path
min: >0
+wizardobjectState from the setup wizard; tracks last run detailscopy path
lastRunAtstringcopy path
lastRunCommandstringcopy path
lastRunCommitstringcopy path
lastRunModeenum (2)copy path
"local""remote"
lastRunVersionstringcopy path
Your config is validated locally in your browser and is never sent to the server.