Configuration
Reference for Tahyi environment variables and policy settings. Copy .env.example from the repo and fill in values locally — never commit secrets.
For first-run setup, see Quickstart.
Environment file
cp .env.example .env
All credentials are injected via environment variables. Agents read config at wake time — never from hardcoded prompts or repo files.
Core settings
| Variable | Required | Default | Description |
|---|---|---|---|
PORT | No | 4321 | Control plane HTTP port |
TAHYI_ENV | No | development | Runtime mode: development, staging, production |
TAHYI_DRY_RUN | No | true | Global dry-run default (pre-0.1 builds) |
TAHYI_LOG_LEVEL | No | info | Log verbosity: debug, info, warn, error |
TAHYI_AUDIT_RETENTION_DAYS | No | 90 | Audit log retention period |
LLM provider credentials
Tahyi is model-agnostic. Configure at least one provider:
| Variable | Provider | Description |
|---|---|---|
ANTHROPIC_API_KEY | Claude (Anthropic) | API key for Claude models |
OPENAI_API_KEY | OpenAI | API key for GPT models |
GOOGLE_API_KEY | Gemini (Google) | API key for Gemini models |
TAHYI_LLM_BASE_URL | Open-source / local | Base URL for compatible local endpoints (e.g. Ollama, vLLM) |
TAHYI_LLM_MODEL | All | Default model identifier per provider |
Provider selection is per-specialist in agent config. The global default applies when no per-agent override is set.
Security: Never commit API keys. Use .env locally, secrets manager in production. Tahyi does not log credential values.
Environment registration
Target environments are registered via CLI, not .env:
npx tahyi env register \
--name staging \
--type kubernetes \
--kubeconfig ~/.kube/config
| Flag | Description |
|---|---|
--name | Unique environment identifier |
--type | Environment kind (kubernetes in 0.1) |
--kubeconfig | Path to kubeconfig file |
--namespace | Optional default namespace |
Environment credentials are stored in the control plane’s local data store — scoped per environment, never shared across environments.
Agent settings
Per-agent overrides via CLI or config file:
npx tahyi agent enable deployment-maintainer \
--environment staging \
--dry-run \
--model claude-sonnet-4-20250514
| Flag | Description |
|---|---|
--environment | Target environment name |
--dry-run | Plan only — no infrastructure side effects |
--model | LLM model override for this agent |
--heartbeat-interval | Wake interval (e.g. 15m, 1h) |
Policy settings
Safety policy is configured at the environment level:
| Setting | Default (pre-0.1) | Description |
|---|---|---|
dry_run_default | true | All agents plan without executing |
require_approval_one_way | true | One-way doors always require human approval |
max_blast_radius | unset | Optional cap on affected resources per plan |
allowed_environments | registered only | Agents cannot operate on unregistered targets |
Production environments should set dry_run_default: false only after policy review and with require_approval_one_way: true.
Audit log
| Setting | Default | Description |
|---|---|---|
TAHYI_AUDIT_RETENTION_DAYS | 90 | Days to retain audit entries |
TAHYI_AUDIT_EXPORT_PATH | unset | Optional path for periodic audit export |
Audit entries are append-only. Retention applies to storage cleanup — not to mutating existing entries.
API and CLI reference
Detailed API endpoint and CLI command reference ships with 0.1 when the public scaffold stabilizes. Track on TAH-74.
Related reading
- Quickstart — first-run setup
- Architecture — component overview
- Agents — specialist catalog and enable commands
- How it Works — Safety classification