A comprehensive manual on how docs, tools, and agents can format Conduit requests without requiring a live handshake first.
If Conduit is running on your machine, copy the block below and run a clipboard check from Conduit Control. Conduit will detect the request, ask for local review when needed, and then run it locally.
```conduit
{
"v": "1",
"source": { "kind": "docs", "trust": "untrusted" },
"permissions": [{ "kind": "shell" }],
"shell": "echo 'Hello, Conduit World!'"
}
```Once approved, Conduit executes the shell command and places the rendered result directly into your clipboard.
Conduit requests are useful any time a user should execute code locally with clear review and fast feedback. A request can be copied as an exact envelope, rendered as a fenced block, or opened through a conduit:// link.
Without a trusted live session, Conduit does not silently execute. It creates a local one-request review so the user can inspect the source, permissions, and actions first.
Use a single JSON object with stable action IDs. Clipboard-origin requests should be raw JSON or one fenced conduit block, with no extra prose inside the copied block.
{
"schema": "conduit.request.v1",
"source": { "kind": "docs", "trust": "untrusted" },
"permissions": [],
"title": "Show Conduit help",
"actions": [
{ "id": "help", "tool": "conduit.help", "args": {} }
]
}Agents and docs can show a request as a single fenced block. The copied block should contain only the JSON request.
```conduit
{
"schema": "conduit.request.v1",
"source": { "kind": "docs", "trust": "untrusted" },
"permissions": [],
"title": "Show Conduit help",
"actions": [
{ "id": "help", "tool": "conduit.help", "args": {} }
]
}
```For small requests, Conduit accepts a compact dialect. The runtime expands shortcuts into normal tool actions before policy evaluation.
{
"v": "1",
"source": { "kind": "docs", "trust": "untrusted" },
"permissions": [],
"do": "help"
}A web page can launch local review by base64url-encoding the request JSON into a conduit://run?payload=... URL. Conduit opens the request locally and asks the user to review it before execution.
const payload = btoa(JSON.stringify(request))
.replace(/\+/g, "-")
.replace(/\//g, "_")
.replace(/=+$/, "");
const href = "conduit://run?payload=" + payload;A paired session adds a live sessionId and nonce. Conduit validates the nonce before executing and returns a replacement nonce with successful results.
{
"schema": "conduit.request.v1",
"source": { "kind": "chat", "trust": "paired-session" },
"permissions": [
{ "kind": "filesystem", "scope": "project", "access": "read" }
],
"sessionId": "sess_...",
"nonce": "call_...",
"actions": [
{
"id": "list_project",
"tool": "file.list",
"args": { "path": "." }
}
]
}