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_PROVIDERKey env varNotes
anthropicTUNELOOP_LLM_API_KEYNative integration
openaiTUNELOOP_LLM_API_KEYNative integration
bedrockStandard AWS credentialsClaude via AWS; set AWS_REGION
openrouterTUNELOOP_LLM_API_KEY400+ models via one key
groqTUNELOOP_LLM_API_KEY
deepseekTUNELOOP_LLM_API_KEY
geminiTUNELOOP_LLM_API_KEYGoogle, OpenAI-compatible endpoint
together / fireworks / xaiTUNELOOP_LLM_API_KEY
ollama(none)Self-hosted; http://localhost:11434
openai-compatibleTUNELOOP_LLM_API_KEYAny 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.