Installing the watsonx Orchestrate Developer Edition
You might encounter errors when installing the watsonx Orchestrate Developer Edition. To address the most common errors, see the following topics for solutions:server start command fails with pull access denied
server start command fails with pull access denied
-
Try to log in manually with the following command:
-
If you manage to log in and the server still fails to start, locate the Docker config file. Usually, you find this file in
~/.docker/config.json. If it doesn’t exist, you can create it. -
Add the following content to the file:
Where
BASE64_ENCODED_APIKEYis the base64 encoded string ofiamapikey:DOCKER_IAM_KEY.
Permission denied when trying to download Docker images
Permission denied when trying to download Docker images
You get an error message such as the following one:This issue happens because the Docker daemon runs as a root-owned process that communicates through a Unix socket. You must have the necessary permissions to access this socket.To solve this problem, follow these steps:
-
Add Docker to the group of users that can use
sudo. -
Run the following command to log in to a new group:
-
Check if your user belongs to the
dockergroup: -
Try running Docker’s
hello-worldto check if you’re able to run Docker:
Document processing image not found during server startup
Document processing image not found during server startup
If you encounter an error when starting the server with document processing enabled (This issue occurs when required document processing Docker images are not available in the registry. This can happen with certain versions or registry configurations.To resolve this issue:
--with-doc-processing or -d), such as:-
Verify your ADK version: Ensure you’re using the latest version of the ADK CLI:
-
Update to the latest version if needed:
-
Reset and restart the server:
- Check your registry configuration: If you’re using a custom registry or on-premises setup, verify that all required images are available in your registry. Contact your administrator if images are missing.
-
Alternative workaround: If document processing is not critical for your current work, start the server without the
-dor--with-doc-processingflag:
Note: Document processing requires additional system resources. Ensure your system meets the minimum requirements of 24 GB RAM when using this feature.
No environment file
No environment file
If you’re using Windows, you may have created your
.env file on your local machine. To make it accessible within your Ubuntu environment in WSL, follow these steps:- Open File Explorer and enter the following path in the address bar, replacing
yourUsernamewith your actual Linux username:
PATH
-
Open another File Explorer window and navigate to the location where your
.envfile is saved. -
Copy the
.envfile into your Linux home directory shown in the first window.
The Compose file is invalid because of unsupported variable types
The Compose file is invalid because of unsupported variable types
If you get an error similar to this:That’s because you’re using an older version of Docker Compose (v1 instead of v2) that does not support some variable types.To solve this issue, you must install Docker Compose v2.On Ubuntu 24.04, for example, you can simply run the following commands:Check your distribution repositories for the appropriate packages of Docker Compose v2.
Homebrew not installed in Ubuntu
Homebrew not installed in Ubuntu
If Homebrew is not installed in your Ubuntu distribution on WSL, you’ll need to install it manually:If you get a “command not found” error, proceed to the next step.
- Open Ubuntu via the Start Menu
- Check if Homebrew is already installed:
BASH
- Install Homebrew:
BASH
- Verify the installation path:
BASH
Note: The default location is usually
/home/linuxbrew/.linuxbrew/bin/brewPython not installed or incorrect version
Python not installed or incorrect version
The ADK supports Python 3.11 to Python 3.14. Follow these steps to configure Python 3.12:If not installed, continue with the steps below.This should return the installed version of Python 3.12.
- Open Ubuntu via the Start Menu.
- Check if Python 3.12 is installed:
BASH
- Install Python 3.12 using Homebrew:
BASH
- Set Python 3.12 as the default:
BASH
- Confirm the installation path:
BASH
- Verify that Python 3.12 is now the default:
BASH
Managing connections for Python tools
There are many error messages that may occur when importing a Python tool with credentials (especially one withexpected_credentials). Most serve to help guide the user in how to properly define their connections to work with their Python tool.
No app-id given
No app-id given
If no app-id is passed into a tool that has To fix this, be sure to pass in the —app-id flag when importing the tool and make sure that the name is correct:
expected_credentials you see the following error:BASH
BASH
No connection exists
No connection exists
If you try to pass in a connection that doesn’t exist you see the following:To fix this be sure that you create the connection before importing the tool:
BASH
BASH
Type Mismatch
Type Mismatch
If you specify an app id on a connection that is of a different type than what the tool specifies in To fix this remove the existing connection with that name and re-create it with the correct type. Or if that connection is used by a different tool that requires that type, create a new connection with a different name (
expected_credentials you see the following:BASH
my_app_id_2) and the correct type. Then import using an alias:BASH
Remote MCP toolkits
The following sections describe errors that can occur when importing or executing remote MCP toolkits.Toolkit import fails with CM-REFRESH-TOKEN-FAILED-001 (SSO/OBO connection)
Toolkit import fails with CM-REFRESH-TOKEN-FAILED-001 (SSO/OBO connection)
When you import a remote MCP toolkit that is associated with an SSO/OBO (CauseDuring toolkit import, watsonx Orchestrate calls the MCP server’s For more information, see Importing toolkits with SSO/OBO connections.
oauth_auth_on_behalf_of_flow) connection, the import fails with an error similar to the following:tools/list endpoint to discover available tools. If the toolkit is bound to an SSO/OBO connection, the platform attempts to obtain an access token from the identity provider. This token exchange requires an authenticated end-user session, which does not exist at import time. The identity provider therefore rejects the request and the import fails.ResolutionConfigure the draft and live environments with different connection kinds. Use key_value for draft (where the import happens) and keep SSO/OBO for live (where tool execution happens with a real user session):BASH
MCP tool execution fails with HTTP 431 (Request Header Fields Too Large)
MCP tool execution fails with HTTP 431 (Request Header Fields Too Large)
When a user executes a remote MCP tool through the embedded chat or a Microsoft Teams channel, the call fails. The surface-level error shown to the user is:The underlying error in platform logs is:Causewatsonx Orchestrate enforces an 8 KB per-header size limit as part of RFC 6585-compliant header size validation. During remote MCP tool execution with an SSO/OBO connection, the platform propagates the user’s access token in the
x-wxo-access-token header. If your application injects many context variables into the JWT, the resulting access token can exceed this limit.ResolutionReduce the size of the JWT payload by removing context variables that are not needed by the agent or MCP tool. Common candidates for removal include internal system values, verbose metadata, or redundant fields added by the identity provider.After pruning, verify that the x-wxo-access-token header stays below 8 KB. You can measure the JWT size by base64-decoding it and checking the payload byte length.The 8 KB per-header limit applies to each individual header. If your use case requires a larger header, contact IBM support to evaluate configuration options.

