Fabric.so CLI workflows
Use the native CLI directly or an already authorised Fabric connector when that
is the available surface. Do not wrap it in a second command catalogue or treat a
planner's read label as an access-control guarantee.
Verify tool and workspace
fabric --version
fabric --help
fabric --json workspace current
fabric --json workspace list
fabric search --help
Verify this is Fabric.so, not another executable with the same name. Help/version checks are local; workspace checks access account state. Check exit status and the returned workspace before any write. A workspace name may be ambiguous; preserve provider IDs where exposed. Switching workspace changes persistent CLI context: serialise operations or use a documented per-command scope, and recheck the target.
The official installer is https://fabric.so/cli/install.sh. Download and inspect
it before an authorised installation; do not pipe remote code into a shell by
default. Prefer browser login for setup. fabric auth <api-key> puts a secret in
process arguments/history; use a supported protected authentication route and
never log or copy credentials into notes. Do not invent environment support that
the installed CLI has not documented.
Search and retrieve evidence
fabric --json search "project notes"
fabric --json search "design" --tag work
fabric --json path
fabric --json path "Inbox/Reports"
Use search for candidate content and path browsing for known folders. Keep query, tag, workspace, and pagination limitations visible. A snippet is not the full source. For a detailed summary, retrieve original content through a supported CLI/API/connector action. Do not silently substitute the Fabric AI assistant's interpretation for the source document or assume a search is exhaustive.
fabric ask is delegated agent execution. Its documented purpose includes
asking the assistant to do things. A natural-language 'read-only' prompt or the
old ask-read planner label does not disable tools, writes, or paid inference.
Use it only with deliberate scope; use actual resource reads for evidence.
Save the exact content and type
For authorised writes, use note, link, or file when the type is known.
save auto-detects type: text resembling a path can upload a file instead of
creating a note. Verify that inference before using it.
fabric --json note --parent "Work/Projects" < "/private/output/reviewed-note.md"
fabric --json link "https://example.com" --title "Reference" --parent "Work/Reading"
fabric --json file "/absolute/path/reviewed-report.pdf" --parent "Work/Reports"
The note command's positional text is the body, not a title. Set a separate title only through a flag advertised by the installed command. Inspect the exact bytes and attachment scope before upload, preserve destination constraints, and retain the returned ID. Verify the created resource by ID where supported; search indexing delay can make absence inconclusive.
Tasks and mutations
Read fabric --json task list and resolve the exact task before completion/edit/
delete. Use current task help for fields, priority, due date, and identifiers.
Keep due dates distinct from reminder delivery and timezone-bearing times. Preview
an explicit ID set for bulk operations; do not rerun a changing query as the plan.
Deletion, workspace changes, and remote assistant execution need actual user
scope, not permission inferred from a flag or bundled recipe.
Check stdout, stderr, exit status, and the expected response shape separately.
Never rerun a mutation without --json merely because parsing failed. It may
already have succeeded. Capture the original result, reconcile by ID/current
state, and report unknown outcomes. Retry bounded reads when appropriate; no
undocumented idempotency is assumed for creates, saves, or delegated asks.
Project memory
Use memory and handoff only when the user or established project instructions authorise persistent Fabric memory. Retrieve a small relevant set, preserve provenance, and draft a compact note before saving it. Do not upload raw conversations or trust a heuristic redactor to remove all secrets.
Finish with evidence
Report the verified workspace, found/changed IDs, relevant source content, and unresolved outcomes. Generated completion scripts are executable shell code; inspect them before sourcing or editing shell startup files. No CLI command in this skill has been authenticated merely because its syntax appears here.
Current official source, reviewed 2026-09-13:
Fabric CLI guide.
For application SDK work use fabric-api, not these terminal recipes.