App Settings
App-level settings control Trinity's global behavior — preferences that apply across every project. Access them by clicking Settings in the sidebar's Hub section.
The page is organized into four tabs: General, Git & Branching, AI Models, Membership.
General Tab
Theme
Seven theme options:
| Theme | Vibe |
|---|---|
| Light | Clean light appearance with neutral tones |
| Dark | Dark background with light text + cool blue accents |
| Trinity Dark | Dark theme with neon green (hue 145) + monospace font throughout — Matrix aesthetic |
| Trinity Light | Light counterpart to Trinity Dark — green + monospace |
| Cyber Dark | Cyberpunk dark theme with purple + magenta accents and custom cyber fonts |
| Cyber Light | Bright cyberpunk theme with blue + purple accents |
| System | Follows your OS light/dark preference (resolves to Light or Dark) |
Timezone
Affects:
- Recap date groupings (daily / weekly / monthly / etc.)
- Metrics dashboard time axes
- Timestamp displays throughout the UI
Timestamps are stored UTC server-side — timezone conversion happens at display time. Set Auto to use the browser's detected timezone.
Automation Defaults
Defaults applied to every project unless overridden. Full cascade: Global → Team → User per-scope → Project → User per-project → Entity (story/release) → Job. These defaults sit at the Global layer.
Toggles available:
- Auto PR — open PRs automatically when a story finishes
- Auto-merge — merge PRs automatically when checks pass
- Squash merge — squash commits on merge
- Delete branch after merge — clean up story branches after merging
- Skip asset check — bypass the
missing_assetsgate - Skip business details check — bypass the
missing_business_detailsgate - Auto-release to base — auto-merge release branches to the production branch on approval
- Delete release branch after merge — clean up release branches
- Auto-approve quality checkpoints — run the full checkpoint pipeline but skip the human gate (release-level
release_approvalis always manual regardless)
Performance
Max concurrent tasks — cap on how many projects can run a background task at the same time on this machine. Default is 10 (allowed range 1–20). Each project still runs its own tasks one at a time, so ordering within a project is preserved; the cap only bounds parallelism across distinct projects. Each task spawns its own Claude process, so this is effectively the cap on parallel Claude runs. Help-chat is exempt from the per-project lock — chat replies aren't queued behind long planning runs on the same project (they still count against this overall cap). Story execution is fully separate and uses its own per-release worker pool. Raise it toward 20 if you regularly drive many projects in parallel and your machine + provider rate limits can keep up; lower it if you notice CPU/memory pressure or hit rate-limit errors.
This setting is per-machine and lives alongside the other appearance/timezone preferences — it is not a project-level toggle.
Storage Default
Pick where Trinity uploads project assets by default — Trinity Cloud (managed R2-backed storage with per-seat quota) or BYO S3 (your own AWS S3 / Cloudflare R2 / DigitalOcean Spaces / any S3-compatible bucket). Per-project storage choice in Project Settings overrides this default. BYO S3 credentials saved here are encrypted and follow you across teams.
When Trinity Cloud is selected, the card also shows your current usage: 5 GB included with your seat (shared across your personal scope and teams you own), plus any 10 GB add-on packs you've purchased.
Auto-Update
Trinity checks for updates every 4 hours:
- Available update → pill in the title bar with an Update Trinity button
- Auto-Update on → install automatically once Trinity is idle (no jobs running or claimed)
- Trinity never interrupts an active run — if jobs are in-flight it waits for them to finish
- Manual install respects the same rule: if execution is active you'll see a "waiting for execution" warning
Git & Branching Tab
Project branching defaults (applied when a new project is created — per-project overrides live in Project Settings → Git). See Project Settings for the full shape of branching configuration.
AI Models Tab
Default models per tier — the global baseline that team / project / story overrides can replace.
| Tier | Purpose |
|---|---|
| Reasoning (Opus-class, intelligence 4) | Complex agent work — stories with difficulty ≥ 4 or surface_area = large |
| Standard (Sonnet-class, intelligence 3) | Default tier for most stories |
| Fast (Haiku-class, intelligence 2) | Faster sub-agents and less critical operations |
| Micro (nano, intelligence 1) | Lightweight parallel tasks (dependency mapper sub-agents, target mapper sub-agents, recap triage) |
You can't assign a model with a lower intelligence level than the tier requires — e.g., you can pick a Sonnet model for the Fast tier but not a micro model for Reasoning.
Providers
Trinity supports models from Anthropic, DeepSeek, Moonshot, Z.ai, Qwen, and a local Ollama runtime. Configure each provider's API key in the same tab.
See AI Model Configuration for the deeper tier explanation.
Membership Tab
Your subscription, sponsorship, and privacy:
- Subscription status (
active/trialing/comp/ etc.) and trial countdown - Sponsored-seat management (owners can sponsor other users; recipients accept/decline from the Requests inbox)
- Privacy controls
(Your storage quota and usage live in the General tab under Storage Default — see above.)
How Settings Sync
Global settings live server-side and sync across every device signed into your account. The desktop reads and writes them over HTTP — there's no local override or cached copy of your preferences.
Exception: a small local cache holds non-user-facing values like skill template hashes and schema doc hashes — none of your preferences.
Data & Disk Layout
Trinity's desktop stores only machine-local state. Project data (PRDs, stories, knowledge, tags, stack, activity, recaps, releases, assets, secrets, user + team settings, etc.) lives in trinityailabs.com's Turso DBs and is reached over HTTP. There is no sync DB on the desktop.
What lives in ~/.trinity/ on disk:
~/.trinity/
├── trinity-{slot}.db Machine-local SQLite — worktrees, workers, coordinator,
│ chat sessions, tasks, device_config, local_project_bindings,
│ local_job_state. Never syncs.
├── accounts-{slot}/ Per-account auth + manifest cache ({slot} = dev | prod)
│ └── {accountId}/
│ ├── auth.json Access/refresh tokens
│ └── manifest.json Workspace manifest cache
├── active-account-{slot}.json Pointer to the active account
└── projects/ Trinity-owned clones + git worktrees for parallel execution
The {slot} suffix (dev | prod) keeps development and production state isolated. Signing into localhost or dev.trinityailabs.com uses -dev; signing into www.trinityailabs.com uses -prod.
Reset
If you need to start fresh:
- Stop all execution
- Delete
~/.trinity/trinity-{slot}.db(and/or theaccounts-{slot}/folder to sign out) - Restart Trinity — the local DB runs its migrations and regenerates empty; auth re-mints on next sign-in; project data is untouched because it lives on the server
Refresh Intervals
Most data updates in real time via a WebSocket push channel as events fire on the server:
- Run page — live updates as stories progress
- Metrics dashboard — push-driven via the WebSocket channel; 5-minute background poll when the channel is unavailable
- Move requests / team members — push-driven; 5-minute poll fallback
- Presence — push-driven (no polling)
- Knowledge base — loaded on navigation; refreshed when an entry is written
- Release selector — refreshed on release transitions
The push channel is on by default in production. You can toggle it via the browser console:
localStorage.setItem('trinity_flags', JSON.stringify({ use_ws_doorbells: false }));Then refresh — Trinity falls back to the 5-minute polling cadence everywhere.
Keyboard Shortcuts
Trinity uses standard web-app navigation. No custom keybindings are user-configurable today — navigation is through the sidebar and in-page controls.
Resource Usage
Trinity runs a small bundled server alongside the desktop app, plus a local SQLite for machine-only state. Resource usage scales with:
- Number of parallel workers (each worker spawns a Claude CLI process)
- Active project size (via the codebase map + worktree files)
- Agent operations in flight
For most projects, Trinity runs comfortably on a standard development machine.