Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
- Fixed model name detection for new Claude CLI format where the default item has a long label ("Default (recommended)") with only 2-space alignment, and for model names that include a space (e.g. "Sonnet 4")
- Fixed model combo not becoming active when a session starts with a blocking dialog (e.g. "Resuming session" prompt on --continue/--resume startup)
- Improved keyboard navigation in choice menus: arrow keys, Tab, Shift+Tab
- Added terminal font and font size settings (Tools → Options → Claude Code → General); defaults to auto-detection preferring Adwaita Mono for full Unicode coverage of Claude Code TUI symbols (https://github.com/nbclaudecodegui/NetbeansClaudeCodeGui/issues/18)
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>io.github.nbclaudecodegui</groupId>
<artifactId>netbeans-claude-code-gui</artifactId>
<version>0.22.32-SNAPSHOT</version>
<version>0.22.33-SNAPSHOT</version>
<packaging>nbm</packaging>
<name>Netbeans Claude Code GUI</name>
<description>NetBeans plugin that provides a GUI for Claude Code CLI — run claude code sessions directly inside the IDE.</description>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -808,7 +808,7 @@ void discoverModels() {
// Scan the rolling PTY line buffer for the /model hint line, which is
// shorter and never truncated (e.g. "/model … (currently anthropic/claude-sonnet-4.6)").
String hintCurrentModel = null;
Pattern hintPat = Pattern.compile("\\(currently\\s+([\\w/.-]+)\\)");
Pattern hintPat = Pattern.compile("\\(currently\\s+([^)]+?)\\s*\\)");
synchronized (recentPtyLines) {
for (String ptyLine : recentPtyLines) {
Matcher hm = hintPat.matcher(ptyLine);
Expand All @@ -820,8 +820,8 @@ void discoverModels() {
int selIdx;
if (menuOpt.isPresent() && !menuOpt.get().options().isEmpty()) {
List<ChoiceMenuModel.Option> opts = menuOpt.get().options();
Pattern descPat = Pattern.compile("(?:\u2714\\s+|\\s{3,})(.+?)(?:\\s*[·\u00b7].*)?$");
Pattern currentlyPat = Pattern.compile("\\(currently\\s+([\\w/.-]+)\\)");
Pattern descPat = Pattern.compile("(?:\u2714\\s+|\\s{2,})(.+?)(?:\\s*[·\u00b7].*)?$");
Pattern currentlyPat = Pattern.compile("\\(currently\\s+([^)]+?)\\s*\\)");
models = new ArrayList<>();
selIdx = -1;
for (int i = 0; i < opts.size(); i++) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ public class ModelMenuParser {
*/
public record ModelDiscovery(List<String> models, int currentIndex) {}

/** Extracts the description part after ✔ or 3+ spaces. */
/** Extracts the description part after ✔ or 2+ spaces. */
private static final Pattern DESC_PAT =
Pattern.compile("(?:\u2714\\s+|\\s{3,})(.+)$");
Pattern.compile("(?:\u2714\\s+|\\s{2,})(.+)$");

/** Extracts the model id from "(currently X)" in description. */
private static final Pattern CURRENTLY_PAT =
Pattern.compile("\\(currently\\s+([\\w/.-]+)\\)");
Pattern.compile("\\(currently\\s+([^)]+?)\\s*\\)");

/** Fallback: "Title Case Word N.M" at the tail of the left part. */
private static final Pattern VERSION_TAIL_PAT =
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"models": ["Opus 4.7 with 1M context", "Sonnet 4.6", "Haiku 4.5"], "currentIndex": 2}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
1. Default (recommended) Opus 4.7 with 1M context · Most capable for complex work
2. Sonnet Sonnet 4.6 · Best for everyday tasks
❯ 3. Haiku ✔ Haiku 4.5 · Fastest for quick answers
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"models": ["Sonnet 4", "Sonnet 4.6", "Haiku 4.5"], "currentIndex": 0}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
❯ 1. Default (recommended) ✔ Use the default model (currently Sonnet 4) · $3/$15 per Mtok
2. Sonnet Sonnet 4.6 · Best for everyday tasks
3. Haiku Haiku 4.5 · Fastest for quick answers
Loading