Permission Modes
Permission modes decide whether an agent has to ask you before it runs a tool — Standard prompts you per call, YOLO auto-allows everything, and you can pick the default in Settings or override it per agent.
How It Works
Section titled “How It Works”Every tool call an agent makes — read or write a file, run a shell command, hit an MCP server — passes through a permission check. The check reads the agent’s current mode and decides whether to prompt you, allow silently, or block. Decisions stick for the rest of the session, so you’re not asked twice for the same thing.
There are two modes. The default for new agents lives in Settings → Agent Defaults; per-agent overrides live in the Permission cell under that agent’s chat composer (see Agent Chat). Overrides apply to the next message and persist on that agent until you change them.
Mode is per-agent — the Chief of Staff, a Dean, and the agents inside one building can each be on a different mode at the same time.
Standard Mode
Section titled “Standard Mode”In Standard mode, every approval-requiring tool call shows up as an inline Permission Request card in the chat transcript. The card lists the tool name, the exact arguments (command, file path, patch), a Show Preview affordance for the full content, and a timer.
You answer with one of three buttons:
- Allow — Approve this single call. The stream resumes; the next call prompts again.
- Allow for
<pattern>— Approve this call and auto-approve future calls matching a generated pattern. For Bash, the first two tokens plus a wildcard (git status *); for Write and Edit, the directory plus**. Persists for the session. - Deny — Block this call. The agent gets a rejection and can try a different approach.
While the card is pending the stream is paused on that tool; clicking any button resumes it immediately. Standard mode is the right default — you get to read what’s about to run, and Allow for pattern keeps prompt cost low for safe, repeated calls.
YOLO Mode
Section titled “YOLO Mode”In YOLO mode, the agent auto-approves every tool call. No prompts, no cards, no pauses — it just runs.
YOLO trades safety for speed. Reasonable when you’re in a sandboxed environment (throwaway worktree, fresh folder, VM), running a long task whose plan you trust, or rerunning a workflow you’ve already vetted in Standard mode.
Warning: YOLO lets the agent write, modify, and delete files anywhere it has access — including outside the project root via additional directories. It can run arbitrary shell commands and call MCP tools without confirmation, including destructive ones (deleting a Linear issue, pushing to a remote, dropping a table). Treat YOLO like running an unverified script: only enable it where the worst-case outcome is acceptable. Not appropriate for agents with access to production systems, personal files, or anything you can’t easily restore.
Where to set the default
Section titled “Where to set the default”The default for every newly created agent lives in Settings → Agent Defaults → Default Permission Mode. Pick Standard or YOLO. Standard is the safer default and what Viberia ships with.
Changing the default only affects agents created after the change; existing agents keep their current mode. To bulk-change every agent in a building, open each chat and flip the Permission cell — or edit the building’s TOML if you authored it through the Building Creation Wizard.
For a one-off override, click the Permission cell below the composer in any agent’s chat, pick a mode, and send the message. The mode sticks on that agent until you change it again.
Full Disk Access on macOS
Section titled “Full Disk Access on macOS”Viberia’s permissions sit on top of the OS’s, not around them. On macOS, agents that read or write files in Downloads, Documents, Desktop, and other protected directories need Full Disk Access granted to the Viberia app at the OS level.
Without it, even an Allow-clicked call fails because macOS itself refuses the operation. The failure surfaces as a tool-call error — usually “permission denied” or “operation not permitted” — which is easy to confuse with a Viberia denial.
To grant Full Disk Access:
- Open Settings → Permissions. The Full Disk Access card shows Granted or Not Granted.
- If not granted, click Open System Settings to jump to the macOS page.
- Enable Viberia in the list.
- Return and click Re-check Status. The indicator flips to Granted once macOS confirms.
You may need to restart Viberia for the change to take effect.
UI Indicators
Section titled “UI Indicators”- Permission cell under the chat composer shows the active mode — Standard or YOLO.
- Permission request card appears inline when a Standard-mode agent requests approval; pulses softly until answered.
- Timer on the card shows elapsed time since the request was raised.
- Status badge on a completed card — Approved, Denied, or Timed out — replaces the buttons after you answer.
- Status dot in the agent’s header turns red when paused on a permission request, distinct from idle / thinking / streaming colors.
- Full Disk Access status in Settings → Permissions shows Granted (green) or Not Granted (amber) with a re-check button.
Use Cases
Section titled “Use Cases”- Review every dangerous call. Keep Standard on for any agent that can write to real project folders.
- Approve a pattern once. Use Allow for
git status *the first time; the rest of the workflow goes through silently. - Speed up a long batch job. Flip one agent to YOLO for a multi-hour task in a sandboxed worktree, then flip back.
- Experiment in isolation. Spin up a scratch project, set its agents to YOLO, and let them iterate without prompts.
- Audit retroactively. Use Standard plus the chat transcript as a literal record of every tool touched.
Limitations
Section titled “Limitations”- YOLO is unsafe by design. The label exists because the trade-off is deliberate — there’s no protection beyond what the underlying CLI provider enforces.
- Pattern approvals don’t survive sessions. “Allow for pattern” rules reset on restart; the next matching call will prompt again.
- Mode overrides aren’t retroactive. Changing an agent’s mode mid-conversation doesn’t change the in-flight reply; it applies from the next message.
- Full Disk Access is required. It governs every file read or write your agents perform outside Viberia’s scratch space.
- Deny isn’t always recoverable. Some agents handle a Deny gracefully and try another path; others treat it as a hard error and stop.