Troubleshooting
Use these checks to diagnose common errors in the Temporal Python integration.
Worker does not connect to OpenBox
Check the Worker environment:
[ -n "$OPENBOX_URL" ] && echo "OPENBOX_URL is set" || echo "OPENBOX_URL is NOT set"
[ -n "$OPENBOX_API_KEY" ] && echo "OPENBOX_API_KEY is set" || echo "OPENBOX_API_KEY is NOT set"
Complete these checks:
- Confirm that
OPENBOX_URLandOPENBOX_API_KEYare set in the Worker process. - Start the Worker.
- Check the logs for OpenBox initialization errors.
- Start a Workflow.
- Confirm that a session appears in the OpenBox console.
Sessions do not appear
Complete these checks:
- Confirm that the Worker runs and has a connection to OpenBox.
- Find
OpenBox SDK initialized successfullyin the Worker logs. - Confirm that the Workflow completed in the Temporal UI.
- Confirm that the API key belongs to the registered OpenBox agent.
Governance blocks or stops the agent
A blocking rule causes a non-retryable GovernanceBlock or GovernanceHalt error. This result confirms that the plugin enforced the governance verdict.
Inspect the verdict:
- Open the OpenBox console.
- Open the agent Overview tab.
- Open the session.
- Identify the rule that caused the block or halt.
See Error Handling for governance and approval error handling.
Approval requests do not appear
Complete these checks:
- Confirm that the behavioral rule uses Require Approval, not Block.
- Confirm that the agent trust tier matches the rule conditions.
- Confirm that the approval timeout has not expired.
See Approvals for the behavior of the approval queue.
LLM API calls fail
The demo uses LiteLLM to route models. LLM_MODEL uses the provider/model-name format.
Common values are:
| Provider | Example LLM_MODEL value |
|---|---|
| OpenAI | openai/gpt-4o |
| Anthropic | anthropic/claude-sonnet-4-5-20250929 |
| Google AI | gemini/gemini-2.0-flash |
Confirm that LLM_MODEL and LLM_KEY are correct in .env.
Run this test from the project directory:
- uv
- pip (venv)
uv run python3 -c "
import os
from dotenv import load_dotenv
load_dotenv()
from litellm import completion
response = completion(
model=os.getenv('LLM_MODEL'),
api_key=os.getenv('LLM_KEY'),
messages=[{'role': 'user', 'content': 'test'}]
)
print(response.choices[0].message.content)
"
Activate the virtual environment first. Then run:
python3 -c "
import os
from dotenv import load_dotenv
load_dotenv()
from litellm import completion
response = completion(
model=os.getenv('LLM_MODEL'),
api_key=os.getenv('LLM_KEY'),
messages=[{'role': 'user', 'content': 'test'}]
)
print(response.choices[0].message.content)
"
Use the LLM_MODEL and LLM_KEY values from .env. See the LiteLLM provider list for supported formats.
Temporal server does not run
The Worker reports this error when it cannot connect to the local Temporal server:
Connection refused: localhost:7233
Start the development server:
temporal server start-dev
Open the Temporal UI at http://localhost:8233.