# Original Bob and Bob LearnHNS coexistence troubleshooting

Use this guide when original Bob and Bob LearnHNS are both installed, but Bob
LearnHNS appears when you try to open either app or a `bob://` link.

## Stop before changing anything

- Do not delete either application yet.
- Do not delete, rename, or move any Bob application-data folder.
- Never send anyone your seed phrase, wallet password, private keys, wallet
  database, or a screenshot containing them.
- Fully quit both apps before testing. Closing a window may leave the app
  running in the background.

Original Bob and current Bob LearnHNS builds are intended to coexist:

| | Original Bob | Bob LearnHNS |
|---|---|---|
| App name | `Bob` | `Bob LearnHNS` |
| Link scheme | `bob://` | `bob-learnhns://` |
| macOS bundle ID | `com.kyokan.BobRelease` | `com.learnhns.Bob` |
| macOS data folder | `~/Library/Application Support/Bob` | `~/Library/Application Support/Bob LearnHNS` |
| Windows data folder | `%APPDATA%\Bob` | `%APPDATA%\Bob LearnHNS` |
| Linux data folder | `~/.config/Bob` | `~/.config/Bob LearnHNS` |

An empty onboarding screen does not prove that wallet data was deleted. It can
mean that the other app opened its own separate profile.

## First questions to answer

Tell support:

1. Are you using macOS, Windows, or Linux?
2. Does LearnHNS appear when you click the original Bob app icon, when you click
   a `bob://` link, or in both cases?
3. Which Bob LearnHNS version did you install, and what was the installer file
   name?
4. Do both apps appear in the normal installed-app location?

Then run only the section for your operating system and send its text output to
support. These commands inspect app identity, link associations, and folder
presence. They do not delete wallet data.

## macOS

Open Terminal, paste the entire block, and press Return:

```bash
echo "==== macOS ===="
sw_vers
uname -m

echo "==== installed Bob apps ===="
ls -ld "/Applications/Bob.app" \
       "/Applications/Bob LearnHNS.app" \
       "/Applications/Bob LearnHNS Test.app" 2>/dev/null

for app in "/Applications/Bob.app" "/Applications/Bob LearnHNS.app" "/Applications/Bob LearnHNS Test.app"; do
  if [ -d "$app" ]; then
    echo "==== $app ===="
    defaults read "$app/Contents/Info" CFBundleIdentifier 2>/dev/null
    defaults read "$app/Contents/Info" CFBundleName 2>/dev/null
    defaults read "$app/Contents/Info" CFBundleDisplayName 2>/dev/null
    defaults read "$app/Contents/Info" CFBundleShortVersionString 2>/dev/null
    defaults read "$app/Contents/Info" CFBundleURLTypes 2>/dev/null
  fi
done

echo "==== app data folders ===="
ls -ld "$HOME/Library/Application Support/Bob" \
       "$HOME/Library/Application Support/Bob LearnHNS" \
       "$HOME/Library/Application Support/Bob LearnHNS Test" 2>/dev/null

echo "==== app data folder sizes ===="
du -sh "$HOME/Library/Application Support/Bob" \
       "$HOME/Library/Application Support/Bob LearnHNS" \
       "$HOME/Library/Application Support/Bob LearnHNS Test" 2>/dev/null
```

If `/Applications/Bob.app` is missing but
`~/Library/Application Support/Bob` still exists, preserve that data folder.
The original application can be reinstalled without deleting that folder.

## Windows 10 or 11

Open PowerShell, paste the entire block, and press Enter:

```powershell
Write-Host "==== Windows ===="
Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsArchitecture

Write-Host "==== installed Bob apps ===="
Get-StartApps | Where-Object { $_.Name -like "*Bob*" } | Format-Table -AutoSize

Write-Host "==== uninstall registry entries ===="
$uninstallKeys = @(
  "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*",
  "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*",
  "HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
)
Get-ItemProperty $uninstallKeys -ErrorAction SilentlyContinue |
  Where-Object { $_.DisplayName -like "*Bob*" } |
  Select-Object DisplayName, DisplayVersion, InstallLocation, Publisher, UninstallString |
  Format-List

Write-Host "==== app data folders ===="
Get-Item "$env:APPDATA\Bob", "$env:APPDATA\Bob LearnHNS", "$env:APPDATA\Bob LearnHNS Test" -ErrorAction SilentlyContinue |
  Select-Object FullName, LastWriteTime

Write-Host "==== app data folder contents ===="
Get-ChildItem "$env:APPDATA\Bob", "$env:APPDATA\Bob LearnHNS", "$env:APPDATA\Bob LearnHNS Test" -ErrorAction SilentlyContinue |
  Group-Object { $_.DirectoryName } |
  Select-Object Name, Count

Write-Host "==== protocol handlers ===="
cmd /c "reg query HKCU\Software\Classes\bob\shell\open\command /ve"
cmd /c "reg query HKCU\Software\Classes\bob-learnhns\shell\open\command /ve"
```

If original Bob no longer appears in the installed-app list but
`%APPDATA%\Bob` still exists, preserve that data folder. Reinstalling the
original application should not require deleting it.

## Linux

Open a terminal, paste the entire block, and press Enter:

```bash
echo "==== Linux ===="
uname -a

echo "==== Bob desktop entries ===="
for dir in "$HOME/.local/share/applications" /usr/local/share/applications /usr/share/applications; do
  [ -d "$dir" ] || continue
  find "$dir" -maxdepth 1 -type f -iname '*bob*.desktop' -print -exec \
    sed -n '/^Name=/p;/^Exec=/p;/^MimeType=/p' {} \;
done

echo "==== protocol handlers ===="
printf 'bob: '
xdg-mime query default x-scheme-handler/bob 2>/dev/null
printf 'bob-learnhns: '
xdg-mime query default x-scheme-handler/bob-learnhns 2>/dev/null

echo "==== app data folders ===="
ls -ld "$HOME/.config/Bob" \
       "$HOME/.config/Bob LearnHNS" \
       "$HOME/.config/Bob LearnHNS Test" 2>/dev/null

echo "==== app data folder sizes ===="
du -sh "$HOME/.config/Bob" \
       "$HOME/.config/Bob LearnHNS" \
       "$HOME/.config/Bob LearnHNS Test" 2>/dev/null

echo "==== running Bob processes ===="
ps -eo pid=,command= | grep -i '[b]ob'
```

The Linux output is especially important when both link schemes point to the
same desktop entry.

## Safe next steps

After support reviews the output:

1. Confirm the original Bob data folder still exists.
2. Confirm the two installed applications have different identities and names.
3. If the original app binary or shortcut is missing, reinstall original Bob
   while preserving its data folder.
4. Install only a current Bob LearnHNS release whose installer name clearly
   includes `Bob LearnHNS` and a `learnhns-beta` version.
5. Open each application directly from its installed location before testing
   `bob://` or `bob-learnhns://` links.

Download pages:

- Original Bob: <https://bobwallet.org/download/bob-wallet/>
- Bob LearnHNS: <https://bobwallet.org/download/bob-learnhns/>

If the problem continues, send support the command output, the exact installer
file name, and a screenshot showing which icon or link you opened. Do not send
wallet files or recovery secrets.
