{"version":"2.1.305","anchor":"claude-p-waits-on-background-shells-that-built-in-plugins-h","canonical_anchor":"claude-p-waits-on-background-shells-that-built-in-plugins-h","heading":"claude -p keeps waiting for background shells a built-in plugin holds","tier":"notice","area":"Headless Mode","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305\/e\/claude-p-waits-on-background-shells-that-built-in-plugins-h","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305","markdown":"### `claude -p` keeps waiting for background shells a built-in plugin holds\n\nA built-in plugin can now make `claude -p` wait for a background shell before it exits\n\n**Unclear.** It is not stated whether any built-in plugin holds background shells.\n\n**What**\n\n`claude -p` runs Claude Code once without the interactive screen and then exits. A background shell is a command left running while Claude carries on. Built-in plugins can now hold a background shell, and while one does, `claude -p` keeps waiting for that shell instead of exiting.\n\nIf a plugin fails while being asked about a shell, Claude Code reports the error once and keeps waiting.\n\n**Why**\n\nThis changes when headless runs finish, but only where a built-in plugin holds a shell.\n\n- Area: Headless Mode\n- Names: `claude -p`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}