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_assets gate
  • Skip business details check — bypass the missing_business_details gate
  • 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_approval is 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:

  1. Stop all execution
  2. Delete ~/.trinity/trinity-{slot}.db (and/or the accounts-{slot}/ folder to sign out)
  3. 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
Warning
`~/.trinity/projects/` contains your git worktrees — these can have uncommitted work. Don't delete it unless you're sure.

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.