diff --git a/CHANGELOG.md b/CHANGELOG.md
index bf931ce1..f32d54f3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,4 @@
+- Fixed disabled models (e.g. `Fable (disabled)`) appearing in the model selector combo with an error message as their name
- Fixed session becoming permanently unresponsive when the working directory is on a git branch whose name contains dots (e.g. `feature/e9.5-refactor`)
# 1.2.20 (2026-06-22)
diff --git a/pom.xml b/pom.xml
index 6e23a2bc..8ac82eb3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
io.github.nbplugins
netbeans-plugin-claude-code-gui
- 1.2.23-SNAPSHOT
+ 1.2.24-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/process/ModelMenuParser.java b/src/main/java/io/github/nbplugins/claudecodegui/process/ModelMenuParser.java
index 3a4eb62a..16a12671 100644
--- a/src/main/java/io/github/nbplugins/claudecodegui/process/ModelMenuParser.java
+++ b/src/main/java/io/github/nbplugins/claudecodegui/process/ModelMenuParser.java
@@ -71,6 +71,8 @@ public ModelDiscovery parse(List lines) {
String leftPart = trimmed.split("[·\u00b7]", 2)[0];
Matcher descMatcher = DESC_PAT.matcher(leftPart);
if (descMatcher.find()) {
+ String namePart = leftPart.substring(0, descMatcher.start()).trim();
+ if (namePart.toLowerCase().contains("(disabled)")) continue;
String desc = descMatcher.group(1).trim()
.replaceFirst("^\u2714\\s*", "").trim();
// Format 2: "(currently X)"
diff --git a/src/test/resources/io/github/nbplugins/claudecodegui/process/model-menu-parser/format1-with-disabled-model.expected.json b/src/test/resources/io/github/nbplugins/claudecodegui/process/model-menu-parser/format1-with-disabled-model.expected.json
new file mode 100644
index 00000000..1000f053
--- /dev/null
+++ b/src/test/resources/io/github/nbplugins/claudecodegui/process/model-menu-parser/format1-with-disabled-model.expected.json
@@ -0,0 +1 @@
+{"models": ["Sonnet 4.6", "Sonnet 4.6", "Sonnet 4.6 with 1M context", "Opus 4.8", "Haiku 4.5"], "currentIndex": 0}
diff --git a/src/test/resources/io/github/nbplugins/claudecodegui/process/model-menu-parser/format1-with-disabled-model.src.txt b/src/test/resources/io/github/nbplugins/claudecodegui/process/model-menu-parser/format1-with-disabled-model.src.txt
new file mode 100644
index 00000000..4711ab42
--- /dev/null
+++ b/src/test/resources/io/github/nbplugins/claudecodegui/process/model-menu-parser/format1-with-disabled-model.src.txt
@@ -0,0 +1,17 @@
+
+──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
+ Select model
+ Switch between Claude models. Your pick becomes the default for new sessions. For other/previous model names, specify with --model.
+
+ ❯ 1. Default (recommended) ✔ Sonnet 4.6 · Efficient for routine tasks
+ 2. Sonnet Sonnet 4.6 · Efficient for routine tasks
+ 3. Sonnet (1M context) Sonnet 4.6 with 1M context · Draws from usage credits · $3/$15 per Mtok
+ 4. Opus Opus 4.8 · Best for everyday, complex tasks · ~2× usage vs Sonnet
+ 5. Haiku Haiku 4.5 · Fastest for quick answers
+ 6. Fable (disabled) Claude Fable 5 is currently unavailable. Learn more: https://www.anthropic.com/news/fable-mythos-access
+
+ ◐ Medium effort ←/→ to adjust
+
+ Use /fast to turn on Fast mode (Opus 4.8).
+
+ Enter to set as default · s to use this session only · Esc to cancel