Skip to main content

Nexus Edge Tools

Nexus Edge tools run on the end-user's desktop via the NexusEdge desktop client, not in the cloud. When the agent calls an edge tool the runtime sends a request down the chat stream to the desktop, which executes the tool locally (file access, printers, browsers, system APIs) and posts the result back.

Who it's for

Builders deploying Nexus agents on the NexusEdge desktop client — IT helpdesk, device support, and any use-case where the agent needs to interact with hardware or the local machine.

Tool types: read-only vs. mutating

Every edge tool is classified as either read-only or mutating in its definition.

TypeExamplesWidget behaviour
Read-onlyGet printers, Print queue, System infoRuns immediately, no prompt
MutatingCancel print job, Restart spooler, Set default printerShows an Allow / Deny gate before running

You can see the classification in Tools → Add Tool → Nexus EDGE → Device: mutating tools are labelled "Mutating — requires user Allow" in the picker.

Approval gate for mutating tools

When the agent calls a mutating edge tool, the widget pauses and shows the user an Allow / Deny prompt. This gives the user explicit control over actions that change state on their machine.

How the timing works:

  1. Server starts a 10-minute decision window. The LLM turn is paused — the user can take their time.
  2. User clicks Allow. The widget sends edge.tool.approved immediately. The server resets the timer to the tool's normal execution timeout (typically a few seconds), so deliberation time does not count against the tool run.
  3. User clicks Deny. The tool resolves with a denial error and the agent continues the conversation.
  4. No response within 10 min. The tool times out and the agent continues with a tool_timeout error.

If a user needs more than 10 minutes to decide (e.g. they stepped away), they can ask the agent to retry — the agent will issue a new tool call and restart the gate.

Parallel dispatch

When an LLM turn calls multiple edge tools at once, the runtime sends all tool-call events to the desktop simultaneously (fan-out), then waits for all results in parallel. Previously tools were dispatched one-by-one.

Practical effect: a turn that calls three read-only tools (printers + print queue + spooler health) now takes as long as the slowest single tool instead of the sum of all three.

Printer test page

The printer.testPrint edge tool generates a diagnostic test page. As of this release it sends plain text (rendered via texttopdf → cups-raster) instead of PostScript. This ensures compatibility with AirPrint-only printers (Brother, some HP models) that do not declare PostScript support in their PPD and previously silently rejected the .ps file.

Screenshots