The intelligence above your agents
AI agent control system.
The organisation
Leadership to the floor.
Rank is in the material, not in boxes: the further from the work, the more machine and the more gold.
-
Odin
Orchestration
Holds the goal and the limits, hands out the work, and never reports a cost it does not know as zero.
-
Hugin
Planning
Reads the request, does the research, and hands the builder a plan.
-
Munin
Memory
Recalls what this workspace already knows — once, before the first turn.
-
Thor
Build
The filesystem, the shell, the interpreter — and so, held at the gate.
-
FreyaComing
Create
Making the words, the images and the assets a run needs.
- WorkspacesOne control plane, many workspaces. Keys hashed at rest, shown once.
- DispatchA goal becomes cards. Each card carries the budget ceiling down with it.
- ScoutAgents read public web pages through a guarded door: text only, private addresses refused.
- SettlerAn isolated container per assignment, stopped and retired once the work is answered.
- RunnerRuns on a machine you control and connects out. No port is opened on your side.
- SkaldMemory and skills, so the next run starts where the last one stopped.
- WatchThe scheduler. Wakes the recurring missions on time, whether or not anyone is looking.
The room
This is what you actually get.
One request, one room. The agents hand the work to each other with an @-mention, each in its own isolated terminal, and anything only you can do comes back to you as a single card.
Screens from Valhalla, in Norwegian, rendered with sample data from the product's own browser tests — the address shown is an example. Launching is in beta; see Status.
One mission, end to end
Watch the whole court work.
Odin opens the run and splits it, Hugin does the work, Munin reviews it on a different provider. Then Thor asks to write a file — and stops. Nothing past that point happens until you decide it does.
Illustration: a scripted replay of a governed run, not a recording. The real room is further up.
$0.0000 / $2.00
Audit chain
verify — not run yet
III
Nothing crosses the bridge unseen.
The agent asks. You answer.
In a governed run, anything write-shaped is held, shown to you in full, and waits. In a room you decide once, up front: the mandate sets how long the agents may work, how many terminals they may open and how many times they may launch.
Why it stopped: fs_write is write-shaped, and write-shaped calls are held by policy.
What runs if you approve: exactly this call, once, then the loop continues.
IV
What is carved cannot be uncarved.
Every event carries the hash of the one before it. Change a row months later and every hash after it stops matching.
SEQ 11
tool_call
a41f9c…
SEQ 12
policy_hold
7d20b8…
SEQ 13
approval
0e6fa3…
SEQ 14
tool_result
c519d7…
SEQ 15
tool_result
mismatch
SEQ 16
run_end
unverifiable
GET /runs/{id}/verify — intact
{ "ok": true, "first_broken_seq": null }
GET /runs/{id}/verify — after a row was edited
{ "ok": false, "first_broken_seq": 15 }
V
He is wired into the hall.
The orchestrator holds the goal, opens the runs and keeps the ledger — and never touches your filesystem itself. The power to act is delegated. The power to approve stays with you: per call, or once, as a mandate with limits.
Status
What works today, and what does not yet.
NorseOS is in closed testing. Here is each part, marked plainly.
- LiveRooms with five agentsSjef, Planlegger, Bygg, Kontroll and Minne, each in its own isolated terminal on your Claude Code subscription. In use in production on our own runner.
- LiveAudit hash chainEvery event carries the hash of the one before it, and any run can be verified. Edit a row and the check names the first broken one.
- LiveEmergency stopRagnarok blocks all new work in the workspace and lists what is still running. Only the owner lifts it.
- BetaCodex on your ChatGPT subscriptionIn the image and wired to the credential broker. Real calls through the proxy are not yet proven. Rooms run on Claude Code today.
- BetaAutopilot mandate with limitsYou decide up front: how many days (1–30), how many terminals, whether the agents may launch and how often. Revoke at any time.
- BetaLaunch to a private GitHub repo and RenderThe builder asks; the mandate approves. A credential scan, a new private repository and a free Render service, each step recorded. Not yet proven end to end.
- BetaKontroll checksA separate agent, Kontroll, reviews the build and the launched app. A test gate that holds a launch when tests fail, and a check that the launched address answers, are written and not yet released.
- BetaRoutinesSay it in plain words — “every morning at 8, check the inbox” — and the room keeps it. Each time fires once.
- BetaMemory“Remember that …” goes straight to what every agent is told. “Learn from the room” proposes facts you accept or reject.
- BetaLinear syncIssues become cards and cards push their state back. Built and deployed; not yet connected to a live Linear workspace.
- BetaLocal modelsOllama and LM Studio on your own machine, reached through your runner. Not yet proven against a real model server.
- Beta10 terminals in parallelThe grid holds ten. Today's runner fits four at once; ten needs the second runner, which is planned.
- BetaCompany sign-in (OIDC) and SCIMSingle sign-on per tenant and user provisioning. Built and tested; not yet used with a real identity provider.
- ComingDesktop appBuilt and tested on Windows, macOS and Linux. The installers are not code-signed yet, so we do not hand them out.
- ComingFreya — CreateWords, images and assets for a run. Named, not built.
Checked against the code on 18 October 2026.
Valhalla
One mission. An entire realm.
Open a workspace, point it at your models, and watch the first run write its own record. The key is shown once.
By joining you agree to the Terms and Privacy Policy. We use your address only to answer you about access.
We are testing. Log in is for invited testers while it runs. Leave your address and we will write to you when the next group goes in.
