Troubleshooting
The server starts but model calls fail
Check the default model settings:
SAGE_DEFAULT_LLM_API_KEYSAGE_DEFAULT_LLM_API_BASE_URLSAGE_DEFAULT_LLM_MODEL_NAME
These are the most common missing variables during first run.
The web app loads but cannot reach the backend
Verify both sides are running:
- backend:
python -m app.server.main - frontend:
cd app/server/web && npm run dev
Then verify the frontend is configured to talk to the correct API base URL.
The frontend variables to check first are:
VITE_SAGE_API_BASE_URLVITE_SAGE_WEB_BASE_PATH
Desktop startup behaves differently from the server
That is expected. The desktop app uses a separate bootstrap path:
app/desktop/entry.pyapp/desktop/core/main.py
It binds to 127.0.0.1 and includes desktop-specific startup behavior.
Sandbox behavior is not what you expect
Check:
SAGE_SANDBOX_MODESAGE_REMOTE_PROVIDERSAGE_SANDBOX_MOUNT_PATHS
Also remember that SAgent.run_stream(...) can override the default sandbox mode per session.
Session files or agent files are not where you expect
Review the storage-related variables:
SAGE_SESSION_DIRSAGE_AGENTS_DIRSAGE_USER_DIRSAGE_SKILL_WORKSPACE
Observability pages or traces are missing
Check the Jaeger-related variables:
SAGE_TRACE_JAEGER_ENDPOINTSAGE_TRACE_JAEGER_UI_URLSAGE_TRACE_JAEGER_PUBLIC_URLSAGE_TRACE_JAEGER_BASE_PATH
There is a mismatch between docs and code
Trust the code. Start with:
app/server/main.pyapp/server/core/config.pyapp/server/routers/sagents/sagents.py
This documentation set is intentionally optimized for current accuracy, but the repository is active and can change faster than prose.