Hi,

Here is the template

 ("C" "capture CWN through org protocol" item (file "next-cwn.org")
  "- %?%:description\n  %:link\n\n")

When I use it on a page, it directly adds the entry to the file, without
going through the capture interface, and it adds an extra %? in the
text.

Try to use ‘entry’ instead of ‘item’

 ("C" "capture CWN through org protocol" entry (file "next-cwn.org")
  "- %?%:description\n  %:link\n\n")

“C” is usually bound to “Customise org-capture-templates”. Probably it’s better to choose another key.

In the next step you will probably get an error:  org-capture: Capture template ‘i’: Template is not a valid Org entry or tree

To avoid that make the entry a tree:

 (“c" "capture CWN through org protocol" entry (file "next-cwn.org")
  “* %?%:description\n  %:link\n\n")

rgrds
Mario
—