When a native agent calls a tool whose MCP server returns a widget payload (a structured UI component such as an interactive table), the orchestrate chat ask CLI command terminates the entire chat session instead of gracefully degrading to a text representation of the result.
This makes the CLI unusable for iterative development and integration testing of any agent that uses toolkit tools returning widget responses — which includes the standard IBM Planning Analytics MCP tools.
2. Steps to Reproduce
Activate the workspace virtualenv and confirm ADK 2.14.0 is active: orchestrate --version
Activate a cloud environment: orchestrate env activate <env> -a <api-key>
Import a native agent that uses an MCP toolkit whose tools return widget payloads (e.g. the IBM Planning Analytics MCP at https://<tenant>.planning-analytics.cloud.ibm.com/api/v0/agentic-ai/ibm-pa-tools/mcp).
Start a CLI chat session: orchestrate chat ask --agent-name <agent-name>
Send any message that causes the agent to invoke a tool (e.g. "which TM1 servers are available?").
3. Observed Behaviour
The CLI prints a Widget Detected notice and exits the session immediately:
⠹ Waiting for response...
[INFO] - First message is_async flag: False
╭─ Widget Detected ──────────────────────────────────────────────────────╮
│ │
│ Sorry the chat ask command cannot render widgets. │
│ Please use orchestrate chat start to access the full ui experience │
│ │
╰────────────────────────────────────────────────────────────────────────╯
(.venv)
The user is returned to the shell prompt. The session cannot be continued — no further messages can be sent without restarting the command.
4. Expected Behaviour
One or more of the following should occur instead of session termination:
Graceful text fallback: When a widget payload is detected, the CLI should extract and render the underlying data as a plain-text markdown table or bulleted list, then keep the session alive so the conversation can continue.
Raw JSON fallback: At minimum, display the raw tool response as a fenced JSON block and keep the session open.
Warning + continuation: Print the Widget Detected notice as a warning but do not exit — allow the user to send the next message.
5. Impact
The CLI chat ask command is the primary developer testing tool for native agents. Any agent connected to a toolkit that returns widget payloads — including IBM's own Planning Analytics MCP tools — is completely untestable from the CLI, forcing developers to maintain separate agent variants or rely entirely on the cloud web UI.
Affected scenario Impact
CLI dev/test loop (import → chat → verify → iterate) Broken — session terminates on first tool call
CI/CD pipeline testing with orchestrate chat ask Blocked — automated tests cannot proceed past tool calls
Offline / Developer Edition testing orchestrate chat start requires WSL + Docker; not available on all developer machines
6. Related CLI Gaps Identified
Command Missing capability Observed error
orchestrate chat ask No --plain-text / --no-widgets flag to suppress widget rendering Session terminates on any widget response
orchestrate chat start No --agent-name option to pre-select an agent No such option: --agent-name
orchestrate chat start Requires WSL ibm-watsonx-orchestrate distribution and Docker; fails on Windows without Developer Edition installed Unable to find docker inside WSLLifecycleManager
7. Requested Improvements
Do not terminate the CLI session on widget detection. Display a warning, fall back to the text/JSON content of the tool response, and keep the interactive prompt open.
Add a --no-widgets flag to orchestrate chat ask. When set, the CLI should pass a hint to the agent runtime to request plain-text tool responses, or strip widget wrappers before display.
Add --agent-name to orchestrate chat start so developers can deep-link directly to an agent in the local UI, consistent with the chat ask interface.
Document the widget limitation prominently in the orchestrate chat ask help text and developer docs, so developers are aware before building agents with widget-returning toolkits.
8. Current Workaround
A separate CLI-safe agent variant was created (PA_test_0571EK_cli) with:
style: default instead of style: react_core — disables the React widget renderer at the agent level.
Explicit instructions in the system prompt directing the LLM to return all tool results as plain markdown (tables, bullet lists, fenced code blocks) instead of widget components.
This is a manual, per-agent workaround that requires duplicating every agent intended for CLI testing and does not address the underlying platform behaviour.
9. Environment Details
Item Value
ADK Version 2.14.0 (workspace virtualenv)
Package ibm-watsonx-orchestrate 2.14.0 + ibm-watsonx-orchestrate-clients 2.14.0 + ibm-watsonx-orchestrate-core 2.14.0
OS Windows 10 Build 22621 (x64)
Shell PowerShell
Environment type IBM Cloud (SaaS tenant)
Agent style react_core
Toolkit transport streamable_http (IBM Planning Analytics MCP)
MCP endpoint https://<tenant>.planning-analytics.cloud.ibm.com/api/v0/agentic-ai/ibm-pa-tools/mcp