project-switch · Mar 9–15, 2026 · via commits

Explicit terminal commands, stricter config, always-encoded search args

The config format got clearer this week. Terminal commands now have their own command field, typos in config keys show up as errors instead of being silently ignored, and search arguments are always encoded properly. Errors also stay on screen long enough to read when list was opened from the hotkey.

Added 2

  • command field for entries that run in the terminal instead of a browser; the config is rejected if an entry sets both url and command, or both command and browser
  • list --debug prints the full command and arguments before running them

Changed 3

  • Unknown keys in ~/.project-switch.yml are now a config error instead of being silently ignored
  • Errors pause with "Press Enter to exit" so they stay readable when list was opened from the hotkey
  • Arguments typed after a URL command's key are always URL-encoded; the url_encode option is removed

Fixed 1

  • A command's args on a URL entry are now passed to the browser as flags, not appended to the URL