Deployment environment
- Deployment type: Self-hosted
- Multica CLI / daemon:
v0.4.7 (commit b1d5fa4ff)
- OpenClaw:
2026.7.1-2 (0790d9f)
- OS: fnOS (Linux x64)
- OpenClaw runtime mode: local
What happened?
After explicitly setting the following value on an OpenClaw-backed Multica agent:
model = minimax-cn/MiniMax-M3
mentioning that agent in an issue comment consistently fails. The UI only reports:
openclaw returned no parseable output
Clearing the Multica agent's model field makes OpenClaw work again.
Evidence from the daemon log
The Multica daemon actually executed:
openclaw agent --local --json \
--session-id <redacted> \
--agent minimax-cn/MiniMax-M3 \
--message <redacted>
OpenClaw wrote the following error to stderr:
Error: Unknown agent id "minimax-cn/MiniMax-M3". Use "openclaw agents list" to see configured agents.
Three attempts produced the same result:
| Attempt |
stdout |
stderr |
Result |
| 1 |
0 bytes |
Unknown agent id "minimax-cn/MiniMax-M3" |
failed after approximately 3.3s |
| 2 |
0 bytes |
same as above |
failed after approximately 3.4s |
| Retry |
0 bytes |
same as above |
failed after approximately 3.4s |
A successful chat task on the same runtime did not include --agent:
openclaw agent --local --json \
--session-id <redacted> \
--message <redacted>
That task completed successfully and returned 614 bytes of output.
Root cause
For most providers, Multica uses the model field as an LLM model ID. The OpenClaw adapter, however, interprets the same field as an OpenClaw agent ID:
Multica model -> openclaw agent --agent <value>
minimax-cn/MiniMax-M3 is a provider/model identifier, not an agent ID registered in openclaw agents list. OpenClaw therefore exits immediately.
This exposes three separate problems:
- Inconsistent field contract: the same
model field represents an LLM model for most providers but an agent ID for OpenClaw.
- Missing validation: the UI/API accepts arbitrary model strings without checking whether they correspond to a registered OpenClaw agent ID.
- Hidden underlying error: OpenClaw clearly reports
Unknown agent id on stderr, but Multica only surfaces openclaw returned no parseable output.
Steps to reproduce
- Create a Multica agent backed by an OpenClaw runtime.
- Set the agent's
model field to a valid LLM model ID, for example minimax-cn/MiniMax-M3.
- Mention the agent in any issue comment.
- Observe that the task fails and the UI reports
openclaw returned no parseable output.
- Inspect the daemon log and observe the actual
Unknown agent id stderr message.
- Clear the
model field and retry; the task succeeds.
Expected behavior
The product should establish one explicit contract for this field.
Option A: treat the field as an OpenClaw agent ID
- Rename the field to
OpenClaw Agent or OpenClaw Agent ID when the selected provider is OpenClaw.
- Only allow values discovered through
openclaw agents list.
- Validate the agent ID when saving through either the UI or API.
- Keep the underlying LLM model bound to the OpenClaw agent itself.
Option B: preserve consistent model semantics across providers
- Make
model always represent an LLM model ID.
- Do not pass it directly to OpenClaw as
--agent.
- Add a separate field for selecting an OpenClaw agent ID.
Regardless of the selected contract, Multica should surface OpenClaw's actual stderr startup error in the task failure instead of replacing it with a generic parsing error.
Related issues and pull requests
Deployment environment
v0.4.7(commitb1d5fa4ff)2026.7.1-2 (0790d9f)What happened?
After explicitly setting the following value on an OpenClaw-backed Multica agent:
mentioning that agent in an issue comment consistently fails. The UI only reports:
Clearing the Multica agent's
modelfield makes OpenClaw work again.Evidence from the daemon log
The Multica daemon actually executed:
OpenClaw wrote the following error to stderr:
Three attempts produced the same result:
Unknown agent id "minimax-cn/MiniMax-M3"A successful chat task on the same runtime did not include
--agent:That task completed successfully and returned 614 bytes of output.
Root cause
For most providers, Multica uses the
modelfield as an LLM model ID. The OpenClaw adapter, however, interprets the same field as an OpenClaw agent ID:minimax-cn/MiniMax-M3is aprovider/modelidentifier, not an agent ID registered inopenclaw agents list. OpenClaw therefore exits immediately.This exposes three separate problems:
modelfield represents an LLM model for most providers but an agent ID for OpenClaw.Unknown agent idon stderr, but Multica only surfacesopenclaw returned no parseable output.Steps to reproduce
modelfield to a valid LLM model ID, for exampleminimax-cn/MiniMax-M3.openclaw returned no parseable output.Unknown agent idstderr message.modelfield and retry; the task succeeds.Expected behavior
The product should establish one explicit contract for this field.
Option A: treat the field as an OpenClaw agent ID
OpenClaw AgentorOpenClaw Agent IDwhen the selected provider is OpenClaw.openclaw agents list.Option B: preserve consistent
modelsemantics across providersmodelalways represent an LLM model ID.--agent.Regardless of the selected contract, Multica should surface OpenClaw's actual stderr startup error in the task failure instead of replacing it with a generic parsing error.
Related issues and pull requests
model -> --agentbehavior in item 4, but that issue primarily concerns gateway and cold-start performance. This issue focuses specifically on field semantics, validation, and error reporting.--modeldirectly to OpenClaw. Mapping Multica'smodelfield to--agentintroduced the current semantic mismatch.no parseable output. Even after stderr reporting is improved, themodelfield contract and validation problem will remain.