Orchestration Troubleshooting Guide
This guide helps you diagnose and resolve common issues with Radium's orchestration system.
Quick Diagnosisβ
Start by checking orchestration status:
/orchestrator
This shows:
- Whether orchestration is enabled
- Current provider and model
- Service initialization status
Common Issuesβ
Orchestration Not Workingβ
Symptoms:
- Natural language input doesn't trigger orchestration
- No "π€ Analyzing..." indicator appears
- Input is treated as regular chat
Diagnosis:
-
Check if orchestration is enabled:
/orchestratorLook for
Enabled: β Yes -
Verify service is initialized:
/orchestratorShould show
Service: [Provider name]notService: Not initialized
Solutions:
-
Enable orchestration:
/orchestrator toggle -
Check API keys:
echo $GEMINI_API_KEY
echo $ANTHROPIC_API_KEY
echo $OPENAI_API_KEYAt least one API key must be set.
-
Reinitialize service:
/orchestrator toggle # Disable
/orchestrator toggle # Re-enable -
Check logs:
tail -f logs/radium-core.logLook for initialization errors.
"Function Calling Not Supported" Errorsβ
Symptoms:
- Error message: "Function calling not supported"
- Orchestration fails immediately
- Fallback to prompt-based doesn't work
Causes:
- Using prompt-based provider without fallback
- Model doesn't support function calling
- API key invalid or expired
Solutions:
-
Switch to supported provider:
/orchestrator switch gemini
# or
/orchestrator switch claude -
Enable fallback: Edit config file:
[orchestration.fallback]
enabled = true
chain = ["gemini", "claude", "openai", "prompt_based"] -
Verify API key:
# Test Gemini
curl -H "x-goog-api-key: $GEMINI_API_KEY" \
https://generativelanguage.googleapis.com/v1/models
# Test Claude
curl -H "x-api-key: $ANTHROPIC_API_KEY" \
https://api.anthropic.com/v1/messages
Provider Authentication Issuesβ
Symptoms:
- "API key not found" errors
- "Authentication failed" messages
- Provider switch fails
Diagnosis:
-
Check environment variables:
env | grep -E "(GEMINI|ANTHROPIC|OPENAI)_API_KEY" -
Verify API key format:
- Gemini: Should start with
AIza... - Claude: Should be a valid Anthropic API key
- OpenAI: Should start with
sk-...
- Gemini: Should start with
Solutions:
-
Set API key:
export GEMINI_API_KEY="your-key-here" -
Add to shell profile:
# Add to ~/.zshrc or ~/.bashrc
echo 'export GEMINI_API_KEY="your-key-here"' >> ~/.zshrc
source ~/.zshrc -
Verify key is valid:
- Check provider dashboard
- Test with curl (see above)
- Verify key hasn't expired
-
Check key permissions:
- Ensure key has function calling enabled
- Verify billing/quota is active
Timeout Problemsβ
Symptoms:
- "Finished with: max_iterations" message
- "Operation taking longer than expected" warnings
- Orchestration stops before completing
Causes:
- Task too complex for iteration limit
- Network latency
- Provider API slow response
Solutions:
-
Increase iteration limit: Edit config:
[orchestration.gemini]
max_tool_iterations = 7 # Increase from default 5 -
Break task into smaller requests: Instead of:
Build the entire user management systemTry:
Design the user database schemaThen:
Implement the User model -
Switch to faster provider:
/orchestrator switch geminiGemini Flash is typically fastest.
-
Check network connectivity:
ping api.anthropic.com
ping generativelanguage.googleapis.com
Tool Execution Failuresβ
Symptoms:
- "Tool execution failed" errors
- "β Error" messages
- Specific agent not responding
Diagnosis:
-
Check which tool/agent failed:
- Look at error message for tool name
- Check if agent exists:
/agents
-
Verify agent configuration:
cat agents/agent-name.json
Solutions:
-
Refresh agent registry:
/orchestrator refreshThis reloads all agent definitions.
-
Check agent file:
- Verify JSON syntax is valid
- Ensure agent file is in correct location
- Check file permissions
-
Verify agent is accessible:
# Check project agents
ls agents/
# Check user agents
ls ~/.radium/agents/ -
Test agent directly:
/chat agent-name Test messageIf direct chat works but orchestration fails, check agent description.
Network/Connectivity Issuesβ
Symptoms:
- "Connection refused" errors
- "Timeout" errors
- Slow or intermittent responses
Diagnosis:
-
Test provider APIs:
# Test Gemini
curl -v https://generativelanguage.googleapis.com/v1/models
# Test Claude
curl -v https://api.anthropic.com/v1/messages -
Check firewall/proxy:
# Check if ports are blocked
telnet api.anthropic.com 443
Solutions:
-
Check internet connection:
ping google.com -
Configure proxy (if needed):
export HTTP_PROXY="http://proxy.example.com:8080"
export HTTPS_PROXY="http://proxy.example.com:8080" -
Check DNS:
nslookup api.anthropic.com -
Try different provider: If one provider fails, switch to another:
/orchestrator switch claude
Wrong Agent Selectedβ
Symptoms:
- Orchestrator routes to incorrect agent
- Task not completed as expected
- Agent doesn't have required capabilities
Solutions:
-
Be more specific: Instead of:
Fix the bugTry:
Debug the authentication error in the login endpoint -
Provide context:
I'm working on a Rust web API. The authentication middleware is throwing errors when validating JWT tokens. Please review and fix. -
Use explicit command: If you know which agent you need:
/chat senior-developer Refactor the authentication module -
Check available agents:
/agentsReview agent descriptions to understand capabilities.
-
Improve agent descriptions: Edit agent JSON files to include better descriptions:
{
"description": "Expert in Rust web development, authentication, and API design"
}
Performance Issuesβ
Symptoms:
- Slow orchestration responses
- High latency
- Timeout warnings
Solutions:
-
Switch to faster provider:
/orchestrator switch geminiGemini Flash is typically fastest.
-
Reduce iteration limit: Edit config:
[orchestration.gemini]
max_tool_iterations = 3 # Reduce from 5 -
Lower temperature:
temperature = 0.5 # Reduce from 0.7 -
Check provider status:
- Visit provider status pages
- Check for service outages
- Monitor API response times
-
Optimize requests:
- Break complex tasks into smaller ones
- Be specific to reduce back-and-forth
- Provide context upfront
Configuration Not Persistingβ
Symptoms:
- Changes via
/orchestratorcommands don't persist - Configuration resets on restart
- File not found errors
Solutions:
-
Check file location:
- Workspace config:
.radium/config/orchestration.toml - Home config:
~/.radium/orchestration.toml - Verify file exists and is writable
- Workspace config:
-
Check file permissions:
ls -la .radium/config/orchestration.tomlShould be readable/writable by your user.
-
Verify workspace:
# Check if in workspace
ls -la .radium/ -
Create config directory:
mkdir -p .radium/config -
Manual save: If automatic save fails, manually edit config file after using commands.
Error Messages Referenceβ
"API key not found for provider: X"β
Cause: Environment variable not set
Solution:
export GEMINI_API_KEY="your-key"
"Orchestration service not available"β
Cause: Service failed to initialize
Solution:
- Check API keys
- Verify provider is accessible
- Check logs for errors
- Try toggling:
/orchestrator toggle
"Reached maximum iterations"β
Cause: Task requires more tool calls than limit
Solution:
- Increase
max_tool_iterationsin config - Break task into smaller requests
"Tool 'X' not found"β
Cause: Agent not loaded or doesn't exist
Solution:
- Refresh registry:
/orchestrator refresh - Check agent file exists
- Verify agent JSON is valid
"Orchestration timed out"β
Cause: Operation exceeded 120 second timeout
Solution:
- Break task into smaller pieces
- Use faster provider
- Simplify request
Debugging Tipsβ
Enable Verbose Loggingβ
Set log level to debug:
RUST_LOG=debug radium tui
Check Logsβ
# View recent logs
tail -f logs/radium-core.log
# Search for errors
grep -i error logs/radium-core.log
# Search for orchestration
grep -i orchestration logs/radium-core.log
Test Provider APIsβ
# Test Gemini
curl -H "x-goog-api-key: $GEMINI_API_KEY" \
https://generativelanguage.googleapis.com/v1/models
# Test Claude
curl -H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
https://api.anthropic.com/v1/messages
Verify Configurationβ
# View current config
/orchestrator config
# Check config file
cat .radium/config/orchestration.toml
Getting Helpβ
If issues persist:
-
Check documentation:
-
Review logs:
tail -100 logs/radium-core.log -
Test with minimal config:
[orchestration]
enabled = true
default_provider = "gemini" -
Try prompt-based fallback:
/orchestrator switch prompt_basedIf this works, issue is with API provider.
Related Documentationβ
- Orchestration User Guide - Complete user guide
- Orchestration Configuration - Configuration details
- Orchestration Workflows - Example workflows