Common issues and how to fix them.
You need to install dependencies:
uv syncIf you just added a new agent, uv sync registers it as a workspace package.
Log in to Azure:
az loginOr set an API key in your .env:
AZURE_OPENAI_API_KEY=your-key-here
The platform uses explicit credential selection (no fallback chains):
AZURE_OPENAI_API_KEYset → API key authAZURE_CLIENT_IDset → Managed Identity (production)- Neither → Azure CLI credential (local development)
Check your .env file:
AZURE_AI_PROJECT_ENDPOINT=https://<your-project>.services.ai.azure.com/api/projects/<project-id>
AZURE_OPENAI_RESPONSES_DEPLOYMENT_NAME=gpt-4.1
- The endpoint must include the full path with
/api/projects/<id> - The deployment name must match exactly what's in your Azure AI Foundry
The router auto-discovers agents by scanning agents/. Check:
-
Package exports:
agents/my-agent/src/my_agent/__init__.pymust exportconfigandtools:from . import tools from .config import config __all__ = ["config", "tools"]
-
Package installed: Run
uv syncafter creating a new agent -
Validation: Run
uv run python -m agent_core.validate— it checks all agents -
Naming: Directory name must be in kebab-case (e.g.,
my-agent), which becomes snake_case for the Python package (my_agent)
Upload your documents first:
cd agents/my-agent
uv run python -m agent_core.knowledge uploadThen copy the VECTOR_STORE_ID to your .env file.
- Check the docstring: The AI model reads the docstring to decide when to call a tool. Make it specific.
- Check
config.tools: The function name must be listed in the config'stoolsarray. - Check the description in your config: The triage agent reads this to decide routing. If it's vague, questions may route to the wrong agent.
- Use
gpt-4.1-minifor simple agents (routing, classification, Q&A) - Set
max_output_tokensto the minimum your agent needs - See Cost Optimization for model selection tips
docker compose up --build # Rebuild after code changesThe Aspire Dashboard (observability) is available at http://localhost:18888.
- Run the pre-flight check:
uv run python scripts/preflight.py - Check the FAQ
- Open an issue