Command line

Log hours as a contractor

Log time, send your timesheet and check your pay period from the terminal or your AI app.

If a company pays you as a contractor through Oatmilk, you can do your hours without opening the portal. The terminal uses the same timesheet as the portal, so anything you log shows up there too.

1. Install it and sign in

Accept the invitation email from the company first. Then:

Shell
curl -fsSL https://getoatmilk.com/install.sh | sh
oatmilk hours

The first time, it asks to sign in with your browser. Use the email the invitation went to. On Windows, install with npm install -g @getoatmilk/cli.

2. Log time

Shell
oatmilk hours add 2h "Design review"
oatmilk hours add 1h30m "Client call" --date yesterday
oatmilk hours add 45m "Fixes" --date mon
  • How long: 2h, 1h30m, 90m, 1.5 or 1:30, up to 24 hours.
  • Which day: today when you leave it out, or yesterday, a weekday like mon, or a date like 2026-10-06. Days still to come aren't allowed.
  • Logging the same work on the same day twice asks first; --yes keeps both.

3. Send it for review

Shell
oatmilk hours           # this pay period: what's logged, what's not sent, when it's due
oatmilk hours submit    # sends everything not sent yet, after asking
oatmilk hours none      # tells the company you had no hours this period

Entries the company sent back show why, and go out again with the next oatmilk hours submit.

More than one company

Shell
oatmilk hours companies
oatmilk hours use "Acme"

--org <id> picks a company for one command.

In the app

Running oatmilk opens your hours. a logs time one question at a time, s sends the period for review, [ and ] move between pay periods, and o opens the portal.

From your AI app

Connect Claude, ChatGPT or another AI app to only your own tools, then ask it "Log 2 hours today for the design review":

Shell
claude mcp add --transport http oatmilk "https://app.getoatmilk.com/api/mcp?toolset=contractor"

In the portal, your account menu has Log hours faster with the steps for each app. See Contractors.

What stays in the portal

Signing agreements, your payment details, tax numbers and the extra fields some companies ask for on each entry. oatmilk hours open opens the portal at your timesheet.