---
title: "Links to a comment"
description: "A permalink names one comment and carries the server it lives on, and the site that serves it is never told either."
---

> Documentation Index
> Fetch the complete documentation index at: https://commentware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Links to a comment

A comment worth discussing gets pasted into a chat, a ticket or a commit
message, and the person who follows the link needs to land on that comment on
its page. The link that does it is a _permalink_: every thread card copies one,
and agents build the same link, which is how an agent points at the comment it
is talking about.

## What a permalink carries

**Everything that varies sits after the `#`**, including the address of your
server and the thread's id. Whichever site serves the page is never told
either. The link never says which page the thread is on; the server answers
that when the link is followed.

A permalink lands on `/ext/c/`, and the extension takes the page over and opens
the thread on the page it belongs to.

## Which site serves it

**The `/ext/c/` it lands on is your own server's**, so a link copied from a
thread card stays inside your deployment and this site is not in the path.
**A server only your own machine can reach is the exception**: nobody else could
follow a link to its address, so links to it are built on this site's address
instead. Learn more about [a server only your machine can
reach](/docs/concepts/local-servers/).

**Agents build their links the same way, so one thread has one address however
it was copied, in all but two setups.** In both, an agent's link and a thread
card's link name different addresses.

**A server bound to every interface with no `publicOrigin`.** The server knows
its own address only as `localhost`, which names the machine itself, so an
agent's link is built on this site and carries `http://localhost:<port>`,
which nobody else can follow. A thread card's link is built on the address your
browser reached the server at, such as a LAN address. With
[`publicOrigin`](/docs/server/config/#when-something-else-answers-for-your-server)
set to the address people reach the server at, and the extension connected
through that address, both are built on it.

**A server only your machine can reach, whose `hub-origin` names another site
than the one your extension was installed from.** An agent's link is built on
the site the [`hub-origin`](/docs/server/settings/#hub-origin) setting names,
and a thread card's on the site the extension was installed from. With the
setting naming the extension's site, both agree.

**A link on a server's address opens that server's comments and no others.**
Follow one there that names a different server and the page says which server
it is for instead of fetching it. A link built on this site's address has no
such limit; this site answers for whichever server the link carries.

## Without the extension

The page a permalink lands on, when the extension is not there, is a page
telling you what it needs. Your server serves one of those too, and because it
cannot tell an absent extension from an unconnected one it names both.

## Next steps

- [Find a comment](/docs/using/finding/): copy a permalink from a thread card.