1.11 laid the foundation, and 1.12 fills in the cracks. Jira Cloud is now supported end to end, Claude API keys can be configured at the org level and are passed through to sandboxes, and headless installs can provision themselves entirely from the environment — encrypting credentials at rest with no keychain required.
The big stuff
Jira Cloud. Jira previously meant Data Center and a PAT. You can now onboard a Cloud org under a service credential (Atlassian email + API token), and bind your own Cloud identity either way GitHub already offered — paste an API token, or click Connect for OAuth. Autonomous work runs under the org credential; the writes you trigger go out under yours.
Org-level Claude credentials. Set the Anthropic API key once at the org level, in the setup wizard or Settings → Org. It’s validated against Anthropic before it’s stored, then passed through to delegated runs — including sandboxed ones — so a bad key fails at entry rather than on the first run.
Inline permission prompts on the board. When a delegated run parks waiting on an off-allowlist tool, the Allow/Deny prompt now appears on its board card instead of only on the run-detail page. The card surfaces to the top, and a decision made on any surface clears the prompt everywhere — previously it sat until it timed out unless you opened the run.
Headless, end to end. Triage Factory now runs with no desktop, no browser, and no OS keychain. Credentials that used to require a keychain are encrypted at rest in a file instead (AES-256-GCM, ciphertext only), and with TF_HEADLESS set the server provisions itself entirely from environment variables on first start — workspace, tracked repos, Jira (Data Center), and your identity — landing straight on the app with no setup wizard. It’s the binary plus a handful of environment variables, on Linux or macOS alike. The same secret-store overhaul also moves self-hosted multi-tenant deployments off Supabase Vault, dropping a dependency from the stack. And if you’d rather not run the bundled Claude binary, TF_CLAUDE_BINARY points a local install at a claude of your choosing.
Also new
Delegated agents now receive the PR diff as an on-disk summary artifact instead of re-paging the GitHub API for it, and multi-step blueprint totals — both cost and elapsed time — now sum across every step rather than quoting a single one.
Fixes
- PR review severity badges now render — the
--severityflag had no visible effect before. - Dark mode: corrected the primary button fill and the binding-canvas trigger-label pill.
- The PR dashboard now shows PRs and stats for GitHub App orgs, and backfills the history it was missing.
- Worktree checkouts authenticate their blobless (promisor) fetch, fixing partial clone failures.
uninstallnow sweeps the Anthropic, Jira-OAuth, and GitHub App keychain entries it previously left behind.