Skip to main content
Last updated on

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:

  1. Confirm that OPENBOX_URL and OPENBOX_API_KEY are set in the Worker process.
  2. Start the Worker.
  3. Check the logs for OpenBox initialization errors.
  4. Start a Workflow.
  5. Confirm that a session appears in the OpenBox console.

Sessions do not appear

Complete these checks:

  1. Confirm that the Worker runs and has a connection to OpenBox.
  2. Find OpenBox SDK initialized successfully in the Worker logs.
  3. Confirm that the Workflow completed in the Temporal UI.
  4. 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:

  1. Open the OpenBox console.
  2. Open the agent Overview tab.
  3. Open the session.
  4. 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:

  1. Confirm that the behavioral rule uses Require Approval, not Block.
  2. Confirm that the agent trust tier matches the rule conditions.
  3. 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:

ProviderExample LLM_MODEL value
OpenAIopenai/gpt-4o
Anthropicanthropic/claude-sonnet-4-5-20250929
Google AIgemini/gemini-2.0-flash

Confirm that LLM_MODEL and LLM_KEY are correct in .env.

Run this test from the project directory:

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)
"

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.