Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.narrative.io/llms.txt

Use this file to discover all available pages before exploring further.

HTTP status: 400

Error message

invalid caller-declared tool names (must be non-empty, dash-free, and ≤ 64 chars): {names}

When this error occurs

Caller-declared tools (under top-level tools[]) have no alias — the platform tells them apart from MCP tools by the absence of a dash in the wire name. If a caller-declared tools[].name contains a dash, it would collide with the MCP {alias}-{tool} shape and the workflow can’t safely route the call. Validation rules for tools[].name:
  • Non-empty.
  • No dashes (-).
  • ≤ 64 characters total (Bedrock’s wire-name cap; MCP tools split this budget between alias + name, but caller-declared names use the full 64).

How to fix

Rename the offending tool to a dash-free identifier:
{
  "tools": [
    { "name": "confirm_booking", "description": "...", "input_schema": {...} },
    { "name": "lookup_account", "description": "...", "input_schema": {...} }
  ]
}
Use underscores or camelCase instead of dashes for multi-word names.