Skip to content

Sponsor

Environment Variables

All config options can be set via .env. Nothing requires editing a PHP file.

VariableDefaultDescription
ANTHROPIC_API_KEYYour Anthropic API key (required for the default provider)
AI_CODE_PROVIDERanthropicProvider name — must match a key in config/ai.php
AI_CODE_MODELclaude-sonnet-4-6Model to use
AI_CODE_MAX_STEPS40Tool-call ceiling for ai:run — cannot exceed the agent's own #[MaxSteps]
AI_CODE_BUDGET1.00Hard spend limit in USD per session
AI_CODE_COMPACTION_THRESHOLD60000Conversation size (chars) that triggers automatic history compaction
AI_CODE_COMPACTION_KEEP4Recent messages kept verbatim when compacting
AI_CODE_PRICE_INPUTautoInput price per million tokens for budget estimation. Unset = resolved from the built-in model catalog (falls back to 3.00 for unknown models)
AI_CODE_PRICE_OUTPUTautoOutput price per million tokens for budget estimation. Unset = resolved from the built-in model catalog (falls back to 15.00 for unknown models)
AI_CODE_DB_MUTATIONSfalseEnable the MutateDatabase tool — see Database writes
AI_CODE_DB_MUTATION_MAX_ROWS100Affected-row ceiling above which a write is rolled back instead of confirmed
AI_CODE_RENDER_TABLEStrueDraw markdown tables in the agent's answer as terminal tables instead of printing the pipes
AI_CODE_APP_MAPtrueEnable the application map — schema and model introspection from the booted app
AI_CODE_APP_MAP_INDEXtrueInject the one-line-per-model map index into every session's system prompt
AI_CODE_APP_MAP_CACHEtruePersist the map to storage/tackle/map.json between processes
AI_CODE_APP_MAP_PROBE_RELATIONSfalseDetect relations on methods with no return type by invoking them — off by default, and why
AI_CODE_SHELLapproveShell mode: off | allowlist | approve | yolo. Can be set per-environment in config/tackle.php — production defaults to off.
AI_CODE_WORKTREEfalseEnable worktree isolation (production defaults to true).
AI_CODE_MEMORYfileSession persistence: file (resume on next run) | none
AI_CODE_HEALING_ENABLEDfalseEnable the self-healing queue worker feature
AI_CODE_HEALING_MODEprHealing mode: pr | patch
AI_CODE_HEALING_QUEUEhealerQueue name for the HealJobFailure job
AI_CODE_HEALING_THRESHOLD1Failures before healing is triggered
AI_CODE_HEALING_BASE_BRANCHmainBase branch for fix pull requests
AI_CODE_HEALING_BRANCH_PREFIXtackle/heal-Prefix for fix branches
AI_CODE_HEALING_TELESCOPEtrueUse Telescope context if available
AI_CODE_GUARD_SECRETSGuard pack: secret-exfiltration guard mode
AI_CODE_GUARD_NETWORKblockGuard pack: network-exfiltration guard mode (block | confirm | off)
AI_CODE_GUARD_COMPOSERGuard pack: composer-script guard mode
AI_CODE_GUARD_INJECTIONEnable the injection shield classifier
GITHUB_TOKENGitHub token for opening pull requests and reading issues/PRs
GITHUB_REPORepository as owner/repo — activates the GitHub tools
SENTRY_AUTH_TOKENSentry auth token with issue:read scope — activates ReadSentryIssue
SENTRY_ORGSentry organization slug
SENTRY_PROJECTSentry project slug — required for listing recent issues

See also: Configuration for the full config/tackle.php reference, and the Self-Healing configuration table.

Released under the MIT License.