Time
Time
Time records the hours people spend on tasks, as time entries against a task (module time). It also keeps an hourly cost rate per person, which turns logged time into a project's staff cost, and has a pomodoro timer for pacing focused work, which records nothing.
In the sidebar under Projects → Time. Needs: Tasks.
What you see
The screen has two tabs, Entries and Pomodoro.
Entries
- Totals at the top. While your timer is running they show Running since (when it started, and its note), Entries and Logged. Otherwise they show Entries, Logged and Longest. The totals count the entries loaded on the page.
- A list of time entries, newest first. Ten load at a time and more load as you scroll.
- Entry: the note (or "Untitled") and the task it was booked to.
- Duration: hours and minutes, or a "running" badge for a timer that is still going.
- Started: when it began.
- The list shows everyone's entries in the workspace, not only yours.
- A Stop timer button appears while your timer is running, and each row has Delete.
With nothing recorded yet, the screen says "No time logged".
Pomodoro
- A countdown clock with the current phase: Focus, Short break or Long break, and a bar showing how far through it you are.
- Start, Pause and Resume, Reset, and Skip to break or Skip to focus.
- Completed today, counted while the page is open, with your focus and break lengths beside it.
- Settings sets your lengths: focus (1 to 180 minutes), rounds before a long break (1 to 12), short break (1 to 60 minutes) and long break (1 to 120 minutes). They start at 25, 4, 5 and 15. The lengths are yours alone: nobody else's timer changes.
When a phase ends, the next one is chosen but does not start until you press Start. A pomodoro is not a time entry. Only your lengths are kept.
What you can do
Start a timer on a task
Neither the Time screen nor the Tasks screen has a start button yet. A timer is started by asking an agent, or over MCP with time.start, and always names a task. Starting a timer stops whichever timer you already had running: one person runs one timer at a time.
Stop your timer
- Open Time.
- Press Stop timer. The entry gets its end time and duration.
Record time after the fact
For work done away from a timer, ask an agent to log it (time.log). It takes the task, how long, an optional start time to book it to an earlier day, and an optional note.
Correct or delete an entry
- To delete an entry, press Delete on its row and confirm. There is no undo.
- To correct the start, the end or the note, ask an agent (
time.update). Clearing the end reopens the entry as a running timer, which is refused if that person already has another timer running. An entry cannot end before it starts.
You can only change or delete your own entries, unless you are an admin. The Delete button shows on every row, but the server refuses anyone else's entry.
See where the hours went
time.report totals the hours over a period by project, by person and by task. With no dates it covers the last seven days. Time on a task with no project is counted under "No project". The Time screen does not show this report.
Set what an hour costs
Each person can have an hourly cost rate: what an hour of their time costs the company, from a given day on. Logged time multiplied by the rate of that day becomes each project's staff cost in Costs. A new rate applies from its day forward; earlier time keeps the rate it had. Setting a rate again for the same person and day replaces it. People who may set rates see everyone's; everyone else sees only their own.
Rates are set in the project costs Set up window in Costs, or by an agent with time.setRate, which always asks a person first.
Who can do what
| Permission | Label | Lets you |
|---|---|---|
time:read | View time | See every time entry, your own running timer, your own hourly rate and the hours report, and keep your own pomodoro lengths. |
time:write | Manage time | Start and stop your timer, log time, and correct or delete your own entries. Admins can correct or delete anyone's. |
time:rates | Set what an hour of each person's time costs | See everyone's hourly rate and set rates. |
See People, roles and permissions.
What runs on its own
Nothing in this module runs on a schedule. A timer keeps counting until someone stops it.
For agents
An agent can see its own running timer, list entries and report on hours, start, stop, log, correct and delete time, and read and set hourly rates. Every change is a write or, for time.remove, a destructive act, so by default each one waits for a person to approve it. time.setRate always asks. See Agents and approvals.
Read (read-only): time.running, time.report, time.entries, time.rates
Time entries: time.start, time.stop, time.log, time.update, time.remove (destructive)
Rates: time.setRate (always asks a person first)
time.entries returns entry ids, which time.update and time.remove take. It can be narrowed by task, person or period, 500 rows at most per call.
Over MCP the same tools are named time__running, time__start and so on. See API keys and MCP access.