NetStacksNetStacks

AI Modes: Agent Types & Permission Modes

NetStacks AI has two agent types — Auto Pilot and Overlord — combined with three permission modes (Ask, Auto, Go Nuts) that govern how tool calls execute.

Overview

The NetStacks AI assistant is configured along two independent axes that you pick from the selectors above the chat input:

  • Agent type — which tools the agent can use. There are two: Auto Pilot and Overlord.
  • Permission mode — how tool calls are approved before they run. There are three: Ask, Auto, and Go Nuts.

A third selector picks the LLM provider — see LLM Configuration. The two AI axes below are what determine the agent's behavior and how much it can do without checking with you.

Picking an agent type sets a default permission mode

When you switch agent type, the permission mode resets to that agent's default — auto for Auto Pilot, ask for Overlord. You can then change the permission mode independently.

Agent Types

Both agent types have full access to the NetStacks toolset (config-backup search, device queries, document search, MOPs, topology, MCP servers, and more). The difference is whether they can run arbitrary shell commands and how cautiously they act by default.

Agent typeToolsBash / shellDefault permission mode
Auto PilotAll NetStacks toolsYes — can run shell commands (run_bash)auto
OverlordAll NetStacks toolsNo — run_bash disabled by defaultask

Auto Pilot is the most capable: it can use the full toolset including the bash tool, and it runs autonomously by default. Use it when you want the assistant to gather state and make progress on a multi-step task with minimal interruption.

Overlord has the same tools except the bash tool, and it asks before acting by default. It is the more conservative choice for sensitive environments where you want to approve each step and keep shell access off the table.

Overlord was formerly called Copilot

Earlier builds named this mode Copilot. Settings from those builds (provider, model, and disabled-tool overrides stored under ai.copilot.*) are automatically migrated to ai.overlord.* on first load — no action needed.

Whether the bash tool is available is controlled by per-agent-type disabled-tool lists. Overlord ships with run_bashdisabled out of the box:

settings (defaults)json
{
  "ai.disabledTools.autopilot": [],
  "ai.disabledTools.overlord": ["run_bash"]
}

You can also add extra shell commands to a deny list that applies whenever the bash tool is allowed:

settingsjson
{
  "ai.bash.deniedCommands": ["rm", "shutdown", "reboot"]
}

Permission Modes

The permission mode is the safety dial. It decides, for every tool call the agent wants to make, whether that call runs immediately or waits for your approval. The three modes mirror the model used by Claude Code:

Ask
Approve every tool call before it executes. Nothing runs until you click approve. This is the safest mode and the default for Overlord.
Auto
Read-only commands auto-execute; anything that writes or changes state still needs your approval. This is the default for Auto Pilot — it keeps investigation fast while gating changes.
Go Nuts
Everything auto-executes with no approval prompts. Use this only in lab or low-risk contexts where you trust the agent to run unsupervised.

Internally these modes have the keys ask, auto, and yolo (the “Go Nuts” label maps to yolo).

Go Nuts removes the approval gate

In Go Nuts mode the agent can execute writes and shell commands without asking. Combined with Auto Pilot (which has the bash tool), this lets the assistant act fully autonomously. Reserve it for environments where that is acceptable.

Combining Agent Type and Permission Mode

Agent type and permission mode are orthogonal, so you can mix them. A few common combinations:

Agent typePermission modeBehavior
OverlordAskMaximum caution — no shell, approve every call. Good for production change windows.
Auto PilotAutoDefault for hands-on work — read-only investigation runs freely, writes and shell commands wait for approval.
Auto PilotGo NutsFully autonomous, including shell access. Lab / low-risk only.
OverlordAutoRead-only auto-execution with no shell tool at all — a fast but shell-free investigator.
Configuration changes are always gated by the agent prompt too

Independent of permission mode, the built-in agent prompt instructs the model to never push configuration changes without explicit approval and to start with read-only commands. Permission mode is the mechanical gate; the prompt is the behavioral guardrail.

Prompt Overrides

The core NetStacks system prompt (the platform knowledge and tool instructions) is product IP and is not user-editable. What you can override are the following prompts, each stored under a distinct settings key:

  • Per-agent-type agent prompt ai.mode_prompt.autopilot and ai.mode_prompt.overlord. When set, the override replaces the built-in agent prompt for that agent type. When empty, the built-in default is used.
  • Topology context prompt ai.topology_prompt. Used when the AI reasons about or generates topology.
  • Script-generation prompt ai.script_prompt. Used when the AI generates Python/Jinja2 scripts.

On top of any agent prompt, your editable AI Engineer Profile is appended — that is the recommended place to encode your conventions, vendor mix, and guardrails without replacing the built-in tool instructions.

Legacy troubleshoot key is migrated, not used

A legacy ai.mode_prompt.troubleshoot key exists only so an old custom system prompt can be migrated into the new scheme. There is no separate “Troubleshoot” mode in the current product — only the two agent types above.

An override is just a string saved under its key; clearing the key restores the built-in default. For example, an Overlord agent-prompt override that adds house rules:

ai.mode_prompt.overlord (override)text
## House Rules (Acme NetOps)

You are operating in Acme's production network.
- Our core is Cisco IOS-XR (ASR9K) and Arista EOS in the DC.
- NEVER suggest config changes outside an approved MOP.
- Prefer 'show' commands; always disable paging first.
- When citing a config change, include the backup date and the MOP id.

A topology context prompt override might pin your naming conventions so generated diagrams stay consistent:

ai.topology_prompt (override)text
Site codes are three letters (e.g. SJC, LHR). Spine switches are
named <site>-spine-NN, leaf switches <site>-leaf-NN. Group nodes by
site, then by role (spine, leaf, border). Use AS numbers from device
descriptions when labeling BGP peerings.
Override behavior

Overrides persist and apply on every request that uses the corresponding prompt. The per-agent-type override only affects the agent type you set it on — an Auto Pilot override does not change Overlord, and vice versa.

Q&A

Q: How many AI modes are there?
A: Two axes. Agent type has two values (Auto Pilot, Overlord) and permission mode has three (Ask, Auto, Go Nuts). You combine one of each.
Q: What is the difference between Auto Pilot and Overlord?
A: Both have the full NetStacks toolset. Auto Pilot also has the bash/shell tool and defaults to the auto permission mode. Overlord has the bash tool disabled by default and defaults to ask.
Q: Where did Copilot / Operator / Troubleshoot go?
A: There is no Operator or Troubleshoot mode in the current product. Copilot was the previous name for Overlord; its settings are migrated automatically. A legacy ai.mode_prompt.troubleshoot key exists only for migrating an old custom prompt.
Q: Can the AI run commands without me approving?
A: Only if you let it. In Ask mode every tool call needs approval. In Auto mode read-only commands run automatically but writes still wait. In Go Nuts mode everything runs without approval.
Q: Can I stop the agent from using the shell?
A: Use Overlord (shell disabled by default), or add run_bash to the per-agent-type disabled-tools list. You can also add specific commands to ai.bash.deniedCommands.
Q: Do prompt overrides change which provider is used?
A: No. Overrides only change the instructions. Provider and model are configured in LLM Configuration.
Q: Can I edit the core system prompt?
A: No — the NetStacks platform knowledge and tool instructions are not user-editable. Use the per-agent-type override or your AI Engineer Profile to add your own instructions on top.