#Correct config format for heartbeat interval and per-channel model overrides?

1 messages · Page 1 of 1 (latest)

rain flameBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

lilac kayakBOT
#

You’re very close — both failures are schema-correct, just wrong keys.

1) Heartbeat interval (global)

Use agents.defaults.heartbeat.every (not a string directly, and not interval):

{
agents: {
defaults: {
heartbeat: {
every: "2h", // "0m" disables heartbeat
},
},
},
}
#

Your channels.defaults.heartbeat block is only for what heartbeat reports about channels (showOk, showAlerts, useIndicator), not scheduling.


2) Per-Discord-channel model override

Use channels.modelByChannel.discord.<channelId> = "<provider/model>":

{
agents: {
defaults: {
model: { primary: "anthropic/claude-sonnet-4-6" },
},
},
channels: {
#
modelByChannel: {
discord: {
"123456789012345678": "anthropic/claude-opus-4-6",
"234567890123456789": "anthropic/claude-opus-4-6",
},
},
},
}

agents.overrides is not a valid key in current config schema.

One gotcha: channel model mapping applies only when the session doesn’t already have a /model override. If you previously switched model in that thread, do /new (or reset model in-session) to test cleanly.

Docs: