3.5 KiB
Status: what works today, and what does not
Kept by hand; each line says where it was checked. "Run" means on a real,
fresh machine. "Tested" means the tests in client-go, which CI runs on Linux.
"Built" means it compiles and passes go vet for that system, and the logic
it shares with Linux is tested there, but it has not run on that system yet.
On its own, with no Host
| Linux | macOS | Windows | |
|---|---|---|---|
| Install for the whole machine from your own account | run (gate) | built | not run |
--just-me, and the fall back where sudo cannot be used |
run | built | not run |
| Every AI agent, by its program or its connection to a model | run | built | built |
| Who started each one (terminal, remote login, schedule, service, another agent) | run | built | built |
| Claude Code: session title, permission mode, what it is running now | tested | read, not checked against the process's start time | read, not checked against the process's start time |
| An agent's folder, git branch and start time | run | not read yet | not read yet |
| Scheduled jobs that start an agent | run (cron) | built (launchd) | built (Task Scheduler) |
| MCP tool servers and their problems | tested | built | built |
| Changes since your baseline | tested | built | built |
Stop an agent with your code, from the console or stop |
run | built | built |
| An agent on the machine asks to stop another, and follows the answer | run (gate) | built | not built (the ask socket is Unix only) |
An agent reads the machine: agents, agents show, activity, doctor, the --json reads |
run | built | not built (no ask pipe) |
The owner answers from their own account: approve, deny, switch, the drops |
run | built | not built (no ask pipe) |
| The installer checks the release's signature | tested | built | not built (install.ps1 checks the digest only) |
| The console from the owner's own account, no sudo | run | built | the tray's approvals window only |
| Activity, report | run | built | built |
uninstall, keeping the audit log |
run | built | built |
| A notice when something is waiting | none yet | none yet | the tray |
Not detected yet
GitHub Copilot, Cursor's editor (Cursor's command-line agent is detected) and
Windsurf: the bastion has no signature for them (agents.go).
Session titles are read for Claude Code only; Codex, opencode, Gemini CLI,
aider and goose sessions show their program, folder and tool servers.
With a Host
Everything in the README's Works with a Host: folders, models, terminals, ops, ship plans, backups, the memory mirror, coder runs and the service slot. Those are tested here and have run with Privatae's own Hosts; this file does not track them line by line.
Not built: pairing over the internet to a control plane you run yourself, and a relay image for one behind a home router.
Known problems
- The bastion agent (folder search, a separate program) keeps the plain text it
extracts from a shared folder's files in
<folder>/.agent, inside the shared folder, where a sync client can copy it, and two grants over the same folder (from two Hosts, say) share that one.agent. The bastion never serves that folder. The fix moves it under the bastion's own state, per pairing and store. - There is no MCP endpoint on the bastion, on purpose. An agent on the machine uses the command line (for agents).