hjklue (pronounced "h-j-klue," an homage to the vim hjkl motions) is a terminal-based crossword puzzle player that supports vim-style navigation and .puz format. It uses the usual tab/enter/arrows scheme to navigate the grid, but also supports a vim-like normal mode where you can jump to any cell (e.g. 35c jumps to clue 35), hjkl or w/b to move. Solve .puz format puzzles without leaving your terminal or your keyboard.
This project was inspired by cursewords, cliptic, and crosstui.
Install via one of the methods below, then run:
hjklue puzzle.puzAccepts .puz format crossword puzzle files. (You can find puzzles at Daily Crossword Links.)
If you have Rust installed (or install via rustup):
cargo install hjklueDownload the latest release binary for your platform from Releases. No installation required - just run the executable directly.
git clone https://github.com/stmorse/hjklue
cd hjklue
cargo build --release
./target/release/hjklue puzzle.puzI got this off the ground as a vibecode project with Claude Code (Opus 4.5), but if you are a human interested in contributing, send me a message/PR. :) Happy puzzling!
