Timeshit is a Rust-based Terminal UI (TUI) that turns Toggl Track time entries into a clean, navigable timesheet dashboard. It is optimized for free-tier API limits with a persistent cache and manual refresh.
- Modern TUI dashboard with grouped summaries and entry details
- Workspace selection and fast date range filtering
- Rollups with signed overtime balances and special-day target/credit handling
- Clipboard export for timesheet tools
- Cache-first design to reduce Toggl API usage
- Built-in settings, seven bundled themes, and a browser-based theme studio for custom themes
Homebrew (recommended)
brew tap NoahNxT/nxt-solutions-packages
brew install timeshitUpgrade:
brew upgrade timeshitIf you previously installed the legacy Node package, you may need to unlink it:
rm /opt/homebrew/bin/timeshit
brew link --overwrite timeshitYou can also remove the legacy global npm package:
npm remove -g toggl2timeshitChocolatey
choco install timeshitchoco install timeshit --version=1.10.2Scoop
scoop bucket add nxt-solutions https://github.com/NoahNxT/scoop-nxt-solutions-packages
scoop install timeshitWinget
winget install NxTSolutions.TimeshitAPT (Debian/Ubuntu via Cloudsmith)
curl -1sLf 'https://dl.cloudsmith.io/public/nxt-solutions/timeshit/setup.deb.sh' | sudo -E bash
sudo apt-get update
sudo apt-get install timeshitIf timeshit is not found after setup, verify the package is installed:
dpkg -s timeshit
which timeshitIf timeshit is installed but not in PATH, run it directly:
/usr/bin/timeshit
hash -rIf apt can’t find the package, force the distro/codename that matches your Cloudsmith publish target:
curl -1sLf 'https://dl.cloudsmith.io/public/nxt-solutions/timeshit/setup.deb.sh' \
| sudo -E distro=ubuntu codename=noble bashDownload the latest asset from GitHub Releases and place it in your PATH.
Release assets:
- Linux:
timeshit-linux.tar.gz - macOS:
timeshit-macos.tar.gz - macOS PKG:
timeshit-macos.pkg - Windows:
timeshit-windows.zip
cd theme-studio
bun install --frozen-lockfile
bun run build
cd ..
cargo build --releaseBinary: target/release/timeshit
- GitHub Releases installs use the in-app updater.
- Package manager installs should be updated via the package manager (brew/apt/choco/scoop/winget).
Use the in-app settings (Settings → Integrations) or set an environment variable:
export TOGGL_API_TOKEN="your-token"Token file: ~/.toggl2tsc
timeshitOpen the theme studio directly:
timeshit --theme-studioDate range selection is done inside the TUI (d).
Rollups treat sick/vacation days with separate target hours and worked-credit hours. The rollup summary shows a single signed Overtime balance for the selected period.
Theme Studio runs on a random local loopback port and opens in your browser at http://timeshit.studio.localhost:<random-port>/. Custom themes are saved locally in ~/.toggl2tsc.json.
hhelpgopen theme studioccopy client entriesvcopy project entriesxcopy entries with client + projectdset date rangemcycle available themesktoggle vacation day for active dayjtoggle sick day for active dayyyesterday[/]previous / next active date rangerrefresh- Arrow keys to navigate projects
oopen rollupswweekly viewmmonthly viewyyearly view[/]previous / next rollup yearShift+Rrefetch selected day/week/month/yearztoggle weekends in rollupsktoggle vacation day for selected dayjtoggle sick day for selected day
Full documentation lives in docs/ and is published via GitHub Pages.
- Changelog:
CHANGELOG.md - Contributing:
CONTRIBUTING.md - Security:
SECURITY.md
MIT
Direct download (PKG)
Download timeshit-macos.pkg from GitHub Releases and run the installer.



