squad-station 0.8.19 → 0.8.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/bin/run.js +26 -13
  2. package/package.json +1 -1
package/bin/run.js CHANGED
@@ -45,7 +45,7 @@ function install() {
45
45
 
46
46
  function installBinary() {
47
47
  // Binary version — may differ from npm package version
48
- var VERSION = '0.8.19';
48
+ var VERSION = '0.8.22';
49
49
  var REPO = 'thientranhung/squad-station';
50
50
 
51
51
  var isWindows = process.platform === 'win32';
@@ -181,8 +181,12 @@ function verifyInPath(destPath, installDir) {
181
181
  var checkResult = spawnSync(checkCmd, ['squad-station'], { encoding: 'utf8' });
182
182
 
183
183
  if (checkResult.status === 0 && checkResult.stdout && checkResult.stdout.trim()) {
184
- // Binary is found in PATH — all good
185
- return;
184
+ var foundPath = checkResult.stdout.trim();
185
+ // Ignore npx cache / node_modules wrappers — not real user PATH entries
186
+ if (!foundPath.includes('.npm/_npx') && !foundPath.includes('node_modules/.bin') && !foundPath.includes('node_modules\\.bin')) {
187
+ // Binary is found in real PATH — all good
188
+ return;
189
+ }
186
190
  }
187
191
 
188
192
  if (isWindows) {
@@ -197,19 +201,28 @@ function verifyInPath(destPath, installDir) {
197
201
  return;
198
202
  }
199
203
 
200
- // macOS/Linux: auto-add to shell profile
204
+ // macOS/Linux: auto-add to shell env file
205
+ // IMPORTANT: Use .zshenv (not .zshrc) because Claude Code's Bash tool runs
206
+ // non-interactive shells that only source .zshenv. Without this, AI agents
207
+ // inside tmux sessions cannot find squad-station binary.
201
208
  var home = process.env.HOME || '';
202
209
  var exportLine = 'export PATH="$HOME/.squad/bin:$PATH"';
203
210
  var profileCandidates = process.platform === 'darwin'
204
- ? ['.zshrc', '.bash_profile', '.bashrc']
205
- : ['.bashrc', '.zshrc', '.profile'];
206
-
207
- // Find the first existing profile, or default to the platform's primary
208
- var profileName = profileCandidates[0];
209
- for (var i = 0; i < profileCandidates.length; i++) {
210
- if (fs.existsSync(path.join(home, profileCandidates[i]))) {
211
- profileName = profileCandidates[i];
212
- break;
211
+ ? ['.zshenv', '.zshrc', '.bash_profile', '.bashrc']
212
+ : ['.bashrc', '.zshenv', '.zshrc', '.profile'];
213
+
214
+ // On macOS, always use .zshenv (required for Claude Code compatibility).
215
+ // On Linux, find first existing profile or default to primary.
216
+ var profileName;
217
+ if (process.platform === 'darwin') {
218
+ profileName = '.zshenv';
219
+ } else {
220
+ profileName = profileCandidates[0];
221
+ for (var i = 0; i < profileCandidates.length; i++) {
222
+ if (fs.existsSync(path.join(home, profileCandidates[i]))) {
223
+ profileName = profileCandidates[i];
224
+ break;
225
+ }
213
226
  }
214
227
  }
215
228
  var profilePath = path.join(home, profileName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "squad-station",
3
- "version": "0.8.19",
3
+ "version": "0.8.22",
4
4
  "description": "Message routing and orchestration for AI agent squads",
5
5
  "repository": {
6
6
  "type": "git",