nono wraps any command with an OS-level sandbox. You specify what the command is allowed to access, and nono enforces those restrictions at the kernel level.Documentation Index
Fetch the complete documentation index at: https://nono.sh/docs/llms.txt
Use this file to discover all available pages before exploring further.
Your First Sandbox
The
-- separator is recommended. Everything after it is the command to run.Commands
| Command | Description |
|---|---|
nono run | Run a command inside the sandbox (supervised, default) |
nono shell | Start an interactive shell inside the sandbox |
nono wrap | Apply sandbox and exec into command (no parent process, minimal overhead) |
nono ps / attach / detach / stop / inspect / prune | Manage runtime sessions - discover, reattach, inspect, stop, and clean up long-lived sessions |
nono why | Check why a path/network operation would be allowed or denied |
nono rollback | Manage rollback sessions - list, show, restore, verify, cleanup snapshots |
nono audit | View audit trail - list and inspect past supervised sessions, including optional integrity metadata |
nono trust | Manage instruction file trust - sign, verify, and manage attestation |
nono setup | System setup and verification - generate profiles, check shell integration |
Permissions
nono provides three levels of filesystem access:| Flag | Access Level | Use Case |
|---|---|---|
--allow / -a | Read + Write | Working directories, project folders |
--read / -r | Read Only | Source code, configuration |
--write / -w | Write Only | Output directories, logs |
--allow, --read, --write) grant recursive access. File flags (--allow-file, --read-file, --write-file) grant access to a single file.
Network Access
Network is allowed by default. Use--block-net to disable outbound connections:
--network-profile for host-level filtering or --open-port for localhost IPC between sandboxes:
Interactive Shell (nono shell)
Start a shell with the same sandbox permissions as nono run:
Ctrl-D or exit.
Checking Path Access (nono why)
The why command checks if a path or network operation would be allowed or denied. It’s designed for both human debugging and programmatic use by AI agents.
| Flag | Description |
|---|---|
--path | Filesystem path to check |
--op | Operation: read, write, or readwrite (default: read) |
--host | Network host to check (instead of --path) |
--port | Network port (default: 443) |
--json | Output JSON for programmatic use |
--self | Query current sandbox state (inside sandbox) |
nono why --self to get a structured JSON response explaining why and how to fix it.
What Happens at Runtime
- Parse — nono parses your capability flags
- Canonicalize — All paths are resolved to absolute paths (prevents symlink escapes)
- Apply Sandbox — Kernel sandbox is initialized (irreversible)
- Fork & Execute — nono forks a sandboxed child process and runs your command inside it. The unsandboxed parent stays alive for audit recording, rollback, and diagnostics.
- Enforce — Kernel blocks any unauthorized access attempts
Sensitive Paths
The following paths are always blocked by default to protect credentials:~/.ssh- SSH keys~/.aws,~/.gcloud,~/.azure- Cloud credentials~/.gnupg- GPG keys~/.kube,~/.docker- Container credentials~/.zshrc,~/.bashrc,~/.profile- Shell configs (often contain secrets)~/.npmrc,~/.git-credentials- Package manager tokens
nono why --path <path> --op read to check if a specific path is blocked and why. See Profiles & Groups for the full list and how group policy controls these.
Agent Integration
For setting up nono with a specific AI agent:If there is an Agent you want supported please open an issue or PR to add it!
Next Steps
- Developer Workflows - Recommended day-to-day patterns for coding agents
- CLI Reference - Complete flag documentation
- Examples - Common usage patterns
- Session Lifecycle - Live detached sessions, attach/detach, inspection, and stop flows
- Profiles & Groups - Pre-configured capability sets and composable security groups
- Credential Injection - Secure API key loading from system keystore
- Undo & Snapshots - Filesystem snapshots with integrity verification
- Troubleshooting - Common issues and solutions