Skip to Content

Sharing Tasks and AgentHarborFS URLs

Use task sharing when another machine needs to inspect the exact AgentHarborFS branch or snapshot that an agent used.

Create a Share URL

From an editor sidebar, choose Share Task. From the CLI:

ah branch share <branch-id> --expires 24h

The current editor actions create branch-scoped URLs with a 24 hour TTL and copy the result to the clipboard.

URL Shapes

agent-harbor://fs/branch/<branch-id>?host=<host>&token=<token> agent-harbor://fs/snapshot/<snapshot-id>?host=<host>&token=<token>

host tells the receiving daemon where to fetch manifests and blobs. It can be a loopback endpoint for local testing, an explicit HTTPS endpoint, or a rendezvous host ID. token is a scoped capability token for the shared branch or snapshot.

Local task-focus links use a separate route:

agent-harbor://task/<task-id>

Open a Share URL

Paste the URL into your editor command. In VS Code, run Agent Harbor: Open URI and enter the share URL. The VS Code external URI entry point is:

code --open-url 'vscode://agent-harbor.agent-harbor-vscode-extension/open?url=agent-harbor%3A%2F%2Ffs%2Fbranch%2F<branch-id>%3Fhost%3D<host>%26token%3D<token>'

Emacs and Neovim also expose URL commands:

M-x agent-harbor-uri-open
:AgentHarborGoto agent-harbor://fs/branch/<branch-id>?host=<host>&token=<token>

The local daemon validates the URL, imports the manifest, verifies blob hashes, and materializes files lazily as you open them.

Rendezvous

If a URL uses a host ID instead of an explicit endpoint, configure the directory service:

ah config set rendezvous.url <url>

The daemon asks the rendezvous service for the source endpoint, bearer token, and proxy headers, then fetches manifests and blobs through the selected route.

AHR Carrying Modes

Agent Harbor recordings can carry filesystem state alongside the session:

ModeCLI valueBest forBehavior
Slim--include-snapshot=slimSmall bug reports and code review handoffsCarries VCS-tracked dirty content and omits default-excluded blobs such as generated build output.
Full--include-snapshot=fullOffline reproduction and archivalCarries every blob in the manifest, including generated and untracked files.

Example:

ah agent record export <session-id> --include-snapshot=slim --out session.ahr ah agent record export <session-id> --include-snapshot=full --out session.ahr

Use slim mode when the source host remains reachable or the changed source files are enough. Use full mode when the recipient must reproduce the exact workspace without network access to the source host.

Security Notes

Treat a URL with token= as a bearer credential. Share it only with intended recipients, prefer short TTLs, and revoke tokens when a link is no longer needed. Every imported blob is verified against the manifest hash before it is served.