Command line
The timetable in your terminal.
The same offline journey planner that powers the apps, as a single static binary for Linux. Download the Swiss timetable once, then search it from any shell — on a laptop without signal, over SSH on a server, or wired into your own scripts.
Install
Download the tarball from the downloads section, unpack it,
and put the binary somewhere on your PATH. It is self-contained —
no runtime, no packages, no root required.
$ tar -xzf spickme-cli-*-linux-x86_64.tar.gz $ install -D spickme-cli-*/spickme ~/.local/bin/spickme $ spickme --help
To verify the download, compare it against the release’s SHA256SUMS:
$ sha256sum --ignore-missing -c SHA256SUMS spickme-cli-0.2.3-linux-x86_64.tar.gz: OK
Your first search
Fetch the current Swiss timetable (a one-time download of a few hundred megabytes,
stored under ~/.local/share/spickme/), then plan a journey:
$ spickme download --all $ spickme query --from "Zürich HB" --to "Bern" Journey 1 │ 17:04 → 18:02 │ 58min │ direct -- 17:04 Zürich HB (Pl. 32) IC 8 → Brig -- 18:02 Bern (Pl. 7)
Stop names match the official Swiss naming — "Zürich HB",
"Bern, Zytglogge" — and a close-enough name resolves to its best match.
From here, every search runs entirely on your machine: no server, no account, no signal
needed.
Examples
Leave at a specific time — local Swiss time, 24-hour clock:
$ spickme query --from "Basel SBB" --to "Lugano" --at 2026-08-15T06:30See every stop along the way, for picking the quiet end of the platform or knowing where you are in the tunnel:
$ spickme query --from "Luzern" --to "Engelberg" --show-intermediateCheck ticket coverage — whether automatic ticketing, the GA or the Half Fare travelcard applies to each leg:
$ spickme query --from "Genève" --to "Zermatt" --show-coverageMore alternatives, fewer changes — widen the answer or cap the transfers:
$ spickme query --from "St. Gallen" --to "Sion" --limit 12 --max-transfers 2The full-screen browser — an interactive terminal UI with the same searches, for when you are staying a while:
$ spickme tuiAuf Deutsch — help texts and results in Swiss Standard German:
$ spickme --language de-CH query --from "Chur" --to "Arosa"Keep the timetable fresh — re-run the download whenever you like; files already up to date are skipped:
$ spickme download --year 2026Command reference
| Command | What it does |
|---|---|
spickme query | Plan journeys between two stops. --from and --to are required; --at, --limit, --max-transfers, --show-intermediate and --show-coverage refine the answer. |
spickme tui | The interactive terminal UI. |
spickme download | Fetch timetable data: --all for everything on offer, --year for a specific year, --url for a direct file. |
spickme diff | Compare two timetable files — what changed between releases. |
spickme help | Full help for any command, e.g. spickme help query. |
Global flag: --language en or --language de-CH.
Where your data lives
Everything stays on your machine. Timetables are plain files under
~/.local/share/spickme/ (or $XDG_DATA_HOME/spickme/); searches run
locally against them, and the CLI makes no network requests except when you run
spickme download. Deleting that directory removes everything.