From b39242a6d0da01fdb3aa1c60cc85585e9c429503 Mon Sep 17 00:00:00 2001 From: Oleg Samarin Date: Sat, 26 Sep 2026 22:08:52 +0300 Subject: [PATCH] Fixed the plugin's Auto Mode indicator incorrectly turning on when a permission prompt merely mentioned "auto mode" in its tip text or "switch to auto mode" menu option, instead of the mode actually changing detectEditMode() now checks only the bottom-most non-blank screen line instead of scanning the last 3 lines, so tip/menu text above the real mode footer can no longer be mistaken for it. Also requires the literal "auto mode on" phrase, and adds a "manual mode on" -> DEFAULT branch for newer Claude Code versions, keeping the existing " esc to interrupt" fallback for older versions that don't emit that text. Co-Authored-By: Claude Sonnet 5 --- CHANGELOG.md | 1 + pom.xml | 2 +- .../claudecodegui/model/EditMode.java | 10 +++-- .../process/ScreenContentDetector.java | 43 +++++++++++------- .../process/ScreenContentDetectorTest.java | 45 +++++++++++++++++++ 5 files changed, 79 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e115dd5..3865d906 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4 @@ +- Fixed the plugin's Auto Mode indicator incorrectly turning on when a permission prompt (e.g. for a Bash command) merely mentioned "auto mode" in its tip text or "switch to auto mode" menu option, instead of the mode actually changing - Stopped showing Claude Code's "auto mode classifier billing" session notice when using an OpenAI-compatible or ChatGPT Subscription connection type — classifier requests are billed the same as before, just without the interruption, since this connection type was never able to hand those checks off to the server in the first place # 1.3.8 (2026-07-22) diff --git a/pom.xml b/pom.xml index 1ac3cd4c..4d50c1e7 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ io.github.nbplugins netbeans-plugin-claude-code-gui - 1.3.30-SNAPSHOT + 1.3.31-SNAPSHOT nbm Netbeans Plugin Claude Code GUI NetBeans plugin that provides a GUI for Claude Code CLI — run claude code sessions directly inside the IDE. diff --git a/src/main/java/io/github/nbplugins/claudecodegui/model/EditMode.java b/src/main/java/io/github/nbplugins/claudecodegui/model/EditMode.java index 1c3c7806..057b7a09 100644 --- a/src/main/java/io/github/nbplugins/claudecodegui/model/EditMode.java +++ b/src/main/java/io/github/nbplugins/claudecodegui/model/EditMode.java @@ -12,13 +12,15 @@ *

Constants are ordered from least to most permissive, so * ordinal comparisons ({@code >=}, {@code <=}) express permission thresholds naturally. * - *

Screen-text mapping (used by {@code ScreenContentDetector.detectEditMode}): + *

Screen-text mapping (used by {@code ScreenContentDetector.detectEditMode}), checked + * against the single bottom-most non-blank screen line only: *