Unofficial command-line client for Solidtime — open-source time tracking.
Works with both self-hosted Solidtime instances and Solidtime Cloud. Designed for humans in a terminal and AI agents that can run shell commands.
Requires Node.js 20+ and npm.
npm install -g https://github.com/VidGuiCode/solidtime-cli/releases/download/v0.1.1/solidtime-cli-0.1.1.tgz
solidtime --version
solidtime loginThis installs the solidtime command as a normal npm global CLI. It does not require sudo, does not install a system service, and does not modify system configuration.
On Linux and macOS, avoid sudo npm install -g for this CLI. If npm global installs fail with permission errors, use a user-level Node.js setup such as nvm or fnm, or configure npm's global prefix to a user-owned directory.
Works on Windows, macOS, and Linux.
# Connect to your Solidtime instance
solidtime login
# Check your context
solidtime where
# Start a timer
solidtime te start --description "Working on feature X"
# Check the running timer
solidtime te active
# Stop it
solidtime te stop <id>
# List your time entries
solidtime te list --start 2026-04-01T00:00:00Z --limit 10| Command | Description |
|---|---|
login |
Connect to a Solidtime instance |
logout |
Remove saved credentials |
where |
Show current account, organization, and user |
account list|use|show|remove |
Manage saved accounts |
organization list|use|show|update |
Switch and manage organizations |
| Command | Description |
|---|---|
time-entry list |
List time entries with filters |
time-entry start |
Start a timer |
time-entry stop <id> |
Stop a running timer |
time-entry active |
Show the currently running timer |
time-entry create |
Create a completed time entry |
time-entry update <id> |
Update a time entry |
time-entry delete <id> |
Delete a time entry |
time-entry bulk-update |
Update multiple entries at once |
time-entry bulk-delete |
Delete multiple entries at once |
time-entry aggregate |
Aggregate entries with grouping |
solidtime te list --projects <id1> <id2> # filter by projects
solidtime te list --start 2026-04-01T00:00:00Z --end 2026-04-02T23:59:59Z
solidtime te list --active # only running timers
solidtime te list --billable # only billable entries
solidtime te list --member <id> # filter by member
solidtime te list --tags <id1> <id2> # filter by tags
solidtime te list --limit 100 --offset 50 # pagination| Command | Description |
|---|---|
project list|show|create|update|delete |
Manage projects |
task list|create|update|delete |
Manage tasks |
tag list|create|update|delete |
Manage tags |
client list|create|update|delete |
Manage clients |
member list|update |
List and update members |
project-member list|add|update|remove |
Manage project member assignments |
invitation list|create|resend|delete |
Manage organization invitations |
| Command | Description |
|---|---|
discover all |
Full context dump with all resources (one call) |
discover context |
Account, org, user context |
discover projects|tasks|tags|members|clients |
List resources as ID selectors |
profile |
Show current user |
| Command | Description |
|---|---|
upgrade |
Check for updates and self-upgrade |
completion bash|zsh|fish |
Generate shell completions |
| Alias | Command |
|---|---|
te |
time-entry |
org |
organization |
pm |
project-member |
invite |
invitation |
| Flag | Description |
|---|---|
--json |
Machine-readable JSON output |
--compact |
Compact JSON without indentation (for AI/agents) |
--dry-run |
Validate and preview without sending |
--no-interactive |
Fail instead of prompting for input |
For CI/automation, you can skip the saved config file entirely:
| Variable | Description |
|---|---|
SOLIDTIME_BASE_URL |
Solidtime instance URL |
SOLIDTIME_API_TOKEN |
API token (Bearer JWT) |
SOLIDTIME_ORGANIZATION |
Active organization ID |
SOLIDTIME_MEMBER_ID |
Your membership ID in the org |
SOLIDTIME_CONFIG |
Path to custom config file |
When both SOLIDTIME_BASE_URL and SOLIDTIME_API_TOKEN are set, no saved login config is needed. Environment variables are supplied by your shell, CI system, or container runtime. The CLI reads them but does not create an .env file.
Login state is stored at ~/.solidtime-cli/config.json. This file contains your Solidtime base URL, active context, and API token. Treat it as a secret and do not share or commit it. Multiple accounts are supported - switch between them with solidtime account use <name>.
solidtime login --url https://timesheet.example.com --token <jwt>