Version 2.2.2August 2026

Today we're introducing Anvil Chat. Anvils are Justinian's shared workspaces — the folders where your team's files, apps, and instructions live. Each one now has a single shared conversation where your whole team and Justinian work together. Until now, sharing an Anvil shared the work but not the conversation: every chat had exactly one author, and a teammate could read it but never join it.

1
Shared chat per Anvil
Team
Posts with no AI turn
Live
Answers stream to everyone
3
Roles: owner, editor, viewer
An Anvil Chat thread: a teammate's message, a question to Justinian, and Justinian's answer attributed to whoever asked

Anvil Chat

Anvils are Justinian's shared workspaces — the folders where a team's files, apps, and instructions live. Anvil Chat adds the missing piece: a place for the team to talk about that work, with Justinian in the room.

One Anvil, one thread

Each Anvil has exactly one Anvil Chat, created the first time anyone opens it. Selecting an Anvil — from the sidebar, the composer's switcher, or by dragging a file onto the composer — takes you into that thread, so there is one conversation to check. Your personal chats are unchanged.

Talk to your team, or bring in Justinian

A Justinian | Team switch sits in the Anvil pill above the composer. Team posts go straight to your colleagues with nothing generated and nothing billed. Justinian mode, an @Justinian mention, or a reply to one of its messages brings it in for a full answer. Justinian is the default when the thread is quiet; once a teammate is active, the composer defaults to Team for 24 hours.

Everyone sees the same answer

When Justinian answers, it answers the whole room: every member watching sees the reply arrive in real time, attributed to whoever asked. Justinian reads the thread with each message attached to its author, so it knows who said what. It handles one question at a time — ask while it is working and your message still posts, with a Re-summon button for when it frees up.

Roles and liveness

Owners and editors post and bring in Justinian; viewers read along and watch answers arrive live. Typing indicators, presence, read receipts, unread badges on each Anvil in the sidebar, and mention notifications that deep-link straight to the thread.

What stays private

Justinian answers with the permissions of whoever asked, but the conversation belongs to the whole Anvil — so personal memory, assistant settings, review queues, and anything that can reach your private accounts are removed from shared threads entirely. The Anvil's own Guide and shared memory are still there; that context belongs to the team.

Sharing

Sharing got sharper across files and apps.

Per-person app sharing

Share an app with specific named colleagues instead of with everyone; each recipient gets their own access.

Justinian can see what's shared with you

The files tool now finds and searches files a colleague has shared with you, instead of behaving as though they didn't exist.

Shared files land in your folders

A file shared with you appears where you filed it, not in the owner's folder structure.

Shares are explicit

A share is never inherited from an Anvil, and never granted through another account's row. A failed share lookup is reported as a failure instead of quietly reading as “no shares”.

Chat and the agent

Smaller changes to how a turn ends up in front of you.

Your file opens, not the Files panel

When Justinian produces a document, spreadsheet, or deck, the result opens in a tab instead of leaving you in Files to go find it.

The deliverable matches the request

Justinian is stricter about producing the file you asked for rather than a long inline answer that should have been a file.

Steadier progress display

A slow tool reporting progress no longer renders as a subagent that never finishes starting, and closing a tab mid-answer tears down the stream instead of leaving it running.

Mobile and desktop

Seamless chat and document navigation on the phone — one header, gesture navigation, and a Back button that returns you where you came from. The desktop app and your browser can both stay signed in on the same machine.

Data and retrieval

Justinian is better at knowing, and saying, what it actually has.

Justinian knows what it has

A source-level availability registry backs coverage questions, and Justinian now distinguishes a mapping gap — we have the data, the route was missing — from a genuine coverage gap, so “do you have this?” gets a straight answer.

New one-pass query routes

Common questions resolve in one pass instead of a schema hunt: refinery compliance and enforcement (EPA ECHO), Section 8 REAC inspection scores (HUD), legislative budget office contracts, veteran-owned vendor certifications, school-district chronic absenteeism, and metro-area PM2.5 monitoring.

Permit tables for apps

State environmental permit tables are available to apps built in Justinian.

Tell us what you need

New public-record collection continues on request. Tell us the data you need and we will keep expanding Justinian's brain.

Ready to explore?

I am available now in Justinian 2.2.2. Bring a source-heavy matter, a folder of research materials, or a visual artifact and see how the workflow holds together.

This page’s interactive features did not load. Reloading usually fixes it. You can email sales@vulcan.ai for demos or support@vulcan.ai for help, and download Justinian for macOS or Windows directly.