Troubleshooting
Having trouble installing or running abTARS? Start with abtars doctor --fix — it automatically diagnoses and repairs the most common issues.
Quick checks
abtars doctor --fix # auto-repair common issues
abtars status # bridge running?
abtars logs # last log linesNode.js problems
Wrong Node version
abTARS requires Node.js 22 or later (24 recommended).
node --version # must be v22.x.x or highermacOS — upgrade via Homebrew:
brew install node@24
brew link node@24 --force
node --versionLinux / WSL — upgrade via NodeSource:
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt-get install -y nodejs
node --versionUsing nvm:
nvm install 24
nvm use 24
nvm alias default 24 # make it the default for new shells
node --versionAfter upgrading Node, reinstall the CLI tools:
npm install -g abtars@alpha abmind@alphanpm install -g fails with EACCES (permission denied)
npm is trying to write to a system directory. Fix by pointing npm globals to your home directory:
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
npm install -g abtars@alpha abmind@alphaOn macOS with zsh, use ~/.zshrc instead of ~/.bashrc.
abtars: command not found after install
The npm global bin directory is not on PATH. Most common causes:
Standard npm globals (~/.local/bin):
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrcCustom npm prefix (~/.npm-global):
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc && source ~/.bashrcnvm — bin not in PATH for new shells:
# Find where nvm puts the active node's bin
echo "$(nvm which current | xargs dirname)"
# Add it to ~/.bashrc or ~/.zshrc:
echo 'export PATH="$HOME/.nvm/versions/node/$(node -v | tr -d v)/bin:$PATH"' >> ~/.bashrc && source ~/.bashrcVerify after fix:
which abtars
abtars --versionabtars resolves to a stale version after update
After abtars update, the CLI wrapper is refreshed at ~/.local/bin/abtars. But a previous npm install -g abtars may still be on your PATH and shadow the updated wrapper.
Check where the shell resolves abtars:
which abtarsIf it shows ~/.npm-global/bin/abtars or any path outside ~/.local/bin/ and ~/.abtars/, remove the stale global install:
npm uninstall -g abtars && hash -r && which abtarsShould now resolve to ~/.local/bin/abtars — the wrapper script that always points at the current release.
abtars: Permission denied
The npm symlink lost its execute bit:
chmod +x $(readlink -f $(which abtars))If that doesn't help, the symlink itself may be broken. Reinstall:
npm uninstall -g abtars && npm install -g abtars@alphaManual install (if npm install -g keeps failing)
If the npm global install is broken beyond repair, install manually from source:
# 1. Clone the source
git clone https://github.com/aksika/abtars.git ~/.abtars-releases/src/abtars
git clone https://github.com/aksika/abmind.git ~/.abmind/src/abmind
# 2. Build abmind first (abtars links it)
cd ~/.abmind/src/abmind
npm install && npm run build
# 3. Build abtars
cd ~/.abtars-releases/src/abtars
npm install && node esbuild.config.js
# 4. Run the install directly via node
node ~/.abtars-releases/src/abtars/bundle/abtars-cli.js installFor subsequent updates from source:
cd ~/.abtars-releases/src/abtars && git pull && node esbuild.config.js
node ~/.abtars-releases/src/abtars/bundle/abtars-cli.js update --from-localInstall fails mid-way
abtars install errors out partway through
Re-run with --force to overwrite partial state:
abtars install --forceabtars update fails with "no release staged"
The deploy symlink is broken. Run the emergency script — it rebuilds and restages without needing a working binary:
bash ~/.abtars-releases/src/abtars/scripts/emergency-update.shIf the source checkout is stale, update it first:
cd ~/.abtars-releases/src/abtars && git pull origin dev
bash ~/.abtars-releases/src/abtars/scripts/emergency-update.shThe watchdog health probe runs for ~120s after the script. If the bridge is still not healthy, check ~/.abtars/logs/bridge.log.
abtars update hangs or stalls
The npm global bin may be pointing at a stale symlink after a Node upgrade:
npm uninstall -g abtars && npm install -g abtars@alphaBridge won't start
EADDRINUSE — port already in use
A previous process is still holding the port:
abtars stop --force
abtars startMemory not working
abmind is not installed:
npm install -g abmind@alpha && abmind install && abtars restartmacOS launchd (daemon mode)
The watchdog runs as ~/Library/LaunchAgents/com.abtars.watchdog.plist.
# Check if loaded
launchctl list | grep abtars
# Check status
launchctl print gui/$(id -u)/com.abtars.watchdog
# View logs
tail -f ~/.abtars/logs/launchd.logManually load (if install didn't):
cp ~/.abtars-releases/src/abtars/scripts/com.abtars.watchdog.plist ~/Library/LaunchAgents/
sed -i '' "s|{{HOME}}|$HOME|g" ~/Library/LaunchAgents/com.abtars.watchdog.plist
launchctl load ~/Library/LaunchAgents/com.abtars.watchdog.plistForce restart:
launchctl unload ~/Library/LaunchAgents/com.abtars.watchdog.plist
launchctl load ~/Library/LaunchAgents/com.abtars.watchdog.plistCommon issues:
- "service not found" — plist not in
~/Library/LaunchAgents/or not loaded - Bridge starts then dies — check
~/.abtars/logs/launchd.log - "Operation not permitted" — macOS Full Disk Access blocking node. Allow in System Settings → Privacy & Security → Full Disk Access
Linux / WSL systemd (daemon mode)
The watchdog runs as a user systemd service (abtars-watchdog.service).
# Check status
systemctl --user status abtars-watchdog
# View logs
journalctl --user -u abtars-watchdog -fManually enable (if install didn't):
cp ~/.abtars-releases/src/abtars/scripts/abtars-watchdog.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now abtars-watchdogReload after update (if service file changed):
cp ~/.abtars-releases/src/abtars/scripts/abtars-watchdog.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user restart abtars-watchdogCommon issues:
- Exit code 203/EXEC — service file points to a missing script. Reload it (see above).
- "Failed to connect to bus" — systemd not running in WSL. Add to
/etc/wsl.conf:iniThen restart WSL from PowerShell:[boot] systemd=truewsl --shutdown - Service starts but bridge crashes — check
abtars logsorjournalctl --user -u abtars-watchdog