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.
Navigation URLs
fabricagents://<section>[/<subpath>]Use these to jump to a particular screen.
Supported actions
| Action | URL | Params |
|---|---|---|
| Create a new chat | fabricagents://action/new-chat | input=<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 ID | fabricagents://action/resume-sdk-session/<sdk-session-id> | – |
| Delete a session | fabricagents://action/delete-session/<session-id> | – |
| Flag a session | fabricagents://action/flag-session/<session-id> | – |
| Unflag a session | fabricagents://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.
Navigation targets
| URL | What it opens |
|---|---|
fabricagents://allSessions | The full session inbox. |
fabricagents://allSessions/session/<id> | Specific session within the inbox view. |
fabricagents://flagged | The flagged sessions view. |
fabricagents://state/<status-id> | Sessions in a given status (e.g. state/in-progress). |
fabricagents://sources | The sources list. |
fabricagents://sources/source/<source-slug> | A specific source's detail page. |
fabricagents://skills | The skills list. |
fabricagents://agents | The agents list. |
fabricagents://commands | The slash-commands list. |
fabricagents://settings | The 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=trueClicking 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=focusedNow 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/shortcutsDrop 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 validation —
delete-sessionand 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.
Related
- 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.
Sharing
Publish a Fabric Agents session to a public read-only URL. One-click share, revoke, what's included in the payload, and where the data lives.
Documents and attachments
How Fabric Agents handles PDFs, Word, Excel, PowerPoint, images, and plain text attachments — MarkItDown conversion, inline base64 images, and paste-to-file.