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"
+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
+chunkingobjectcopy path
overlapintegercopy path
min: 0 | max: 9007199254740991
tokensintegercopy path
min: >0 | max: 9007199254740991
enabledbooleancopy path
fallbackenum (2)copy path
"openai""none"
+localobjectcopy path
modelCacheDirstringcopy path
modelPathstringcopy path
modelstringcopy path
providerenum (2)copy path
"openai""local"
+queryobjectcopy path
maxResultsintegercopy path
min: >0 | max: 9007199254740991
minScorenumbercopy path
min: 0 | max: 1
+remoteobjectcopy path
apiKeystringcopy path
baseUrlstringcopy path
headersRecord<string, string>copy path
{ "<key>": "example" }
+storeobjectcopy path
driverstringcopy path
"sqlite"
pathstringcopy 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"
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 (2)copy path
"off""on"
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" ]
+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
+chunkingobjectcopy path
overlapintegercopy path
min: 0 | max: 9007199254740991
tokensintegercopy path
min: >0 | max: 9007199254740991
enabledbooleancopy path
fallbackenum (2)copy path
"openai""none"
+localobjectcopy path
modelCacheDirstringcopy path
modelPathstringcopy path
modelstringcopy path
providerenum (2)copy path
"openai""local"
+queryobjectcopy path
maxResultsintegercopy path
min: >0 | max: 9007199254740991
minScorenumbercopy path
min: 0 | max: 1
+remoteobjectcopy path
apiKeystringcopy path
baseUrlstringcopy path
headersRecord<string, string>copy path
{ "<key>": "example" }
+storeobjectcopy path
driverstringcopy path
"sqlite"
pathstringcopy 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
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
+bridgeobjectcopy path
bindenum (4)copy path
"auto""lan""tailnet""loopback"
enabledbooleancopy path
portintegercopy path
min: >0 | max: 9007199254740991
+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"
+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
+discordobjectDiscord bot integrationcopy path
+accountsRecord<string, object>Multi-account setup; keyed by account namecopy path
+<account>objectcopy path
+actionsobjectcopy path
channelInfobooleancopy 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
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
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
eventsbooleancopy path
memberInfobooleancopy path
messagesbooleancopy path
moderationbooleancopy path
permissionsbooleancopy path
pinsbooleancopy path
pollsbooleancopy path
reactionsbooleancopy path
roleInfobooleancopy path
rolesbooleancopy path
searchbooleancopy path
stickersbooleancopy 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
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
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
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
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
namestringcopy path
reactionAllowliststring | number[]copy path
[ "example" ]
reactionNotificationsenum (4)copy path
"off""own""all""allowlist"
replyToModeenum (3)copy path
"off""first""all"
requireMentionbooleancopy 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
+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
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
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
+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
+telegramobjectTelegram Bot API integrationcopy path
+accountsRecord<string, object>Multi-account setup; keyed by account namecopy path
+<account>objectcopy path
+actionsobjectcopy path
reactionsbooleancopy 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[]copy path
[ "example" ]
+commandsobjectcopy path
nativeboolean | stringcopy 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
+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
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
reactionsbooleancopy 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[]Supported message types (text, image, audio, video, etc.)copy path
[ "example" ]
+commandsobjectSlash command configuration for this channelcopy path
nativeboolean | stringcopy 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
+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
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
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
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"}
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"
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
+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""tailnet""loopback"
+controlUiobjectWeb control panel served by the gatewaycopy path
basePathstringcopy path
enabledbooleancopy path
+httpobjectHTTP API endpoint settingscopy path
+endpointsobjectcopy path
+chatCompletionsobjectcopy path
enabledbooleancopy path
modeenum (2)Gateway mode (standalone, embedded)copy path
"local""remote"
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
tokenstringcopy path
urlstringRemote gateway URL to connect tocopy path
+tailscaleobjectTailscale integration for secure networkingcopy path
modeenum (3)copy path
"off""serve""funnel"
resetOnExitbooleancopy 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
+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" ]
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
+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 (5)copy path
"openai-completions""openai-responses""anthropic-messages""google-generative-ai""github-copilot"
apiKeystringAPI key (prefer env vars or auth profiles instead)copy path
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 (5)copy path
"openai-completions""openai-responses""anthropic-messages""google-generative-ai""github-copilot"
+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
+loadobjectPlugin loading pathscopy path
pathsstring[]copy path
[ "example" ]
+sessionobjectConversation session managementcopy path
+agentToAgentobjectAgent-to-agent conversation limitscopy path
maxPingPongTurnsintegercopy path
min: 0 | max: 5
heartbeatIdleMinutesintegercopy path
min: >0 | max: 9007199254740991
idleMinutesintegerAuto-reset session after this many idle minutescopy path
min: >0 | max: 9007199254740991
mainKeystringcopy path
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""room"
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
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" ]
+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" ]
+audioobjectcopy path
+transcriptionobjectcopy path
argsstring[]copy path
[ "example" ]
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
+bashobjectcopy path
backgroundMsintegercopy path
min: >0 | max: 9007199254740991
cleanupMsintegercopy path
min: >0 | max: 9007199254740991
timeoutSecintegercopy path
min: >0 | max: 9007199254740991
+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
backgroundMsintegercopy path
min: >0 | max: 9007199254740991
cleanupMsintegercopy path
min: >0 | max: 9007199254740991
timeoutSecintegerDefault timeout for shell commandscopy path
min: >0 | max: 9007199254740991
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
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
providerenum (1)Search provider (google, perplexity, grok, etc.)copy path
"brave"
timeoutSecondsintegercopy path
min: >0 | max: 9007199254740991
+uiobjectUser interface appearance settingscopy path
seamColorstringAccent color for the UI chromecopy path
pattern: ^#?[0-9a-fA-F]{6}$
+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.