A terminal-based time tracking application that connects to the Harvest API v2, allowing users to manage their daily time entries from the CLI.
Planet Argon has been a long-time customer of Harvest and our software engineers wanted to build a tool for tracking client billables from the command line. This is an open source project that integrates with the Harvest API — there is no collaboration with or endorsement by either party.
Download the latest binary for your platform from the Releases page.
Or use curl to download directly (example for macOS Apple Silicon):
curl -sL https://github.com/planetargon/harvest-tui/releases/latest/download/harvest-tui_darwin_arm64.tar.gz | tar xz
sudo mv harvest-tui /usr/local/bin/go install github.com/planetargon/harvest-tui/cmd/harvest-tui@latestThe binary is installed to ~/go/bin. If that directory isn't already on your $PATH, add it:
export PATH="$HOME/go/bin:$PATH"Otherwise, you can run it directly with ~/go/bin/harvest-tui.
-
Clone this repository:
git clone https://github.com/planetargon/harvest-tui.git cd harvest-tui -
Build the application:
make build
The binary will be created at bin/harvest-tui.
- Release binary: Download the latest version from the Releases page and replace the existing binary.
- Go install: Run
go install github.com/planetargon/harvest-tui/cmd/harvest-tui@latestagain. - Build from source: Pull the latest changes and rebuild:
git pull make build
- Log into your Harvest account
- Go to Settings → Integrations → Developers
- Create a new Personal Access Token
- Note your Account ID and Access Token
-
Copy the example config:
mkdir -p ~/.config/harvest-tui cp config.example.toml ~/.config/harvest-tui/config.toml
-
Edit
~/.config/harvest-tui/config.tomlwith your credentials:[harvest] account_id = "YOUR_ACCOUNT_ID" access_token = "YOUR_ACCESS_TOKEN"
Launch the application:
harvest-tui| Key | Action |
|---|---|
↑ / k |
Move selection up |
↓ / j |
Move selection down |
← / h |
Previous day |
→ / l |
Next day |
t |
Jump to today |
| Key | Action |
|---|---|
n |
Create new time entry |
e |
Edit selected entry |
d |
Delete selected entry |
s |
Start/stop timer on selected entry |
| Key | Action |
|---|---|
? |
Toggle help overlay |
q / Esc |
Quit / go back |
Ctrl+C |
Force quit |
make testmake buildmake checkHarvest is a registered trademark of Bending Spoons US Inc. This project has no direct affiliation with Harvest or Bending Spoons. It is an independent open source project that integrates with the Harvest API v2.
This project is licensed under the MIT License.
Oh My Zsh was started by the team at Planet Argon, a Ruby on Rails development consultancy. Check out our other open source projects.
