Timeshit: A Terminal-Based Time Tracking Dashboard
Primary Purpose:
Timeshit is a terminal-based tool designed to transform Toggl Track time entries into an organized timesheet dashboard. It offers a clean and navigable interface, making it easier for users to overview their work hours efficiently.
Key Features:
Modern TUI Dashboard: Displays grouped summaries and detailed entry views for quick insights.
Workspace Selection & Date Filtering: Easily switch between workspaces and adjust date ranges for focused analysis.
Clipboard Export: Facilitates seamless integration with other timesheet tools by allowing data export to clipboard.
Cache-First Design: Minimizes API usage, ideal for users on free-tier plans, ensuring efficient tracking without overuse.
Customizable Settings: Includes options for target hours, integrations, and theme preferences, enhancing personalization.
Audience & Benefit:
Ideal for Toggl Track users seeking an efficient way to manage time entries without exceeding API limits. Timeshit provides a streamlined approach to tracking and analyzing work hours, ensuring productivity and ease of use.
Install via winget for easy setup, ensuring you have the latest updates and features at your fingertips.
README
Timeshit (Toggl2Timeshit)
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.
Highlights
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
Screenshots
Installation
macOS
Homebrew (recommended)
brew tap NoahNxT/nxt-solutions-packages
brew install timeshit
Upgrade:
brew upgrade timeshit
If you previously installed the legacy Node package, you may need to unlink it:
rm /opt/homebrew/bin/timeshit
brew link --overwrite timeshit
You can also remove the legacy global npm package:
Download 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
Build from Source
cd theme-studio
bun install --frozen-lockfile
bun run build
cd ..
cargo build --release
Binary: target/release/timeshit
Updates
GitHub Releases installs use the in-app updater.
Package manager installs should be updated via the package manager (brew/apt/choco/scoop/winget).
Authentication
Use the in-app settings (Settings → Integrations) or set an environment variable:
export TOGGL_API_TOKEN="your-token"
Token file: ~/.toggl2tsc
Usage
timeshit
Open the theme studio directly:
timeshit --theme-studio
Date 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:/. Custom themes are saved locally in ~/.toggl2tsc.json.
Keybinds (core)
h help
g open theme studio
c copy client entries
v copy project entries
x copy entries with client + project
d set date range
m cycle available themes
k toggle vacation day for active day
j toggle sick day for active day
y yesterday
[ / ] previous / next active date range
r refresh
Arrow keys to navigate projects
Keybinds (rollups)
o open rollups
w weekly view
m monthly view
y yearly view
[ / ] previous / next rollup year
Shift+R refetch selected day/week/month/year
z toggle weekends in rollups
k toggle vacation day for selected day
j toggle sick day for selected day
Docs
Full documentation lives in docs/ and is published via GitHub Pages.
Project
Changelog: CHANGELOG.md
Contributing: CONTRIBUTING.md
Security: SECURITY.md
License
MIT
Direct download (PKG)
Download timeshit-macos.pkg from GitHub Releases and run the installer.