{"version":"2.1.305","anchor":"plugin-spawned-subprocesses-now-pass-the-plugin-id-into-env","canonical_anchor":"plugin-spawned-subprocesses-now-pass-the-plugin-id-into-env","heading":"Processes started by plugins now pass the plugin's identity into their environment setup","tier":"internal","area":"Plugins","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305\/e\/plugin-spawned-subprocesses-now-pass-the-plugin-id-into-env","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305","markdown":"### Processes started by plugins now pass the plugin's identity into their environment setup\n\nHooks, commands, servers and language servers started for a plugin now tell Claude Code which plugin they belong to when their environment is prepared\n\n**Unclear.** It is not stated what Claude Code does with the plugin's identity during setup: whether it checks, warns about or adds environment variables.\n\n**What**\n\nA plugin is an add-on that can start its own programs, such as hooks (scripts that run at set moments), commands, background servers and language servers (programs that give code-editing help). Before Claude Code starts one of these, it prepares its environment, meaning the set of variables the program can read. That preparation step now receives the identity of the plugin the program belongs to. Language servers started by a plugin now carry the plugin's name as well.\n\n**Why**\n\nThis affects the environment every plugin program runs with, so a plugin that relies on particular environment variables may see a difference.\n\n- Area: Plugins\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}