Skip to main content
Trinity
What's New/v0.9.5

What's New in Trinity v0.9.5

Released 2026-09-17  ·  877 commits · 152 public + 76 private-tracker issues

v0.9.0 opened the platform outward. v0.9.5 is about where the work happens. Workspace becomes the place you work with an agent: a chat per topic, a rail beside the conversation, live cards for the work the agent is running, a canvas for every agent, and voice mode, where you talk to the agent while the canvas updates in front of you. Getting started is simpler too. Trinity now ships prebuilt images and a guided DigitalOcean install, and first-run setup happens in the browser. Around that: subscription usage you can actually see, opt-in instance telemetry, a long reliability sweep, and a security pass that encrypts stored credentials and takes the GitHub token out of agents' git remotes.

Improvements

Workspace is where the work happens

The per-agent workspace merged into Workspace, and every agent now has a canvas. A railbeside the conversation holds the agent's Info, Loops, Files and Canvas tabs. You can resize all three columns by dragging, and Trinity remembers the widths for you.

Several chats per agent. Keep topics apart. Chats open as tabs, there is always a pinned Main chat (with Reset), and a new chat is one hotkey away. Clicking an agent opens its most recent chat.
See the work while it runs. When a message starts work, a live card appears in the chat, and the chat scrolls to it. The card says in one short line what the agent is doing right now. The Work tab keeps the history, and loops can be started, stopped and watched from the chat.
Agents can ask you something. An agent can address a question to a named person. You see it in the chat, on the agent page and in the operator view, and you can watch it approach expiry. The agent's owner can choose to have an answer wake the agent so it acts right away.
Deliverables and feedback. Outputs are first-class objects in the chat and on the agent page. Rate a message or a deliverable; a negative rating can raise a bounded alert for the operator.

Smaller things that add up

Drag several files onto the conversation at once, then preview or delete them in the Files tab.
Unread replies show on the agent's sidebar row and in the browser tab title.
Rename a chat.
Sidebar search finds agents as well as chats, and the agents you worked with most recently sit on top.
Choose a model from a dropdown in the composer.
Press Escape or Stop to cancel a turn and get your message back.
Switch between light, dark and system themes.
Workspace opens in its own browser tab.

Multi-agent rooms also moved into the open-source core in this release. See Workspace.

Talk to your agent

Voice modeturns the current chat into a real-time call. The orb takes over the conversation, the canvas stays open in the right column, and the transcript is written back into the chat, so the agent's next typed turn knows what was said. During the call the agent works with its own tools. When you ask for something long, it says so, runs the task in the background while you keep talking, and brings the result back when it lands. Calls are capped at 30 minutes by default and end with a spoken and written notice.

See Voice Chat.

Canvas

An agent's canvas speaks one rich block vocabulary. Charts go well beyond a trend line, alongside images and diagrams, and everything renders the same in the Workspace and during a call. A platform design kit and a canvas library skill give canvases a designed look without the agent writing CSS. You can sort, search, pin and bulk-delete canvases, share one through a read-only link, or download it as a PDF. Whatever canvas you have open is shared context, so the agent can see it and work on it.

See Agent Canvas.

Install on DigitalOcean, set up in the browser

The new DigitalOcean install takes you from your own terminal to Trinity on its own Droplet, behind HTTPS, in about ten minutes, most of it waiting. It takes a few steps:

  1. Install DigitalOcean's command-line tool and give it access to your account.
  2. Create a Claude subscription token.
  3. Choose your admin password.
  4. Run one installer command.

When it finishes, the admin account already exists and your agents are signed in to Claude. Follow Deploy on DigitalOcean for the full walkthrough.

Underneath, Trinity now publishes prebuilt container images. ./scripts/deploy/start.sh --hosted pulls them instead of building from source, and a cloud-init first boot brings a fresh server up unattended. The DigitalOcean Marketplace image also ships in this release; its listing goes live after vendor review.

Setup continues in the browser

The first person to open a marketplace instance creates the admin in the browser.
A single setup overlay walks you through connecting Claude (subscription token or API key, checked before it is saved), GitHub, email and Gemini.
A front-desk agent shows what an agent can do.
New agents boot with the Trinity plugin pre-installed, so a bare repository can make itself Trinity-compatible in place.

Marketplace installs also show a step-by-step hardening guide for putting the instance behind a real domain or a VPN.

Subscription usage you can see

A usage dashboard shows each Claude subscription's 5-hour and 7-day consumption, a per-agent breakdown and its rate-limit history. The dashboard's Subscription pressure tile shows headroom at a glance, Trinity records headroom history over time, and you get an alert when a subscription passes 75% of its weekly limit. When an agent has to move off a limited subscription, Trinity now picks the alternative with the most headroom. A run of fixes also stops healthy or merely-warned subscriptions from being reported as rate-limited.

See Subscription Credentials.

More improvements

Opt-in instance telemetry. Self-hosted installs can share anonymised operational signal. Nothing leaves your instance until an admin consents in Settings, and the send log shows exactly where each share went.
Machine identities for automation. Service credentials for admin and ops APIs keep working when two-factor sign-in is enforced for people.
Fire-and-forget fan-out. fan_out can return at once with a batch id that you poll for results, and a task still running at the batch deadline keeps going and reports running instead of being marked failed.
Pull dispatch keeps maturing. Scheduled work, loops and fan-outs can all run on the durable queue. It is still opt-in; push dispatch remains the default.
Calmer loading. Pages and lists load with skeleton placeholders, and background refreshes no longer flash content you are reading or reset where you were.
The current model lineup (including Claude Fable 5.1) is selectable everywhere.

Fixes

Agents come back after a reboot. Agent containers now restart with the host. Existing containers need a one-time update (see Upgrade Notes).
Busy agents stay responsive. An agent server under heavy parallel load no longer stops accepting requests, and a finished run is no longer discarded as a timeout.
Honest run records. A timeout says so only when the run actually approached its limit. Background work killed at the end of a run leaves a trace, and headless runs are no longer offered wake-ups that can never fire.
Git behaves. The sync-health check no longer takes the repository lock twice a minute and leave stale locks behind, and Push no longer untracks files you had already committed.
Long conversations hold up. Multi-agent rooms no longer go dead after about six hours, and new messages no longer yank you to the bottom while you are reading.
Workspace polish sweep. Fixes across code-block readability, markdown tables and headings, file uploads and downloads, the voice-call layout, sidebar alignment, file previews and failed-turn messages.
Subscriptions switch cleanly. A rate-limited Workspace message switches subscription and completes, and a long turn keeps its full time budget after a switch.
Local deploys are verified. deploy_local_agent checks the archive it deploys, and Codex API-key authentication works.
PostgreSQL headroom. Large .git directories and other big counters no longer overflow 32-bit columns.

Security & Hardening

Fresh installs are safe before setup. An unauthenticated setup endpoint could overwrite the admin password on a fresh install. That is closed.
Stored credentials are encrypted. API keys and tokens kept in platform settings are now encrypted at rest.
The GitHub token is out of git remotes. Git now asks a credential helper for the token, so it no longer sits in an agent's .git/config or shows up in process listings and logs. The agent can still read its own token from its environment.
Agents can't switch off their own guardrails. Guardrail hooks live where an agent cannot rewrite them.
Least privilege, tightened. Live activity events only reach users who can access the agent, loops respect the agent-to-agent permission edge, and an agent cannot switch on its own paid wake-ups.
Approvals mean what you chose. A Deny on the mobile approval card is no longer recorded as an approval, and answers are checked against the options offered.
An honest audit log. Denied calls are recorded as refusals, and a person can no longer attribute their own action to an agent.
Consistent sign-in. The main app and Workspace agree on who is signed in across tabs, and a password-grant client waiting on a 2FA challenge gets a clear answer instead of an unusable token.

Upgrade Notes

Rebuild or pull the platform images.
Build from source: docker compose build, then start.sh.
Hosted installs: start.sh --hosted. Pin TRINITY_IMAGE_TAG (for example v0.9.5), because latest moves with every release.
Rebuild the agent base image, then restart agents. Run ./scripts/deploy/build-base-image.sh, then stop/start each agent or use Restart All.
Give existing agents a restart policy. Containers created before this release stay down after a host reboot until they are recreated or updated. See Agent Restart Policy Migration.
Set CREDENTIAL_ENCRYPTION_KEY before upgrading, then rotate. Stored credentials are encrypted on upgrade, and the backend refuses to start without the key if there is anything to encrypt. Older backups still hold the plain values, so rotate those credentials. See Credential settings encryption.
Rotate the platform GitHub token. Git remotes are cleaned up automatically, but backups and logs from before the upgrade can still contain the token. See Git remote token scrub.
Answers wake agents only if you opt in. Turn on Wake this agent when an operator answersin an agent's Reliability panel. It is off by default because each wake-up is a paid turn.
Settings housekeeping.
WORKSPACE_ENABLED is retired; delete it from .env.
New installs pin the community skills catalog to v0.2.0. Existing installs keep v0.1.0 until an admin re-points the source.
Enterprise instances: bump the enterprise submodule pin to 08cd4dd.
Re-login after upgrading and reconnect MCP clients. SQLite has passed its announced end-of-support date; PostgreSQL is the path forward.

Full upgrade procedure: Upgrading.

Known Limitations

Pull dispatch is still opt-in. Push remains the default until a production soak completes.
DigitalOcean Marketplace: the image ships now; the listing goes live after vendor review.
Subscription headroom history is recorded but not yet charted; it is readable over the API.
MCP keyless email sign-in still ships switched off (MCP_INLINE_AUTH_ENABLED).
Workspace rail tabs refresh by polling; instant updates follow.

See Also