FabricFabric
Go Further

Deeplinks

Launch Fabric Agents from anywhere using the fabricagents:// URL scheme — open sessions, create new chats with prefilled prompts, and navigate to settings or sources.

Fabric Agents registers a custom URL scheme on install:

fabricagents://

Any link that starts with this scheme — clicked in a browser, typed into Spotlight / Alfred / Raycast, or embedded in a bookmark — launches the app (or brings it to the foreground) and performs an action.

Deeplinks are for the stuff you do often enough that opening the app and clicking through menus is friction: "new chat with this paragraph I just copied", "open the session I had pinned", "jump straight to the Shortcuts settings".

URL shapes

Two shapes cover everything:

Action URLs

fabricagents://action/<action-name>[/<id>][?params]
fabricagents://workspace/<workspace-id>/action/<action-name>[?params]

The workspace-prefixed variant runs the action in the named workspace instead of the active one.

fabricagents://<section>[/<subpath>]

Use these to jump to a particular screen.

Supported actions

ActionURLParams
Create a new chatfabricagents://action/new-chatinput=<text> — prefill the input. name=<string> — name the session. send=true — send immediately. window=focused — open in a new window.
Resume a Claude Code session by SDK IDfabricagents://action/resume-sdk-session/<sdk-session-id>
Delete a sessionfabricagents://action/delete-session/<session-id>
Flag a sessionfabricagents://action/flag-session/<session-id>
Unflag a sessionfabricagents://action/unflag-session/<session-id>

All actions also accept sidebar=history to open the right sidebar on the sessions history tab after the action completes.

URLWhat it opens
fabricagents://allSessionsThe full session inbox.
fabricagents://allSessions/session/<id>Specific session within the inbox view.
fabricagents://flaggedThe flagged sessions view.
fabricagents://state/<status-id>Sessions in a given status (e.g. state/in-progress).
fabricagents://sourcesThe sources list.
fabricagents://sources/source/<source-slug>A specific source's detail page.
fabricagents://skillsThe skills list.
fabricagents://agentsThe agents list.
fabricagents://commandsThe slash-commands list.
fabricagents://settingsThe app settings.
fabricagents://settings/<subpage>A specific settings page (e.g. settings/shortcuts, settings/ai).

Useful examples

Quick new chat from a bookmark

Save this as a browser bookmark URL:

fabricagents://action/new-chat?input=Summarise%20this%20and%20post%20to%20Slack&send=true

Clicking it opens Fabric Agents with the prefilled message already sent.

Raycast / Alfred / spotlight-style launcher

Create a custom search in your launcher that opens:

fabricagents://action/new-chat?input={query}&window=focused

Now typing "fa do a thing" in your launcher opens a new Fabric Agents window with "do a thing" as the first message.

Jump to Shortcut settings

fabricagents://settings/shortcuts

Drop it into your dotfiles so you can rebind a global key to it.

Trigger from a script

open "fabricagents://allSessions/session/260420-swift-river"

On macOS. Linux uses xdg-open; Windows start.

Cross-platform notes

Fabric Agents uses Electron's setAsDefaultProtocolClient API, so the scheme registers consistently across macOS, Windows, and Linux. On macOS, the first click after install may show the usual "Allow to open?" prompt. On Linux, .desktop file MIME associations do the heavy lifting — if the scheme doesn't work after install, check xdg-mime query default x-scheme-handler/fabricagents.

For multi-instance development, override the scheme with FABRIC_DEEPLINK_SCHEME=fabric-dev before launch and use fabric-dev://... for the dev build.

Security

Deeplinks go through the same validation the app uses everywhere else:

  • Scheme check — the URL must start with fabricagents:.
  • Session-ID shape validationdelete-session and similar refuse malformed IDs so a link can't path-traverse into arbitrary files.
  • Destructive actions still respect permission mode. A deeplink that enqueues a message doesn't bypass Explore / Ask / Execute — it sends a message into an existing session like any other interaction.

Deeplinks can delete and flag sessions silently. If you click a delete-session/<id> link, the session is gone — no prompt. Treat deeplinks from untrusted sources the way you'd treat any clipboard command: inspect before running.

  • Conversations — the session IDs deeplinks refer to.
  • Automations — trigger deeplinks from scheduled events or webhooks.
  • Interactions — keyboard shortcuts are the in-app equivalent of deeplinks.

On this page