Skip to content

fabric CLI reference

Every command and flag, generated from the cobra command tree. Commands are grouped the same way fabric --help groups them.

Agent-Fabric — your agents, your devices, your cloud. One private network.

fabric is the builder CLI for Agent-Fabric: managed trust and connectivity for customer-owned AI and edge systems. Build the AI. We make it reachable.

New here? Run fabric quickstart — it connects this machine, publishes a local AI model, and shows how to call it privately, in one flow. The natural sequence: login → up → serve → grant → try / resolve → status / doctor

fabric
flagdefaultdescription
--verbosefalseverbose debug logging

Connect this machine, publish a local AI model, and show how to call it — in one flow

The whole product in one command. quickstart:

  1. checks you’re signed in,
  2. puts this machine on your private mesh (enrolls it),
  3. finds a local model server (Ollama, vLLM, …),
  4. publishes it as a private, capability-gated service,
  5. shows the two commands to call it from any other machine.

No public port is opened. Re-run it any time — it’s idempotent.

fabric quickstart

Examples:

Terminal window
fabric quickstart

Show this node’s mesh status (host+mesh health snapshot; —json for agents)

fabric status [flags]

Examples:

Terminal window
fabric status
fabric status --json
flagdefaultdescription
--jsonfalseemit the snapshot as a structured JSON digest (for agents/automation)

Connect this machine to your private network (login + join + readiness)

The first-run command. Ensures you’re signed in (device flow), joins this machine to a network, and reports readiness. uplogin (just auth). Bring up the WireGuard tunnel with the node agent (afd), which up guides.

fabric up [flags]

Examples:

Terminal window
fabric up
fabric up --network home --name laptop
sudo -E fabric up # also brings the encrypted tunnel up
flagdefaultdescription
--create-networkfalsecreate the network if it doesn’t exist
--jsonfalsealso print a JSON result line
--namenode name (default: hostname)
--networknetwork name or id to join

Disconnect this machine from the fabric (keeps your login + identity)

fabric down

Mint a capability token for a private resource (e.g. mcp://local-files)

Mint a short-lived, scoped capability token that lets someone reach one private resource through the gateway — nothing else, and only until it expires. Give the token to a teammate or paste it into fabric resolve. Revoke reach by letting it expire (default 10m) rather than reconfiguring the service.

fabric grant [resource] [flags]

Examples:

Terminal window
fabric grant mcp://local-files --action read --ttl 30m
flagdefaultdescription
--actionreadgranted action
--jsonfalseJSON output
--ttl10m0stoken lifetime

Print this node’s overlay IP (or another node’s with —name)

fabric ip [flags]
flagdefaultdescription
--jsonfalseJSON output
--nameprint a specific node’s overlay IP

Join this machine to a network as a node

Enroll this device: generate a WireGuard keypair, register the public key, receive an overlay IP, and fetch the signed peer map. The private key stays on this machine — the control plane never sees it.

fabric join [flags]
flagdefaultdescription
--namenode name (default: hostname)
--networknetwork id to join (default: current network)

List private node/service names from the signed netmap

fabric names [flags]
flagdefaultdescription
--jsonfalseJSON output

Ping a peer over the overlay and show the path (direct/relay)

fabric ping [name] [flags]
flagdefaultdescription
--networknetwork the peer is on (name or id; default: current)

Resolve a private service through the gateway using a capability

Exchange a capability token (from fabric grant) for the live coordinates of a private service — the node it runs on and the address to reach it over the mesh. The gateway enforces the capability, so a resolve without a valid token is refused.

fabric resolve [service] [flags]

Examples:

Terminal window
fabric resolve local-files --action read --cap <token>
flagdefaultdescription
--actionreadrequested action
--capcapability token from fabric grant
--jsonfalseJSON output

Publish a local service to your private network

Publish a locally-running service — an LLM/MCP/A2A endpoint or a TCP port — into your private mesh as an addressable service. The control plane brokers reachability and capabilities; your traffic stays peer-to-peer (it never sees prompts or outputs).

Friendly framing of fabric service add. Kinds: llm, mcp, a2a, router, endpoint, tcp.

Example: fabric serve http://127.0.0.1:11434 —name mac-ollama —kind llm

fabric serve <local-addr> [flags]
flagdefaultdescription
--kindllmservice kind: llm
--nameservice name (required), e.g. mac-ollama
--scopecapability scope required to reach it

Manage private services on the mesh

fabric service

Register a private service (mcp://… or a2a://…)

fabric service add [uri]

Show details for a private service (by name or private name)

fabric service inspect [name]

List private services on the current network

fabric service list [flags]
flagdefaultdescription
--jsonfalseJSON output

Remove a service published from this node

fabric service remove [name]

Test reachability of a private service

fabric service test [name] [flags]
flagdefaultdescription
--timeout3sdial timeout

Prove a published service works — mint access, call it, show the gate

Show the result, not just the setup. try mints a short-lived capability for a service you published, has the control plane’s gateway authorize it, proves the same request is refused without a token, and — for a model — makes one real call so you see it answer. It’s the fastest way to see (and show) what your private AI now does.

fabric try <service> [flags]

Examples:

Terminal window
fabric try local-model
fabric try local-files --action read
flagdefaultdescription
--actioncapability action to request (default: the kind’s action)
--promptReply in one short sentence: are you reachable over the private mesh?prompt to send a model service

Wait until this node is ready (ip, netmap, control)

Exit 0 once the requested readiness signals hold, else fail at —timeout. Signals: ip (overlay IP assigned), netmap (signed map accepted), control (control plane reachable). Default: ip,netmap.

fabric wait [flags]
flagdefaultdescription
--for[ip,netmap]signals to wait for: ip,netmap,control
--timeout30smaximum time to wait

Resolve an overlay IP or private name to its node/service (defaults to this node)

fabric whois [ip|private-name] [flags]
flagdefaultdescription
--jsonfalseJSON output

Agent runtime recipes and local supervisor

fabric agent

Register an agent runtime recipe

fabric agent add [name]

Attach an existing localhost OpenAI-compatible endpoint

Persist an externally managed model server in Fabric’s local runtime state.

Attach is the preferred MVP path for macOS Apple Silicon, Windows, WSL2, native Ollama, vLLM-Metal, or any OpenAI-compatible server you started yourself. Fabric verifies the endpoint and records enough metadata for smoke tests, loop sessions, Local Console, and optional mesh service registration.

fabric agent attach [name] [flags]

Examples:

Terminal window
# Attach native Ollama running on the default localhost port.
fabric agent attach mac-ollama \
--url http://127.0.0.1:11434/v1 \
--model llama3.2:latest
# Attach an OpenAI-compatible vLLM endpoint.
fabric agent attach existing-vllm \
--url http://127.0.0.1:18000/v1 \
--model qwen2.5-0.5b
# Attach and register the LLM service on the current joined mesh node.
fabric agent attach gpu-vllm \
--url http://127.0.0.1:18000/v1 \
--model qwen2.5-0.5b \
--register
flagdefaultdescription
--health-urloptional health URL (default: /models)
--modelserved model name
--registerfalseregister the attached llm service on the current mesh node
--urlOpenAI-compatible localhost base URL, e.g. http://127.0.0.1:18000/v1

Discover reachable localhost OpenAI-compatible model endpoints

Probe common localhost model-server ports without starting or modifying anything.

Discovery checks native Ollama and OpenAI-compatible endpoints such as vLLM. When a server is reachable, Fabric prints the default model and an attach command you can copy. Unreachable targets are hidden by default; use —all while debugging a local setup.

fabric agent discover [flags]

Examples:

Terminal window
# Show reachable model servers and suggested attach commands.
fabric agent discover
# Include failed probe targets to debug ports or server startup.
fabric agent discover --all
# Emit machine-readable discovery results.
fabric agent discover --json
flagdefaultdescription
--allfalseinclude unreachable probe targets
--jsonfalseprint JSON
--timeout5sdiscovery timeout

Run local runtime preflight checks

Check whether this host can run Fabric-managed local AI runtimes.

Linux hosts are checked for Docker, NVIDIA tooling, and GPU visibility for managed Docker profiles. macOS Apple Silicon and Windows are attach-first in the MVP, so doctor points you toward native local servers instead of reporting missing NVIDIA tooling as a hard failure.

fabric agent doctor

Examples:

Terminal window
# Check the current host before starting managed profiles.
fabric agent doctor
# macOS/Windows next step after doctor:
fabric agent discover

Run an A2A agent that answers this node’s mesh status/doctor/connectivity to peers

Expose this node’s deterministic mesh diagnostics to peer AGENTS over A2A. A peer agent sends a message (“status” | “doctor” | “connectivity”) and receives the same JSON digest the CLI renders — no shell access to this node required.

Publish it on the mesh — in another terminal: fabric serve —kind a2a —name mesh-introspect then a peer reaches it (capability-scoped) through the gateway.

fabric agent introspect [flags]
flagdefaultdescription
--addr127.0.0.1:7777loopback address to bind the A2A introspection agent

Show logs for a Fabric-managed Docker runtime

Read recent Docker logs for a Fabric-managed runtime.

Logs are available for managed Docker profiles. For attached native endpoints, use the runtime’s own logging mechanism, such as the Ollama app, systemd, Docker, or your terminal.

fabric agent logs [name] [flags]

Examples:

Terminal window
# Show the last 120 log lines.
fabric agent logs dev-vllm
# Show more lines while debugging model load or readiness.
fabric agent logs dev-vllm --tail 500
flagdefaultdescription
--tail120number of log lines

Run or resume a local long-running agent loop

Run a session-backed local loop against an attached or managed runtime.

The loop is coordinated by aflocal, so start aflocal before running this command. Fabric records each step as a local event and checkpoint, polls for cancellation, retries transient step failures with backoff, and can compact/redact older local context. Prompts and outputs stay in the local session store under ~/.fabric; they are not sent to the Fabric cloud.

fabric agent loop [runtime] [flags]

Examples:

Terminal window
# Terminal 1: start the Local Console backend.
aflocal
# Terminal 2: run three local loop steps.
fabric agent loop mac-ollama \
--steps 3 \
--prompt "Continue the local maintenance task and report concise progress." \
--redact
# Resume the same session from its last loop-step checkpoint.
fabric agent loop mac-ollama --session sess_abc123 --steps 3
# Use a non-default aflocal URL, useful in tests or multiple local instances.
fabric agent loop mac-ollama --local-url http://127.0.0.1:13210 --steps 1 --json
flagdefaultdescription
--compact-every5compact every N completed steps
--jsonfalseprint JSON
--keep-last-events20events to keep visible during compaction
--local-urlhttp://127.0.0.1:3210Local Console URL
--max-retries2retries per step
--promptloop goal prompt
--redactfalseredact compacted local event/checkpoint payloads
--retry-backoff750msbase retry backoff
--sessionexisting local session id to resume
--steps5number of loop steps to run
--timeout10m0soverall loop timeout
--titlenew session title

Measure the round-trip to an agent service over the mesh (MCP/A2A)

Time a real agent-protocol call to a private service — MCP tools/list or the A2A agent card — through the authorizing gateway. Reports whether it answered, the round-trip latency, what it exposes, and the live tunnel path (direct/relay). Needs a capability (fabric grant) and a running local gateway (fabric gateway proxy).

fabric agent reach [service] [flags]

Examples:

Terminal window
fabric agent reach mesh-introspect --cap <token>
flagdefaultdescription
--actiontools/listaction to authorize (JSON-RPC method for MCP)
--capcapability token from fabric grant
--gatewayhttp://127.0.0.1:7777local gateway proxy URL
--jsonfalseJSON output

Run a composed agent on a task (uses its model, instructions and tools)

Run one reason→act pass for an agent you composed in the Local Console: it uses the agent’s model runtime and instructions, and can call the MCP tools wired to it — the tool calls are executed for it and fed back. Needs aflocal running. The agent is named or referenced by id.

fabric agent run [agent] [flags]

Examples:

Terminal window
fabric agent run researcher --prompt "summarize today's local notes"
flagdefaultdescription
--jsonfalseJSON output
--local-urlLocal Console URL (default: http://127.0.0.1:3210)
--max-rounds0max tool rounds (default: server default)
--promptthe task for the agent

Inspect and control local agent sessions

Inspect and control sessions stored by the Local Agent Stack.

Sessions contain local-only events and checkpoints from smoke tests, loop runs, and future agent/tool workflows. Use these commands to observe progress, follow live updates, cancel a running loop, compact old context, or collect JSON for a local UI or script.

fabric agent session

Examples:

Terminal window
fabric agent session list
fabric agent session show sess_abc123
fabric agent session follow sess_abc123
fabric agent session cancel sess_abc123
fabric agent session compact sess_abc123 --redact-events --redact-checkpoints

Cancel a local agent session

Mark a local session as cancelled.

Running loops poll the session status before each step and during retry backoff, so cancel is observed without killing aflocal. A cancelled session is intentionally not reused; create a new session or resume one that is not cancelled.

fabric agent session cancel [session-id] [flags]

Examples:

Terminal window
# Cancel an in-progress local loop.
fabric agent session cancel sess_abc123
# JSON output for automation.
fabric agent session cancel sess_abc123 --json
flagdefaultdescription
--jsonfalseprint JSON
--local-urlhttp://127.0.0.1:3210Local Console URL

Compact local session context

Create a local compaction checkpoint and optionally redact older local payloads.

Compaction keeps recent events visible and records a summary checkpoint. With redaction flags, older event contents and checkpoint states are replaced locally. This helps long-running agent sessions stay inspectable without leaving all prompts and outputs in the visible tail.

fabric agent session compact [session-id] [flags]

Examples:

Terminal window
# Add a summary checkpoint but keep payloads visible.
fabric agent session compact sess_abc123 \
--summary "Completed environment setup; next step is validation"
# Keep the latest 20 events and redact older event/checkpoint payloads.
fabric agent session compact sess_abc123 \
--summary "Compacted completed setup work" \
--keep-last-events 20 \
--redact-events \
--redact-checkpoints
flagdefaultdescription
--jsonfalseprint JSON
--keep-last-events20events to keep visible
--local-urlhttp://127.0.0.1:3210Local Console URL
--reasonmanual compactionredaction reason
--redact-checkpointsfalseredact checkpoint states
--redact-eventsfalseredact compacted event contents
--summaryManual local compactionsummary stored in the compaction checkpoint

Follow live local session updates

Open the local session SSE stream and print live updates.

Follow first replays stored session, event, and checkpoint frames, then keeps the connection open for new updates. It is useful while another terminal runs fabric agent loop. Stop it with Ctrl-C.

fabric agent session follow [session-id] [flags]

Examples:

Terminal window
# Terminal 1: watch a session.
fabric agent session follow sess_abc123
# Terminal 2: resume work and watch updates appear in terminal 1.
fabric agent loop mac-ollama --session sess_abc123 --steps 5
flagdefaultdescription
--local-urlhttp://127.0.0.1:3210Local Console URL

List local agent sessions

List sessions stored by aflocal under ~/.fabric/sessions.

The table shows status, runtime, model, event count, checkpoint count, update time, and title. Use the session id with show, follow, cancel, compact, or agent loop —session.

fabric agent session list [flags]

Examples:

Terminal window
# Human-readable table.
fabric agent session list
# JSON for scripts or a local UI.
fabric agent session list --json
flagdefaultdescription
--jsonfalseprint JSON
--local-urlhttp://127.0.0.1:3210Local Console URL

Show a local agent session

Show session metadata plus recent events and checkpoints.

Use —tail to control how many recent events and checkpoints are printed. Use —json when you need full event metadata, checkpoint state, or exact timestamps for debugging.

fabric agent session show [session-id] [flags]

Examples:

Terminal window
# Show the default recent event/checkpoint tail.
fabric agent session show sess_abc123
# Show more local history.
fabric agent session show sess_abc123 --tail 50
# Dump full structured detail.
fabric agent session show sess_abc123 --json
flagdefaultdescription
--jsonfalseprint JSON
--local-urlhttp://127.0.0.1:3210Local Console URL
--tail10events/checkpoints to show

Run workload smoke and optional model-server capability checks

Verify that an attached or managed runtime is usable for local agent workflows.

Required checks cover streaming, multi-turn recall, local memory injection, and durable loop checkpoint behavior. Optional capability checks record support for /v1/models, JSON mode, tool/function calling, embeddings, and /v1/responses without failing the command when a model server simply does not implement an optional feature.

fabric agent smoke [name] [flags]

Examples:

Terminal window
# Run the default smoke suite against an attached Ollama runtime.
fabric agent smoke mac-ollama
# Run more durable loop iterations.
fabric agent smoke dev-vllm --loops 5 --timeout 5m
# A good operator flow after smoke passes:
fabric agent loop dev-vllm --steps 3
flagdefaultdescription
--loops3durable loop iterations
--timeout3m0ssmoke timeout

Start a known local AI runtime profile

Start a known, audited local runtime profile. MVP managed start is Linux/NVIDIA Docker-first: vllm-docker and ollama-docker. On macOS Apple Silicon or Windows, run a native local server (Ollama, MLX/vLLM-Metal, WSL2, etc.) and attach it. Fabric does not vendor model servers or weights.

Use start when Fabric should own the Docker container lifecycle on this host. Use attach when a model server is already running or when the platform is not Linux/NVIDIA Docker.

fabric agent start [flags]

Examples:

Terminal window
# Start a vLLM Docker profile on a Linux/NVIDIA host.
fabric agent start --runtime vllm-docker --name dev-vllm
# Start vLLM with an explicit Hugging Face model and served OpenAI model name.
fabric agent start \
--runtime vllm-docker \
--name qwen-dev \
--model Qwen/Qwen2.5-0.5B-Instruct \
--served-model qwen2.5-0.5b \
--port 18000
# Start Ollama in Docker and register the resulting LLM service on the mesh.
fabric agent start --runtime ollama-docker --name dev-ollama --register
flagdefaultdescription
--modelmodel to load or pull (default depends on runtime)
--namelocal runtime name
--port0localhost port (default depends on runtime)
--pulltruepull the model when the runtime supports it
--registerfalseregister the resulting llm service on the current mesh node
--runtimevllm-dockerruntime profile: vllm-docker
--served-modelOpenAI-compatible served model name (vLLM)
--wait4m0sreadiness timeout

Show local Fabric-managed or attached runtimes

List runtime records stored under ~/.fabric/runtimes.

The table includes both Fabric-managed Docker profiles and externally managed endpoints attached with fabric agent attach. This is the fastest way to confirm the runtime name to use with smoke, loop, logs, stop, or Local Console API calls.

fabric agent status [flags]

Examples:

Terminal window
fabric agent status
# Typical next steps:
fabric agent smoke mac-ollama --loops 3
fabric agent loop mac-ollama --steps 3
flagdefaultdescription
--jsonfalseprint JSON

Stop a Fabric-managed runtime or detach an external endpoint

Stop a Fabric-managed Docker runtime, or remove an attached external endpoint from local state.

For attached native runtimes, Fabric does not stop the real server process; it only detaches the runtime record. Stop Ollama, vLLM, or other native servers with their own tools.

fabric agent stop [name]

Examples:

Terminal window
# Stop a Fabric-managed Docker profile.
fabric agent stop dev-vllm
# Detach a native/external endpoint from Fabric local state.
fabric agent stop mac-ollama

Open a remote node’s Local Console; manage console access (ACL)

fabric console

Grant a subject access to a node’s Local Console (zero-trust ACL)

Author an ACL grant: (the grantee’s identity) may open ‘s console. Use the node name or id, or ”*” for every node in the network. Without a grant, remote console access is denied (default-deny).

fabric console grant [subject] [node] [flags]
flagdefaultdescription
--ttl0sgrant expiry (e.g. 24h; 0 = no expiry)

List console access grants (the ACL) for the current network

fabric console grants

Open a remote node’s Local Console over the private network

fabric console open [node] [flags]
flagdefaultdescription
--no-openfalseprint the URL without opening a browser

Revoke a subject’s console access to a node

fabric console revoke [subject] [node]

Find and size local-runnable models (Hugging Face catalog)

fabric models

Pull the right quant for your GPU via Ollama, then publish it privately

One command from a Hugging Face model id to a running, private service: we pick the quantization that fits your GPU (override with —quant), pull it via Ollama’s Hugging Face passthrough, then attach + publish it on your mesh. Needs a running Ollama (ollama serve) and aflocal for the publish step.

fabric models pull [model-id] [flags]

Examples:

Terminal window
fabric models pull Qwen/Qwen2.5-7B-Instruct-GGUF
fabric models pull unsloth/gemma-2-9b-it-GGUF --quant Q4_K_M
flagdefaultdescription
--nameservice name to publish as (default: derived from the model id)
--no-publishfalsepull only; don’t attach/publish on the mesh
--no-smokefalseskip the post-pull health check (also: AF_MODEL_SMOKE=off)
--ollama-urlOllama base URL (default: http://127.0.0.1:11434 or $AF_OLLAMA_URL)
--quantquantization to pull (default: the best that fits your GPU)
--vram0GPU VRAM in GB (default: auto-detect via aflocal)
--yesfalsepull even a low-trust model (skip the supply-chain gate)

Search trending models that run locally, sized to your GPU

fabric models search [query] [flags]

Examples:

Terminal window
fabric models search qwen2.5
fabric models search llama --sort recent --json
flagdefaultdescription
--allfalseinclude models without local (GGUF) weights
--jsonfalseJSON output
--limit15max results
--sorttrendingtrending
--vram0GPU VRAM in GB to size against (default: auto-detect via aflocal)

Show a model’s quantizations and which one we’d run on your GPU

fabric models show [model-id] [flags]

Examples:

Terminal window
fabric models show bartowski/Qwen2.5-7B-Instruct-GGUF
flagdefaultdescription
--jsonfalseJSON output
--vram0GPU VRAM in GB (default: auto-detect via aflocal)

Open the Local Console for this machine

Open the localhost Local Console served by aflocal.

Start aflocal first if it is not already running. The Local Console is loopback-only and manages this node’s AI runtimes, sessions, hardware, diagnostics, and private names.

fabric web [flags]
flagdefaultdescription
--addr127.0.0.1:3210Local Console listen address
--local-urlhttp://127.0.0.1:3210Local Console URL
--no-openfalsecheck and print the URL without opening a browser

Authenticate to Agent-Fabric (org/human identity)

Authenticate to Agent-Fabric.

With no flags, runs the browser device flow (RFC 8628): the CLI shows a code you approve at the control plane’s app — works on servers/containers with no local browser.

—token store a real Cognito ID token (AWS mode), no device flow.

fabric login [flags]
flagdefaultdescription
--tokenraw Cognito ID token (AWS mode)

Clear the local Agent-Fabric session

Clear the local session (token + refresh). By default the device identity — the WireGuard private key and machine-key seed — is KEPT so you can sign back in without re-enrolling. Use —purge to also erase the device identity from this machine (e.g. before handing it off); revoking the device in the console is still the way to invalidate it server-side.

fabric logout [flags]
flagdefaultdescription
--purgefalsealso erase the local device identity (WireGuard key + machine seed)

Manage private overlay networks

fabric network

Create a new private network

fabric network create [name]

Delete an empty network (by name or id)

Delete a network you own. The network must be empty — remove its nodes first. This cannot be undone.

fabric network delete [network] [flags]
flagdefaultdescription
--yesfalseskip the confirmation prompt

List your networks

fabric network list [flags]
flagdefaultdescription
--jsonfalseJSON output

Delete empty networks (no machines) — explicit cleanup, with confirmation

Find networks that have no machines and delete them, so stale networks left over from testing don’t pile up. Networks that still have machines are never touched, and nothing is deleted without your confirmation (or —yes). This never runs automatically — it’s the manual counterpart to the ‘idle’ state shown by fabric network list.

fabric network prune [flags]
flagdefaultdescription
--yesfalseskip the confirmation prompt

Rename a network (by name or id)

fabric network rename [network] [new-name]

Manage nodes on the current network

fabric node

List nodes on a network (default: current; —network for any you own)

fabric node list [flags]
flagdefaultdescription
--jsonfalseJSON output
--networknetwork name or id (default: the joined one)

Remove a node from a network (revokes its access)

Revoke a node’s membership. It loses access immediately; reconnect it later with fabric up. Removing this machine’s own node disconnects it. Use —network to remove a node from a network you own without being joined to it (e.g. clearing a stale registration after a local reset).

fabric node remove [name] [flags]
flagdefaultdescription
--networknetwork name or id (default: the joined one)
--yesfalseskip the confirmation prompt

Rename a node (keeps its overlay IP)

fabric node rename [current-name] [new-name] [flags]
flagdefaultdescription
--networknetwork the node is on (name or id; default: current)

Permanently revoke a node’s device identity (lost/stolen device)

Revoke removes the node AND blacklists its device (machine) identity, so a lost or stolen device — whose holder still has the machine key — can NEVER re-enroll in this org. Use node remove for a normal removal the device can undo by reconnecting; revoke is permanent for that device key.

fabric node revoke [name] [flags]
flagdefaultdescription
--networknetwork the node is on (name or id; default: current)
--yesfalseskip confirmation

Show details for a node

fabric node show [name]

List nodes on the current network

fabric nodes

Show this workspace’s metered usage (relay egress, api, node-hours)

fabric usage [flags]
flagdefaultdescription
--jsonfalseemit usage as JSON

Show the current identity: workspace, plan, control plane, node

fabric whoami [flags]
flagdefaultdescription
--jsonfalseJSON output

Manage your workspace: name, members, invitations

fabric workspace

Invite a teammate by email

Invite a teammate to the workspace. They appear as a pending member until an accept flow lands. Role is member (default) or admin.

fabric workspace invite [email] [flags]
flagdefaultdescription
--rolemembermember or admin

List workspace members and pending invitations

fabric workspace members

Rename the workspace

fabric workspace rename [name]

Revoke a pending invitation

fabric workspace revoke [invitation-id] [flags]
flagdefaultdescription
--yesfalseskip the confirmation prompt

Show the current workspace (name, plan, owner)

fabric workspace show

Generate a privacy-safe support bundle (no prompts, outputs, tokens, or keys)

Collect just enough metadata to debug join/runtime/connectivity issues — version, OS/arch, control host, org/network/node ids, the signed netmap generation/entitlement/peer+service counts, and the observe-engine diagnostics (doctor/status/connectivity verdicts). It NEVER includes tokens, keys, prompts, model outputs, or session content.

fabric bugreport [flags]
flagdefaultdescription
--outputwrite the bundle to a file instead of stdout

Inspect or rotate the pinned control-plane verify key (trust anchor)

fabric control-key

Pin the key the control plane currently serves (after a legitimate rotation)

fabric control-key repin [flags]
flagdefaultdescription
--yesfalseskip the confirmation prompt (for automation)

Show the pinned control key and whether it matches the server

fabric control-key show

Diagnose local setup: config, identity, keystore, control plane, node (—json for agents)

fabric doctor [flags]

Examples:

Terminal window
fabric doctor
fabric doctor --json
flagdefaultdescription
--jsonfalseemit the report as a structured JSON digest (for agents/automation)

Deterministic host snapshot: os, cpu/load, memory, disk, network (—json for agents)

A deterministic host snapshot — OS/kernel, CPU + load average, memory, the root filesystem, and up network interfaces — gathered from machine-readable sources. An agent reads it in one call instead of running uname/df/ip/free across turns.

fabric host [flags]
flagdefaultdescription
--jsonfalseemit the snapshot as a structured JSON digest (for agents/automation)

Diagnose mesh connectivity: control, netmap, relay, NAT, and per-peer path (—json for agents)

fabric netcheck [flags]

Examples:

Terminal window
fabric netcheck
fabric netcheck --json
flagdefaultdescription
--jsonfalseemit the diagnosis as a structured JSON digest (for agents/automation)

Agent workspaces (agent + model + tool services)

fabric agent-workspace

Create an agent workspace

fabric agent-workspace create [flags]
flagdefaultdescription
--nameworkspace name
--networknetwork id
--purposepurpose, e.g. research

List agent workspaces

fabric agent-workspace list

Run the structural smoke test

fabric agent-workspace smoke-test <workspace-id>

Customer environments (VPC/on-prem)

fabric customer-env

Represent a customer environment

fabric customer-env create [flags]
flagdefaultdescription
--customercustomer name
--nameenvironment name
--regionregion
--typeaws_vpcenvironment type

List customer environments

fabric customer-env list

Run the trust-boundary + readiness check

fabric customer-env preflight <env-id>

Delivery projects (AI-SI customer deliveries)

fabric delivery

Export the handoff document (markdown)

fabric delivery handoff <project-id>

Initialize a delivery project

fabric delivery init [flags]
flagdefaultdescription
--customercustomer name
--nameproject name
--stagepilotstage: pilot

List delivery projects

fabric delivery list

OpenAI-compatible endpoint recipes

fabric endpoint

OpenAI-compatible endpoint recipes

fabric endpoint add [name]

Run the local agent-protocol gateway

fabric gateway

Run the local gateway: forward authorized MCP/A2A calls over the mesh

fabric gateway proxy [flags]
flagdefaultdescription
--listen127.0.0.1:7777local listen address (loopback by default)

Private GPU workspaces (team model endpoints)

fabric gpu-workspace

Register a GPU node as a team model endpoint

fabric gpu-workspace create [flags]
flagdefaultdescription
--nameworkspace name
--nodeGPU node id

Detect the node’s GPU/runtime capabilities

fabric gpu-workspace detect <workspace-id>

List GPU workspaces

fabric gpu-workspace list

Remotely publish a loopback model service on the GPU node (APPLY_RECIPE)

fabric gpu-workspace publish <workspace-id> [flags]
flagdefaultdescription
--addrlocal address, e.g. 127.0.0.1:11434 (loopback only)
--kindllmmodel kind: llm
--nameservice name (dns-safe)

Local LLM runtime recipes

fabric llm

Local LLM runtime recipes

fabric llm init [name]

Run a local MCP server exposing the mesh digests (status, connectivity, doctor, host) as tools

Expose fabric’s deterministic mesh diagnostics to an LLM agent over MCP (stdio).

Tools: mesh_status host+mesh health snapshot (node, control, entitlement, tunnel, relay, peers) mesh_connectivity path diagnosis (control → netmap → relay → NAT → per-peer) with fix hints mesh_doctor local setup + security posture (config, keystore, control key drift, MTU/CIDR) host_snapshot deterministic host snapshot (OS, CPU/load, memory, disk, interfaces)

Add to an MCP client (e.g. Claude Code): {“command”:“fabric”,“args”:[“mcp”]}

fabric mcp

Model router recipes

fabric router

Model router recipes

fabric router init [name]

Update fabric (and the node agents) to the latest release

Download, verify (sha256) and replace the fabric CLI and its background agents in place. Use —check to see what’s available without installing.

fabric update [flags]
flagdefaultdescription
--channelstablerelease channel: stable, beta, or nightly
--checkfalseonly report whether an update is available
--forcefalsereinstall even if already up to date
--versioninstall a specific version (e.g. v0.2.0) instead of the channel latest

Print the fabric CLI version

fabric version