troupe plane · troupe

What Troupe is

Five pictures and a glossary

Enough to know what you are looking at before you run anything: where your work actually happens, what survives a closed laptop, where the agent stops and waits for you, and what this host keeps about you. Everything here is the short version — this plane's page has the commands.

Where your work actually runs

Your client signs in to the plane, the plane starts a session on a worker pod, and the transcript streams from that pod straight back to you without passing through the plane. your transcript — straight from the pod to you YOU You troupe --remote the app, in a browser THE PLANE The plane who you are, your teams sessions and tokens never your transcript A WORKER POD A worker pod your session runs here Sealed storage only pods hold the keys sign in · where do I run? run it here
The plane is a switchboard, not a middleman. It knows who you are and which pod you may use, and it hands your client an address and a short-lived token. After that your client talks to the pod directly — every message, every file, every command the agent runs goes down that line and never touches this host.

A session outlives your terminal

A session moves between active and dormant: ten minutes idle puts it to sleep, opening it again wakes it with the same transcript, and erasing it destroys its key. Active running, streaming to you Dormant sealed, and waiting Erased key destroyed — gone 10 min idle you ask open it again — from any machine, same transcript
Closing the window does not stop the work. The session is a process on a pod, not a tab: it keeps going while you walk away, and when it has been idle a while it seals itself and sleeps. Open it tomorrow from a different laptop and you are looking at the same transcript from the same place you left it.

Nothing runs past you

Within one turn the agent reads and searches freely, but a tool that writes stops the turn and waits for a person to allow it once, allow it for the session, or deny it. ONE TURN read_file grep edit_file stopped a person must decide Allow this once Allow for this session Deny the agent is told the first answer wins · everyone attached is told who answered
Reading is free; changing things is not. The agent reads, searches and thinks without interrupting you. The moment it wants to write a file or run a shell command it stops that one call and waits — and an unattended session waits too. There is no mode on this server that answers for you.

What we keep, and what we never see

The plane stores a row about each session — who, which team and profile, its state and its cost — while everything the session said and did stays in the pod's sealed log. WHAT THE PLANE KEEPS who started it which team, which profile active, dormant or erased what it cost a row. nothing else. WHAT IT NEVER SEES every message, yours and the model's every tool call and what it returned every file the agent touched the whole transcript, start to end sealed — only pods hold the keys
There is no admin button that shows someone your session. Not a permission that was withheld — there is no method on this platform that returns session content at all. An administrator can see that you ran something, on which profile, and what it cost. What it said is in a log encrypted to keys the plane cannot use.

It never reads your session

The plane holds metadata. The transcript lives in the pod's log and in storage only pods can open.

It never writes where you can't see

Every file change goes through a tool that is either an approval prompt or a durable event in the log.

It never approves its own commands

An unattended session waits for a person, or is configured to deny. There is no server-side "auto".

It never uses your machine unasked

Offering your own tool server takes a second, deliberate confirmation, and everyone on the session sees it.

Signing in

Your client asks the plane which identity provider to use, you log in at that provider with a code, and the plane exchanges what the provider signed for a short-lived token. STEP 1 Your client asks the plane which provider do we use? STEP 2 You log in at your provider a code, in your own browser STEP 3 The plane hands back a token good for fifteen minutes the plane never sees your password — only what your provider signed
One account, your company's. Troupe does not have a password of its own and never asks for one. You sign in where you always sign in; the plane checks the signature and issues a token that expires in a quarter of an hour. Your teams come from the identity provider too — nobody edits membership here.

Words you will meet

Plane
The server your team signs in to. It knows who you are, which teams you are in, and where every session is running. Never what one said.
Team
A group from your company's identity provider that an administrator has enabled here. It carries a budget, a retention period and a list of profiles.
Profile
A kind of worker pod: an image, a model, some tools, some storage. Sessions are created on one. If you only have one, you never have to name it.
Session
One agent working in one directory, with a durable log of everything that happened. Active, dormant, read-only or erased.
Agent
The thing that talks to the model. A session starts with one — build, or plan if you want a proposal first — and it can delegate to others.
Approval
The moment a tool stops and asks. Anyone attached with control rights can answer; the first answer wins and everybody is told who gave it.
Budget
Limits on turns, tokens and wall-clock time, plus your team's money budget. When one is reached the agent stops and says which. It never quietly continues.
Bundle
The configuration a profile's sessions carry — agents, skills and tool servers — published in versions. Your session is pinned to the one current when it started.
Trigger
A scheduled or externally fired job that starts a session on its own. Sessions made this way are flagged for review until somebody looks at them.

Start in one minute

Step one

Get the binary

One executable, nothing alongside it. Ask your administrator where your organisation publishes it.

Step two

Log in, once

troupe login https://troupe.itmindsinternal.dk

A code to type in your browser. A refresh token lands in your config directory; nothing else is stored.

Step three

Give it something to do

troupe --remote run "fix the flaky test"

Or open the app and do the same thing in a browser.

Every command, every endpoint and the full client API are on this plane's own page.