From install to a rule in force
Memnox comes in three parts, and you can stop after any of them.
The first runs entirely on your machine and needs no account. The second puts that machine under a workspace, so somebody who is not sitting at it can answer an agent and change what it may do. The third reads what your team already settled, in Slack or GitHub, and turns it into rules.
Each part is useful on its own. This page walks all three in the order they build on each other.
What you need
Before you start
A terminal, and Node 22 or newer
An agent you already use
An account, for parts two and three only
Part 1. Govern the agent on your machine
See what your agents can already reach
bashnpx memnoxThis is the whole product's first screen, and it is a reading of your own disk. It names the agents on this machine, the credential files each one can read, and what the authenticated CLIs could do with those credentials: push an image, merge a pull request, publish a package.
It closes with the line that matters, how many of those capabilities can change something outside this laptop and how many of them a rule currently covers. On a fresh machine the second number is zero.
Nothing is sent anywhere and no credential value is ever printed, so this is safe to run on a work laptop before you have decided anything.
Ask where one of them came from
bashmemnox explain ghexplainanswers where a capability came from and what governs it: the credential file behind it, the projects it reaches, and every verb the CLI can run split into read, write and destructive.You can also ask in words.
bashmemnox explain "can claude-code read ~/.ssh/id_ed25519"The answer separates what is technically possible from what your rules allow, which are different questions and usually have different answers.
Write your first rules
bashmemnox protect --for git memnox protect --for ghThis writes
memnox.policies.tomlinto the current directory, one rule set per tool, generated from that tool's own verb table. Destructive verbs are denied, verbs somebody else can see are set to ask, and reads are left alone.The important part is what it does not do. The CLI keeps working. Only reading its credential file is denied, so
ghstill merges pull requests while an agent can no longer copy the token out from under it.Run it for as many tools as you like. Each one adds to the file rather than replacing it.
Try a rule before it bites
bashmemnox policy test "git push --force origin main" memnox policy test "git status"policy testgives the verdict a command would get, without running it. A refusal names the rule, the reason and a way forward.This is the cheapest way to understand a rule you just wrote, and the right place to find out that one is broader than you meant.
Put the seams in place
bashmemnox protect --interceptorsRules decide nothing until something is in the path of the commands. This installs small wrappers into
~/.memnox/bin, which only take effect when that directory comes first onPATH.Nothing on your machine changes yet.
memnox runsets thatPATHfor the agent it starts, and nothing else.memnox setupdoes this for you, with no account and no network, andmemnox statusthen says whether the machine is protected. Running setup twice changes nothing.Start your agent under it
bashmemnox run --task "fix the invoice rounding" -- claudeThis is the recommended way to launch an agent. It sets the environment the agent needs to be governed, opens a session so one piece of work reads as one story, and keeps your working tree first so there is a way back.
--taskis optional and worth writing. It is what everything later compares against when it asks whether the agent went somewhere it was not asked to go.Read what it did
bashmemnox timeline --since 1h memnox whytimelineis one line per action, in order, with the verdict it met.whytakes the last thing that did not simply proceed and explains it: the rule, the file and line it came from, the reason, and what to do instead. It is the command to reach for when an agent tells you it was blocked and you want the other side of the story.Answer it without stopping your work
When a rule says
ask, the agent stops and waits. You can answer from the same terminal, or from any other one.bashmemnox approvals memnox approve <id>The agent carries on the moment you answer.
memnox deny <id>refuses it, and the agent is told which of the two happened rather than being left to guess.Undo a bad afternoon
Before the first write of a session, Memnox keeps your working tree. If the agent makes a mess, one command puts it back.
bashmemnox rewind --list memnox rewindOnly files move. No commit, no branch and no stash is touched, and the state you rewound away from is kept as its own milestone, so a rewind is itself undoable.
That is the whole of the local product. Everything above decides things on its own, with no account and no network.
Part 2. Put the machine under a workspace
A workspace is what lets somebody who is not at this keyboard answer an agent, see what every machine did, and change the rules once for all of them.
Connect the machine and put its agents to work
bashmemnox login memnox setupmemnox loginis the one deliberate step towards the cloud. Setup on its own protects the machine and sends nothing; run after login, it also names each agent in the workspace and puts it there. Local enforcement keeps working when the workspace is unreachable.A code appears in your terminal and a browser page asks you to approve the machine, naming it and the runtime version.
Screenshot
The device approval page, showing the machine name, the code and the runtime version
What you are approving is on the screen before you approve it. One approval covers the machine. Every agent on it still gets its own credential, so revoking one does not silence the others.
Nothing about what an agent may do changes here, and
memnox agents offboardreverses it.On a server with no browser,
memnox login --no-openprints the code and the URL so you can approve it from your phone.--namechooses what the workspace calls this machine.Check what it left running
bashmemnox daemon --statusThe daemon is what pulls your workspace's rules and carries a question up when an agent stops for a person.
setuphands it to the machine so it starts at login; this says whether anything does. Without it the daemon runs only while a terminal is open, which is fine on a laptop and wrong on a server.Screenshot
Console → Machines, with one machine listed, its rules version and its mode
A machine that is reporting says when it was last heard from. Turn it from watching to stopping
A new machine starts in observe, where every rule is matched and the verdict recorded but nothing is refused. When you have read a week of what it would have stopped:
bashmemnox config set mode enforce memnox doctor --wiringdoctor --wiringis the answer to "is Memnox actually gating anything here", and every row that is not right carries the one command that fixes it.From watching it to letting it run is the longer version of this step, and worth reading before you flip it on a machine somebody else uses.
Answer an agent from anywhere
Once a machine is under a workspace, an agent that stops for a person no longer needs that person at its terminal. The question travels up, and the answer comes back.
Screenshot
Console → Waiting on you, one held call with its three answers
Allow once, allow for this run, or refuse. This is what makes an agent on a server answerable rather than only watched.
Part 3. Make rules out of what your team already settled
Your team has already decided most of this, in Slack threads and pull request reviews. This part reads those and proposes them as rules, so you are editing decisions rather than writing policy from nothing.
It reads only, and no agent acts through it.
Connect where your team decides things
Slack, GitHub, Jira, Notion and the rest are connected once, from the console.
Screenshot
Console → Connectors, the catalogue with a system connected
Reading only. This is not how an agent acts, it is how Memnox learns. Pick what it reads inside them
Connecting a system is not the same as pointing at something in it. The second step is choosing the channels and repositories worth reading.
Screenshot
Console → Sources, step two, with one channel and one repository linked
A team reading four channels of one system has connected one thing. Start with one channel where decisions actually get made. More is not better here.
Let the evidence arrive
History is walked in the background, bounded by what your plan keeps. Nothing waits for you to press anything, and the count on the console moves on its own.
Approve the first decision
Memnox proposes what it read your team deciding, with the messages it came from attached.
Screenshot
Console → Waiting on you, one draft under Decisions to confirm with the evidence it was drawn from
Read the evidence, not the summary. Every candidate carries its evidence, so rejecting one costs a glance. A draft governs nothing until somebody approves it, and a machine never promotes its own guess.
Put a rule set in force
Approved decisions become a rule set, and a rule set reaches every machine within a minute of being published.
Screenshot
Console → Autonomy, a proposed rule set awaiting a second approval
The approval names who let them in. A second administrator approves before it publishes, where there is one. On a single seat, every escalation names you.
bashmemnox syncOn any machine, that pulls the new rules immediately rather than waiting for the next heartbeat.
If you want it off
memnox daemon --uninstall
memnox uninstallThat removes the interceptors from PATH, restores every agent config from the
backup taken when it was onboarded, and stops the machine starting the daemon.
It tells you what it did rather than assuming, so read what it prints.

