Runs commands its AI assistant writes, with full access to your computerhighHigh concern: a serious problem.Signs in using another app's identitymediumMedium concern: worth reading before you install.Keeps its own tables in Zotero's databasemediumMedium concern: worth reading before you install.Downloads a program and runs itmediumMedium concern: worth reading before you install.A zotero:// link (a web page can open one) can make it install add-ons without asking you (from zotero-plugin-toolkit)mediumMedium concern: worth reading before you install.A zotero:// link can make it run code if you approve a prompt (from zotero-plugin-toolkit)mediumMedium concern: worth reading before you install.Launches programs on your computermediumMedium concern: worth reading before you install.Reuses a sign-in you saved in another programmediumMedium concern: worth reading before you install.Uses the clipboardlowLow concern.Stores API keys or passwordslowLow concern.Runs code it assembles while runninglowLow concern.Works with files on your computerlowLow concern.Other programs on this computer can change your library through itlowLow concern.Lets programs on this computer connect through Zotero's built-in server
Where we found itRuns commands its AI assistant writes, with full access to your comp…content/scripts/llmforzotero.js · line 125654
It can run without showing you the code first
return new AsyncFunction("Zotero", "env", source);Signs in using another app's identitycontent/scripts/llmforzotero.js · line 6315
Signs in as Codex CLI, GitHub Copilot for VS Code
CODEX_CLIENT_ID = "app_EMoamEEZ73f0CkXaXp7hrann";
Keeps its own tables in Zotero's databasecontent/scripts/llmforzotero.js · line 7716
Tables: llm_for_zotero_agent_coverage, llm_for_zotero_agent_run_events, llm_for_zotero_attachment_refs, llm_for_zotero_claude_conversations, llm_for_zotero_conversation_fork_links and 4 more
await db.queryAsync(
Downloads a program and runs itcontent/scripts/llmforzotero.js · line 64201
The first time you ask about a figure, it downloads a 265–491 MB bundle of Python and the Poppler PDF tools from the original llm-for-zotero developer's (not this fork's) GitHub release and runs it, without asking. The README doesn't mention it, and the download isn't checked against a fingerprint. We checked the macOS (Apple silicon) bundle: every file is standard software from conda-forge.
const response = await fetcher(url);
A zotero:// link (a web page can open one) can make it install add-o…content/scripts/llmforzotero.js · line 261979
zotero://plugin
Services.io.getProtocolHandler("zotero").wrappedJSObject._extensions["zotero://plugin"] = pluginBridgeExtension;A zotero:// link can make it run code if you approve a promptcontent/scripts/llmforzotero.js · line 261935
zotero://ztoolkit-debug
Services.io.getProtocolHandler("zotero").wrappedJSObject._extensions["zotero://ztoolkit-debug"] = debugBridgeExtension;Launches programs on your computercontent/scripts/llmforzotero.js · line 33844
Programs it names include curl; a setting lets Claude Code and Codex CLI run without asking
if (!Subprocess?.call) return void 0;
Reuses a sign-in you saved in another programcontent/scripts/llmforzotero.js · line 6105
Reuses the sign-in you saved in Codex CLI
return joinLocalPath(resolveHomeDir(), ".codex", "auth.json");