-
-
Notifications
You must be signed in to change notification settings - Fork 52.6k
Closed
Description
Description
After updating to v2026.2.21-2, the modelByChannel feature (PR #22315) is present in the codebase but the config validator rejects it.
Evidence
1. The code exists in the npm package:
~/.nvm/.../openclaw/dist/config-B9RhcgPL.js:
modelByChannel: ChannelModelByChannelSchema,
2. The Zod schema is correctly defined:
const ChannelModelByChannelSchema = z.record(z.string(), z.record(z.string(), z.string())).optional();
const ChannelsSchema = z.object({
defaults: ...,
modelByChannel: ChannelModelByChannelSchema,
whatsapp: WhatsAppConfigSchema.optional(),
...
}).passthrough().optional();3. But the CLI validator rejects it:
$ openclaw config get channels.modelByChannel
Invalid config at ~/.openclaw/openclaw.json:
- channels.modelByChannel: unknown channel id: modelByChannel4. The config used:
{
"channels": {
"modelByChannel": {
"telegram": {
"-1003443214663:topic:1466": "google-antigravity/gemini-3.1-pro-low"
}
}
}
}Expected Behavior
The config should be accepted since:
- The feature is mentioned in CHANGELOG.md for 2026.2.21
- The code exists in the bundled JS
- The Zod schema is properly defined
Actual Behavior
Config validation fails with unknown channel id: modelByChannel, suggesting the validator is treating modelByChannel as a channel provider (like "telegram", "whatsapp") instead of a config key.
Environment
- OpenClaw version: 2026.2.21-2
- Node version: v22.22.0
- OS: Manjaro Linux
Workaround
None found yet. The feature is unusable despite being in the release.
Related
- PR Channels: add thread-aware model overrides #22315 (original implementation)
- CHANGELOG.md entry: "Channels: allow per-channel model overrides via
channels.modelByChannel"
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels