One point decides everything.
The Aluy CLI is one process in your terminal. It reads and edits files, runs commands, and keeps the session, the memory and your key on your machine. Between the model proposing an action and the action happening there is exactly one function — and no path goes around it.
What happens between enter and the answer.
The !command you type at the prompt is not a shortcut: it builds the same tool proposal and goes through the same decision. Same for subagents, for hooks and for /init.
What it lets through, and what it stops.
The base rule is to deny. What gets through is written in code, not in the prompt — so there is no text that talks the model past it.
goes straight through
Only what reads and changes nothing: read file, grep, glob and list. Plus writing a memory and speaking in a room.
always asks
Running a command, editing and writing a file. And any tool it does not know — including every tool that comes from an MCP server.
denies, does not ask
Reading ~/.ssh, ~/.aws, ~/.gnupg, private keys and certificates. And its own ~/.aluy/ folder — it may neither read it nor write to it.
/permissions panel can only touch two read tools — the rest shows up locked.--yolo returns allow before any of this. Under it the agent reaches its own ~/.aluy/ folder — the MCP config, the hooks, the undo journal and the credential vault. That is a deliberate decision of the mode, not a hole. Everywhere else, that rule holds.
Two halves, with a border the build enforces.
ALUY_AUTO_UPDATE=0.Where each thing lives.
All under ~/.aluy/, readable only by your own user account — no other account on the machine gets in. There is no database anywhere: the memory index is a Markdown file you can open and edit.
session and transcript
One JSON per session, with the blocks of the conversation and what you ran.
undo journal
The previous state of each file, encrypted. The key belongs to the session and dies with the process — undo does not survive a restart.
memory
Markdown: one global, one per project. One fact per line, editable by hand.
credential
In the OS vault, or an encrypted file where there is none — with the key derived from the machine, never written down.
configuration
Theme, model, backend, profile, services. Plus the hooks and the MCP servers, each in its own file.
what you write
Agents, commands, skills, workflows and plugins: .md files you can put in version control.