Permissions and workspace scope
Permissions answer whether a requested action may run. They do not establish that the action is correct, necessary, or safe.
Two defaults
Section titled “Two defaults”| Context | Default | Behavior |
|---|---|---|
| Interactive Council | auto | Applies Mjolnir’s interactive Council permission policy and still surfaces requests that need a decision |
Headless --print | manual | Rejects permission requests so an unattended process cannot hang |
Headless modes:
manualrejects all prompts.autoaccepts supported file edit/delete/move prompts but rejects shell execution.yoloaccepts every permission prompt and should only be used inside a disposable, tightly scoped environment.
Legacy names default, acceptEdits, and bypassPermissions remain aliases.
Workspace roots
Section titled “Workspace roots”--cwd is the primary workspace. Repeat --additional-directory (or
--add-dir) to expose more absolute directories:
mj --cwd /work/app --additional-directory /work/sharedAdditional roots widen the filesystem and terminal scope available to Mjolnir-hosted ACP tools. They do not mark content as trusted and do not grant a model blanket permission to change it.
Mjolnir canonicalizes roots and constrains its hosted filesystem and terminal requests to them. Agent-owned tools can have provider- or adapter-owned policy that Mjolnir does not replace. Custom ACP servers inherit the environment and run from the workspace directory.
Nested Council requests
Section titled “Nested Council requests”Thor calls Eitri through a local authenticated MCP server. Nested permission IDs are namespaced so the active Eitri request can be answered without confusing it with Thor’s foreground session. The same identity is preserved through the remote viewer.
Safe automation checklist
Section titled “Safe automation checklist”- Use a disposable repository or
mj --worktreefor evaluation. - Keep
manualfor read-only headless work. - Use
autoonly when file changes are expected and shell execution should stay blocked. - Avoid
yoloon personal or production directories. - Limit additional roots to the minimum required scope.
- Capture
--debug-fileand--agent-stderronly to protected paths; logs can contain repository context even though Mjolnir avoids logging API-key values.
Continue with Data and trust boundaries before connecting private source or exposing remote control.