<p>Some releases add shiny new powers. This one is about something humbler — and honestly, just as satisfying: cleaning up after yourself. Elyra 0.9.27 makes it easy to remove extensions you no longer need, and to find those Elyra sessions you started last Tuesday and forgot about.</p><h2>Why this release</h2><p>Two small confessions inspired this version.</p><p>First: installing extensions in Elyra has always been a joy. Open <code>/ext</code>, mark a few packages, hit enter, done. But <em>removing</em> one? That meant leaving the session, remembering the exact package name, and typing <code>elyra remove npm:@elyracode/...</code> in another terminal. Installing was a browse; uninstalling was homework. Tools should be as easy to leave as they are to adopt — a stack you experimented with, an LSP for a language you no longer write, that presentation package from a one-off demo. If it takes friction to remove things, they simply never get removed.</p><p>Second: a few of you reported that your laptop battery seemed to drain faster with Elyra around. We took that seriously and measured. The good news: an idle Elyra uses essentially zero CPU. The real story: <em>forgotten</em> Elyra instances — sessions started in some tmux pane three days ago, each holding a few hundred megabytes, sometimes with a language server or a headless browser still attached. The problem wasn't Elyra working too hard. It was Elyra instances nobody remembered starting.</p><p>So 0.9.27 is a housekeeping release. Here's how the two pieces work.</p><h2>Uninstall right from the extension browser</h2><p><code>/ext</code> now handles both directions. Installed extensions show a green ✓, and <code>space</code> toggles the change you want to make: on a package you <em>don't</em> have, it marks <code>[x]</code> for install. On one you <em>do</em> have, it marks <code>[-]</code> (in red) for removal. Then <code>enter</code> applies everything in one pass.</p><pre><code class="language-text">Extensions  (1 to install, 2 to remove)

    [ ]   stack-tall      TALL: Livewire 4, Flux UI, Alpine.js, Tailwind
  → [x]   lsp-rust        Rust LSP: go-to-definition, find-references, diagnostics
    [-] ✓ anna            Presentations: Anna.js slides, terminal demos
    [-] ✓ youtrack        YouTrack: issues, comments, tags, links, projects
    [ ] ✓ laravel         Deep Laravel understanding: models, routes

  ↑↓ navigate  space mark install/remove  enter apply  esc cancel

  ✓ = installed · space marks [x] install / [-] remove · changes activate after /reload.
</code></pre><p>Hit enter and Elyra works through the queue with live progress — <code>Installing @elyracode/lsp-rust (1/3)...</code>, <code>Removing @elyracode/anna (2/3)...</code> — and gives you one combined summary at the end:</p><pre><code class="language-text">Installed @elyracode/lsp-rust. Removed @elyracode/anna, @elyracode/youtrack.
Run /reload to apply the changes.
</code></pre><p>One mental model: space marks the change you want, enter applies it. Escape still cancels mid-queue if you change your mind, and pressing enter with nothing marked installs the highlighted package, exactly as before. No new keybindings to learn.</p><h2>Find your forgotten sessions</h2><p>The new <code>elyra doctor resources</code> command answers the question "wait, how many Elyras do I have running right now?" — including their child processes, because a language server or headless Chromium spawned by a session counts against <em>your</em> memory, not some abstract cloud.</p><pre><code class="language-text">$ elyra doctor resources

Running Elyra instances:

  PID 48213   up 2h 14m     CPU 3m 12s    mem 310 MB
    └─ intelephense (PHP LSP)             mem 145 MB
  PID 17902   up 3d 6h      CPU 1m 44s    mem 288 MB   ⚠ looks forgotten
    └─ chromium (headless)                mem 412 MB
  PID 51338   up 12m        CPU 22s       mem 295 MB

⚠ 1 instance has been running for over a day and holds significant memory.
  If you no longer need it:  kill 17902
</code></pre><p>Instances that have been running for over a day while holding a lot of memory get flagged, with a ready-to-paste kill hint. No magic, no automatic termination — just visibility. In our experience, seeing the list once is enough to make the habit stick.</p><p>And to put the battery question to rest: we measured idle CPU before building this, and it's clean. Memory held by forgotten sessions was the real cost — which is exactly what this command surfaces.</p><h2>Get it</h2><pre><code class="language-bash">elyra update
</code></pre><p>Or, if you're starting fresh:</p><pre><code class="language-bash">npm install -g @elyracode/coding-agent
</code></pre><p>Then open <code>/ext</code>, admire your ✓ markers — and maybe mark a <code>[-]</code> or two. Your RAM will thank you.</p>