# Troubleshooting

## signal-cli not found

**Symptom:** setup wizard says it cannot find signal-cli.

**Fix:** ensure signal-cli is installed and on your `PATH`. You can also set the
full path in your config:

```toml
signal_cli_path = "/usr/local/bin/signal-cli"
```

On Windows, use the full path to `signal-cli.bat`.

## QR code doesn't display properly

**Symptom:** the QR code appears garbled or too large during device linking.

**Fix:** make sure your terminal is at least 60 columns wide and supports Unicode
block characters. Try a modern terminal emulator like Windows Terminal, iTerm2,
Kitty, or Alacritty.

## "Java not found" or class version errors

**Symptom:** signal-cli fails to start with Java-related errors, or you see
`UnsupportedClassVersionError` mentioning "class file version 69.0".

**Fix:** signal-cli 0.14+ requires Java 25+. Install a compatible JDK:

```sh
# Windows
winget install EclipseAdoptium.Temurin.25.JDK

# macOS
brew install --cask temurin@25

# Or download from https://adoptium.net/
```

Verify with `java -version` -- you should see version 25 or higher. On Linux,
the install script uses the native signal-cli build which does not require Java.

## Messages not appearing

**Symptom:** the app starts but no messages show up.

**Fix:**
1. Check that your device is properly linked in Signal's settings on your phone
   (**Settings > Linked Devices**)
2. Try re-running the setup wizard: `siggy --setup`
3. Check signal-cli can communicate by running it directly:
   ```sh
   signal-cli -a +15551234567 receive
   ```

## Images not rendering

**Symptom:** images show as `[attachment: image.jpg]` instead of inline previews.

**Fix:** make sure `inline_images = true` in your config (this is the default).
Also check that your terminal supports 256 colors or truecolor. Halfblock
rendering requires a terminal with proper Unicode support.

## Sidebar disappeared

**Symptom:** the sidebar is not visible.

**Fix:** if your terminal is narrower than 60 columns, the sidebar auto-hides.
Widen your terminal, or press `/sidebar` to force it on. You can also use
`Ctrl+Right` to widen the sidebar.

## Database errors

**Symptom:** errors about SQLite or the database file.

**Fix:** the database is stored alongside the config file. If it becomes corrupted,
you can delete it and siggy will create a fresh one on next launch. You'll
lose message history but all conversations will re-populate from signal-cli.

As a workaround, you can also run in incognito mode:

```sh
siggy --incognito
```
