Summary
FinClaw-hosted agent runs on the sales demo terminate with
internal_stop_reason=malformed_tool_call (~17× in ~14 days). Users see a failed
turn when the model emits an unparseable / invalid tool call.
Hypothesis (unverified): repair / recovery path is insufficient — fix agent should
prove or disprove against current main.
Environment
- Host: ChatKit demo (
finclaw.finogeeks.club) running FinClaw claw runtime
- Evidence source: Admin tenant execution logs →
audit/agent-runs.jsonl (not fleet.log)
- Window: ~14 days ending 2026-07-15
Actual
stop_reason=error, internal_stop_reason=malformed_tool_call
- Count: 17 runs in window
- Samples (redacted tenant prefix):
run_id=239eba9e579cb4fb1c416d00f7f82a40 tenant a60018fc… ended 2026-07-01T04:44:44
run_id=a782690eb8d5263a2e130dd2d097d783 tenant a60018fc… ended 2026-07-06T09:54:26
run_id=33a4deddd858284a8716659ff53d00d5 tenant d3821216… ended 2026-07-14T07:29:31
Expected
Malformed tool calls are repaired when possible, or the run fails with a clear,
recoverable user-visible path. Regression coverage prevents silent reintro in finclaw
agent-loop / claw.
Out of scope
- ChatKit Admin / compose-only changes
- Ops config (API keys, MCP auth, Feishu)
Summary
FinClaw-hosted agent runs on the sales demo terminate with
internal_stop_reason=malformed_tool_call(~17× in ~14 days). Users see a failedturn when the model emits an unparseable / invalid tool call.
Hypothesis (unverified): repair / recovery path is insufficient — fix agent should
prove or disprove against current
main.Environment
finclaw.finogeeks.club) running FinClaw claw runtimeaudit/agent-runs.jsonl(not fleet.log)Actual
stop_reason=error,internal_stop_reason=malformed_tool_callrun_id=239eba9e579cb4fb1c416d00f7f82a40tenanta60018fc…ended2026-07-01T04:44:44run_id=a782690eb8d5263a2e130dd2d097d783tenanta60018fc…ended2026-07-06T09:54:26run_id=33a4deddd858284a8716659ff53d00d5tenantd3821216…ended2026-07-14T07:29:31Expected
Malformed tool calls are repaired when possible, or the run fails with a clear,
recoverable user-visible path. Regression coverage prevents silent reintro in finclaw
agent-loop / claw.
Out of scope