Bug Description
The /model Discord slash command fails when the ACP agent backend (OpenCode) reports more than 25 available models. Discord's StringSelectMenu component has a hard limit of 25 options.
Error
From bot.log:
ERROR openab::discord: failed to respond to slash command
error=Invalid Form Body (data.components.0.components.0.options: Must be between 1 and 25 in length.)
category="model"
Discord shows: "The application did not respond"
Environment
- OpenAB: built from source (latest main)
- Agent: OpenCode (
opencode acp)
- Provider: OpenCode Go (reports 25+ models including GLM, Kimi, DeepSeek, Qwen, MiniMax, MiMo variants)
- Platform: Discord
Steps to Reproduce
- Configure OpenAB with OpenCode as the agent backend
- Authenticate OpenCode with OpenCode Go provider (which has 25+ models)
- Type
/model in a Discord channel
- Discord shows "The application did not respond"
Expected Behavior
The /model command should handle providers with >25 models gracefully.
Suggested Fix
- Truncate to 25 most relevant models (prioritize current provider)
- Paginate with multiple Select Menus or "Next page" button
- Text input — accept
/model <name> as direct switch without Select Menu
- Filter by provider — show providers first, then models within that provider
Bug Description
The
/modelDiscord slash command fails when the ACP agent backend (OpenCode) reports more than 25 available models. Discord'sStringSelectMenucomponent has a hard limit of 25 options.Error
From
bot.log:Discord shows: "The application did not respond"
Environment
opencode acp)Steps to Reproduce
/modelin a Discord channelExpected Behavior
The
/modelcommand should handle providers with >25 models gracefully.Suggested Fix
/model <name>as direct switch without Select Menu