Working with agents
Talk to an agent, set it a task, or put it in the graph — it is the same agent
A chat is held with one of the workspace's agents, an agent node in a workflow instances that same configuration, and a task is that agent left to work on its own. Same briefing, same tools, same limits, whether somebody is asking or a run is. A bare model is not one of the three: it is an agent with the instructions, skills, tools, grants and memory taken off, and offering it beside them as though it were a peer only ever produced a worse agent.
It fetches only where the installation allows
Whether an agent may make HTTP requests, and to where, is the installation's decision rather than each agent's author's. One switch takes the HTTP tools away from every agent and keeps every grant for when they come back; an allow list lets a request through only when a rule matches the whole address and names the method, and a redirect is a new request that meets the same check. A tester answers whether an address would be allowed and shows the sentence an agent would be told — and an agent asked where it may go asks the policy rather than guessing from the tools it happened to see.
And names only the connections it was given
A grant is an agent's permission to name a connection, and that list is the whole of what it may use — in its briefing, in what it finds when it searches, and in the argument it passes to a plugin's tool. A plugin used to accept any Prometheus or Jenkins the workspace kept; one the agent does not hold is now refused as though it did not exist.
The answer arrives as it is written
The reply streams as the provider writes it, over server-sent events, so a long answer is not a blank screen. A turn that calls tools is settled once the loop ends instead, and eight rounds is where it stops rather than looping on your bill. Stopping one really stops it: the request is aborted and the server hangs up on the provider, so nothing goes on being written and charged for after you have said you are not interested — and what was stopped is not written to the history, because half a sentence attributed to the model is worse than no answer at all.
And it can say the work is done
A turn ends when the agent writes an answer instead of reaching for another tool, which assumes the answer is the prose — and often it is not. An agent answering a Slack mention has already posted its reply, because posting is how a file or a picture reaches somebody; asked for an answer on top of that it either repeats the message or says nothing at all, and nothing at all reads as a failure, which is retried, which posts the whole thing twice. So ending the turn is a tool the agent can call: the step finishes rather than fails, and what it passes — usually nothing, because what was made went somewhere the workflow is not — is what the step answers with. Every agent has it until somebody takes it away, which is for the one whose next node needs a real answer to work with.
It asks another agent, and carries on
An agent granted others can put a question to one and keep working while it is answered. It can ask what each of them holds — its model, tools, skills and connections — so it asks the one with the tool the work needs, and every ask is a session of its own, filed under the one that asked. An agent that ends its turn before the answer comes is not left without it: the answer is delivered to its session and wakes it — a workflow step waits rather than finishing, a chat answers again on its own, a finished task carries on.
And reminds itself
An agent can set itself a reminder — tell me in thirty seconds to check the build — and carry on. When the time is up it is told, with the note it left, the same way an answer from another agent arrives.
It makes what a support desk actually sends
Diagrams in mermaid or PlantUML, bar, line, pie and scatter charts, PDFs laid out from HTML with the charts drawn as vectors, pages built up in scratchpads, and zips packed or unpacked. Each answers with a key rather than a link — the bytes stay in the session's store, and the key is what every tool that sends, uploads or packs a file takes. Skills that say how to use all of it come with the server, and a search inside skills' pages finds the one that says what to do with a key an agent is holding.
It finds the tool it needs
An agent holding more tools than fit in one request is sent the ones marked Always and finds the rest: its briefing lists every tool it has, and it searches them, reads one in full and loads the ones it wants for its next message. Every tool orknux brings itself is a row in the agent's Tools list, with the same Hide, Offer and Always as a workspace's own — so what an agent is offered is one list, complete, rather than a list plus whatever the server adds.
It can drive orknux itself
One switch on an agent lets it ask this installation about its own workspace — the workflows, the runs, the agents — and start a workflow, which really runs it. It is not one of the workspace's MCP servers, because there is nothing to register: it is the application the agent is already inside. Off until somebody turns it on, and turning it on is written to the audit log.
Or run commands on a machine
A second switch, Shells, lets an agent open a session on a machine an administrator has configured, run commands in a working directory of its own on it, and close it — which destroys that directory. It is plural because the question from where the agent sits is whether it may run a command somewhere, not whether it may run one on build-box-3. Nothing here decides which commands are safe: there is no denylist, because a list that is nearly right tells an administrator they are protected. Every command is in the audit log under the agent's own name.
Or drive it from outside
The same tools are served over MCP at one address per workspace, for an agent running on a laptop, in an editor or in another product. It authenticates the way everything else here does — a session, or an access token — and what it may see is what you may see, on the same workspace. Being reachable by an agent grants nothing extra.