Configuration
Tuneloop is configured via environment variables (Docker Compose) or Helm values (Kubernetes). This page covers the key settings.
Ingest Token
The deployment-wide token that authenticates transcript uploads from developer machines.
TUNELOOP_INGEST_TOKEN=your-secret-token
Set this before distributing the ingest CLI to your team. All developers use the same token.
Email Domain
Restrict signups to your organization's email domain.
TUNELOOP_EMAIL_DOMAIN=yourcompany.com
LLM Enrichment
Tuneloop's workers use LLM calls to enrich each session with work type, complexity, autonomy, feature linkage, and cross-session recommendations. Your session data goes only to the provider you choose — nothing is sent to Tuneloop.
Without an LLM key, static processors still run — you get cost attribution, tool usage, and PR linking. You lose only the LLM-derived dimensions (work type, complexity, autonomy, recommendations).
Provider and key
TUNELOOP_LLM_PROVIDER=anthropic
TUNELOOP_LLM_API_KEY=sk-...
TUNELOOP_LLM_MODEL=claude-haiku-4-5 # optional — sensible defaults per provider
Supported providers
TUNELOOP_LLM_PROVIDER | Key env var | Notes |
|---|---|---|
anthropic | TUNELOOP_LLM_API_KEY | Native integration |
openai | TUNELOOP_LLM_API_KEY | Native integration |
bedrock | Standard AWS credentials | Claude via AWS; set AWS_REGION |
openrouter | TUNELOOP_LLM_API_KEY | 400+ models via one key |
groq | TUNELOOP_LLM_API_KEY | |
deepseek | TUNELOOP_LLM_API_KEY | |
gemini | TUNELOOP_LLM_API_KEY | Google, OpenAI-compatible endpoint |
together / fireworks / xai | TUNELOOP_LLM_API_KEY | |
ollama | (none) | Self-hosted; http://localhost:11434 |
openai-compatible | TUNELOOP_LLM_API_KEY | Any OpenAI-compatible host; set TUNELOOP_LLM_BASE_URL |
openai-compatible-nokey | (none) | Keyless internal gateway; set TUNELOOP_LLM_BASE_URL, auth via TUNELOOP_LLM_HEADERS |
Internal gateways
For organizations that route LLM traffic through an internal gateway (e.g. LiteLLM proxy, Azure API Management), use openai-compatible or openai-compatible-nokey and point TUNELOOP_LLM_BASE_URL at your endpoint:
TUNELOOP_LLM_PROVIDER=openai-compatible
TUNELOOP_LLM_BASE_URL=https://llm-gateway.internal/v1
TUNELOOP_LLM_API_KEY=your-gateway-key
TUNELOOP_LLM_MODEL=your-model-id
For gateways that authenticate via request headers instead of an API key:
TUNELOOP_LLM_PROVIDER=openai-compatible-nokey
TUNELOOP_LLM_BASE_URL=https://llm-gateway.internal/v1
TUNELOOP_LLM_HEADERS={"x-team":"platform","x-user-id":"tuneloop-worker"}
TUNELOOP_LLM_MODEL=your-model-id
GitHub App
See GitHub integration for full setup instructions.
GITHUB_APP_CLIENT_ID=your-app-client-id
GITHUB_APP_PRIVATE_KEY_PATH=/run/secrets/github-app.pem
GITHUB_APP_INSTALLATION_ID=12345678
GITHUB_WEBHOOK_SECRET=your-webhook-secret
Jira
See Jira integration for full setup instructions.