Harvest TUI Time Tracker
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.
Time Sheet view
Add/Edit Time Entry
Installation
Download a Release Binary (Recommended)
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/
Install with Go
go install github.com/planetargon/harvest-tui/cmd/harvest-tui@latest
The 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.
Build from Source
-
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.
Updating
- 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@latest again.
- Build from source: Pull the latest changes and rebuild:
git pull
make build
Configuration
Getting Harvest API Credentials
- Log into your Harvest account
- Go to Settings → Integrations → Developers
- Create a new Personal Access Token
- Note your Account ID and Access Token
Setup Config File
-
Copy the example config:
mkdir -p ~/.config/harvest-tui
cp config.example.toml ~/.config/harvest-tui/config.toml
-
Edit ~/.config/harvest-tui/config.toml with your credentials:
[harvest]
account_id = "YOUR_ACCOUNT_ID"
access_token = "YOUR_ACCESS_TOKEN"
Usage
Launch the application:
harvest-tui
Keybindings
Navigation
| Key |
Action |
↑ / k |
Move selection up |
↓ / j |
Move selection down |
← / h |
Previous day |
→ / l |
Next day |
t |
Jump to today |
Time Entry Actions
| Key |
Action |
n |
Create new time entry |
e |
Edit selected entry |
d |
Delete selected entry |
s |
Start/stop timer on selected entry |
General
| Key |
Action |
? |
Toggle help overlay |
q / Esc |
Quit / go back |
Ctrl+C |
Force quit |
Development
Running Tests
make test
Building Locally
make build
make check
Disclaimer
Harvest 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.
License
This project is licensed under the MIT License.
About Planet Argon

Oh My Zsh was started by the team at Planet Argon, a
Ruby on Rails development consultancy.
Check out our other open source projects.