NIOM ships with a powerful set of tools that the agent uses automatically. Every tool is workspace-aware — file paths resolve relative to the workspace in your config.
| Tool | What it does |
|---|
readFile | Reads the contents of a text file |
writeFile | Creates or overwrites a file |
listDirectory | Lists files and folders with metadata (size, type) |
deleteFile | Deletes a file (requires your approval first) |
All paths resolve relative to your workspace setting.
Shell
| Tool | What it does |
|---|
runCommand | Executes a shell command (30-second timeout) |
Shell commands require approval by default. Read-only commands like ls, cat, and git status auto-execute — NIOM uses dynamic heuristics to tell the difference.
Web search
| Tool | What it does |
|---|
webSearch | Searches the web via Brave API or DuckDuckGo (rate-limited, 2s cooldown) |
fetchUrl | Fetches a URL and extracts readable content (using Mozilla Readability) |
Which search provider?
- DuckDuckGo (default) — no API key needed, works immediately
- Brave Search — faster, richer results. Requires an API key (free tier: 2,000/month)
If both are configured, NIOM tries Brave first and falls back to DuckDuckGo.
System info
| Tool | What it does |
|---|
systemInfo | Reports CPU usage, memory, disk space, platform, and uptime |
Computer use
Screenshots, mouse clicks, keyboard input, scrolling — see the dedicated Computer Use guide.
Any tools from connected MCP servers are dynamically merged with these built-in tools. See MCP Integration.
What needs your approval?
NIOM uses a simple rule: read-only actions run automatically, anything that changes state asks first.
| Tool | Approval needed? |
|---|
readFile, listDirectory, systemInfo | No — read-only |
webSearch, fetchUrl | No — read-only |
writeFile, deleteFile | Yes — modifies files |
runCommand | Dynamic — ls auto-runs, rm asks |
| Computer use actions | Yes — GUI interactions always ask |
When approval is needed, NIOM shows a card in the overlay with the tool name, what it wants to do, and Approve / Deny buttons. Nothing happens until you say so.