Skip to main content

Common Errors

texpand: command not found

The binary is not in your PATH.

# Find the binary
find ~/.local/bin -name texpand

# Add to PATH
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc
source ~/.bashrc

No match found for trigger

The match directory doesn't contain the trigger, or the path is wrong.

# Check your match files exist
ls ~/.config/texpand/matches/

# List available triggers
texpand list

# Load from a specific directory
texpand expand ":hello" --config-dir ~/.config/texpand/matches/

Form requires an interactive terminal

This happens when running in a non-interactive context:

  • Piped output: echo ":form" | texpand expand
  • Over SSH without TTY: ssh host texpand expand ":form"
  • In CI/headless environments

Fix: Run directly in a terminal emulator.

No keyboard devices found

System-wide detection needs access to /dev/input/ devices.

# Check group membership
groups $USER

# Add to input group
sudo usermod -aG input $USER
# Log out and back in

Permission denied for /dev/uinput

uinput injection needs write access.

# Check permissions
ls -l /dev/uinput

# Add to uinput group
sudo usermod -aG uinput $USER

# Alternative: set capability
sudo setcap cap_dac_override+ep $(which texpand)

Shell Plugin Conflicts

If the Zsh plugin conflicts with other plugins, make sure texpand is loaded last:

# ~/.zshrc — load texpand last
source /path/to/zsh-autosuggestions.zsh
source /path/to/zsh-syntax-highlighting.zsh
source /path/to/shell/texpand.zsh # ← last

Getting Help

If you still have issues:

  • Check the GitHub Issues
  • Enable debug logging: RUST_LOG=debug texpand expand ":hello"
  • Run texpand --version and include the version in your bug report