remove tmux as a required tool (dead since D-77)

Nothing has spawned tmux since D-77 moved Claude session persistence to
`--resume`; Claude and terminal panes spawn `claude` or the shell directly.
But the toolchain still resolved tmux and listed it in `missing`, so on
mac/linux a box without tmux showed a spurious "tmux not found" warning in
the welcome view + status bar. The windows-support branch had special-cased
that away with a `!Platform.isWindows` guard — the tell that the requirement
was dead everywhere, not platform-specific.

Drop tmux from ResolvedPaths / ToolchainView / Toolchain (field, getter,
`missing`, PATH resolution) on every platform, removing the Windows guards
with it. Strip the testmode tmux probes and the comments / CLAUDE.md line
that claimed clide spawns tmux. (The dead ToolCheck class that also gated on
tmux was already deleted on main and dropped in the preceding merge.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-14 18:22:04 +02:00
co-authored by Claude Opus 4.8
parent 84a6ef7c77
commit 431e26d659
12 changed files with 29 additions and 60 deletions
+1 -11
View File
@@ -21,7 +21,6 @@ export 'toolchain_paths.dart';
class Toolchain extends ChangeNotifier implements ToolchainView {
String? _git;
String? _pql;
String? _tmux;
String? _shell;
Map<String, String>? _gitEnv;
bool _resolved = false;
@@ -31,8 +30,6 @@ class Toolchain extends ChangeNotifier implements ToolchainView {
@override
String get pql => _pql ?? 'pql';
@override
String get tmux => _tmux ?? 'tmux';
@override
String get shell => _shell ?? (Platform.isWindows ? 'powershell.exe' : '/bin/bash');
/// Extra environment variables for git (e.g. GIT_EXEC_PATH for dugite).
@@ -45,13 +42,7 @@ class Toolchain extends ChangeNotifier implements ToolchainView {
bool get allOk => _resolved && missing.isEmpty;
@override
List<String> get missing => [
if (_git == null) 'git',
if (_pql == null) 'pql',
// tmux has no Windows build; its absence there is the documented
// no-tmux mode, not a missing tool.
if (_tmux == null && !Platform.isWindows) 'tmux',
];
List<String> get missing => [if (_git == null) 'git', if (_pql == null) 'pql'];
/// Returns a Future that completes when resolution finishes.
Future<void> waitForResolution() {
@@ -72,7 +63,6 @@ class Toolchain extends ChangeNotifier implements ToolchainView {
void applyResolved(ResolvedPaths p) {
_git = p.git;
_pql = p.pql;
_tmux = p.tmux;
_shell = p.shell;
_gitEnv = p.gitEnv;
_resolved = true;
+3 -13
View File
@@ -12,11 +12,10 @@ import 'dart:io';
/// Serializable result of tool resolution (crosses isolate boundary).
class ResolvedPaths {
const ResolvedPaths({this.git, this.pql, this.tmux, this.shell, this.gitEnv});
const ResolvedPaths({this.git, this.pql, this.shell, this.gitEnv});
final String? git;
final String? pql;
final String? tmux;
final String? shell;
final Map<String, String>? gitEnv;
}
@@ -32,7 +31,6 @@ abstract class ToolchainView {
String get git;
String get pql;
String get tmux;
String get shell;
Map<String, String>? get gitEnv;
bool get resolved;
@@ -50,8 +48,6 @@ class _StaticToolchain implements ToolchainView {
@override
String get pql => _paths.pql ?? 'pql';
@override
String get tmux => _paths.tmux ?? 'tmux';
@override
String get shell => _paths.shell ?? (Platform.isWindows ? 'powershell.exe' : '/bin/bash');
@override
Map<String, String>? get gitEnv => _paths.gitEnv;
@@ -60,13 +56,7 @@ class _StaticToolchain implements ToolchainView {
@override
bool get allOk => missing.isEmpty;
@override
List<String> get missing => [
if (_paths.git == null) 'git',
if (_paths.pql == null) 'pql',
// tmux has no Windows build; its absence there is the documented
// no-tmux mode, not a missing tool.
if (_paths.tmux == null && !Platform.isWindows) 'tmux',
];
List<String> get missing => [if (_paths.git == null) 'git', if (_paths.pql == null) 'pql'];
}
/// Top-level function for compute/isolate use. Returns a plain-data
@@ -89,7 +79,7 @@ ResolvedPaths resolveToolchainPaths() {
git = _findOnPath('git');
}
return ResolvedPaths(git: git, pql: _findOnPath('pql'), tmux: _findOnPath('tmux'), shell: _resolveShell(), gitEnv: gitEnv);
return ResolvedPaths(git: git, pql: _findOnPath('pql'), shell: _resolveShell(), gitEnv: gitEnv);
}
/// The user's interactive shell. POSIX honours `$SHELL`; Windows has