Skip to content

Repository files navigation

solidtime-cli

License: MITNode.jsTypeScriptGitHub releaseUnofficial

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.

Install

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 login

This 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.

Quick Start

# 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

Commands

Auth & Context

CommandDescription
loginConnect to a Solidtime instance
logoutRemove saved credentials
whereShow current account, organization, and user
account list|use|show|removeManage saved accounts
organization list|use|show|updateSwitch and manage organizations

Time Entries

CommandDescription
time-entry listList time entries with filters
time-entry startStart a timer
time-entry stop <id>Stop a running timer
time-entry activeShow the currently running timer
time-entry createCreate a completed time entry
time-entry update <id>Update a time entry
time-entry delete <id>Delete a time entry
time-entry bulk-updateUpdate multiple entries at once
time-entry bulk-deleteDelete multiple entries at once
time-entry aggregateAggregate entries with grouping

Time Entry Filters

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

Resources

CommandDescription
project list|show|create|update|deleteManage projects
task list|create|update|deleteManage tasks
tag list|create|update|deleteManage tags
client list|create|update|deleteManage clients
member list|updateList and update members
project-member list|add|update|removeManage project member assignments
invitation list|create|resend|deleteManage organization invitations

AI & Automation

CommandDescription
discover allFull context dump with all resources (one call)
discover contextAccount, org, user context
discover projects|tasks|tags|members|clientsList resources as ID selectors
profileShow current user

Utility

CommandDescription
upgradeCheck for updates and self-upgrade
completion bash|zsh|fishGenerate shell completions

Aliases

AliasCommand
tetime-entry
orgorganization
pmproject-member
inviteinvitation

Global Flags

FlagDescription
--jsonMachine-readable JSON output
--compactCompact JSON without indentation (for AI/agents)
--dry-runValidate and preview without sending
--no-interactiveFail instead of prompting for input

Environment Variables

For CI/automation, you can skip the saved config file entirely:

VariableDescription
SOLIDTIME_BASE_URLSolidtime instance URL
SOLIDTIME_API_TOKENAPI token (Bearer JWT)
SOLIDTIME_ORGANIZATIONActive organization ID
SOLIDTIME_MEMBER_IDYour membership ID in the org
SOLIDTIME_CONFIGPath 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.

Configuration

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>.

Non-Interactive Login

solidtime login --url https://timesheet.example.com --token <jwt>

License

MIT

About

Unofficial command-line client for Solidtime — open-source time tracking

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages