There are no fields named ‘type’ or ‘content’ in the action, so PopClip ignores them and perceives it as an “empty” action, resulting in a grayed-out icon.
Did you get this snippet from an LLM? Unfortunately, it seems to have hallucinated some non-existent fields, which can happen when they attempt to create PopClip extensions.
Based on what it looks like you are trying to achieve, this should work:
// #popclip
// name: Obsidian WikiLink
// icon: link
// language: javascript
// requirements: []
popclip.pasteText(`[[${pasteboard.text}|${popclip.input.text}]]`);
(The above block is an extension snippet — select it then click “Install Extension” in PopClip.)