DocsSplitting time
How suggestions are made
Spindle suggests how to split a time entry between projects, and offers entries for agent work no timer covered, from when you sent prompts in Claude Code and Codex. Nothing changes until you accept.
On this page
- What Spindle looks at
- How the time is divided
- Split at a time, or by share
- Strong and weak suggestions
- Which folder belongs to which project
- One folder, several projects
- Folders that belong to no project
- Where suggestions appear
- When the timer stops
- While the timer runs
- While a split runs
- On the entry
- When you pick a project
- Why a suggestion says what it says
- Time nobody tracked
- What Spindle keeps
- Suggestions on the web
- Turning suggestions on or off
- What suggestions don’t do
A suggestion is based on one thing: when you sent a prompt in Claude Code or Codex, and in which project. From those times, Spindle works out how the time of an entry was shared between projects, and offers the split. It also notices agent work that no timer covered, and offers an entry for it. You decide whether to take either.
Most suggestions wait quietly in the day’s review, where you can go through a day or a week in one go. Only clear cases interrupt you, and each at most once per entry.
What Spindle looks at
Claude Code and Codex keep a record of each session on your computer. The Spindle desktop app reads from it when each prompt was sent, in which project folder and on which branch. There is nothing to install in either agent, and it works in the desktop app on Mac and Windows.
- A prompt is a message you sent. The agent’s own steps, the tools it ran and helper agents it started don’t count.
- Asking an agent to use Spindle doesn’t count. A prompt such as “describe today’s entries in Spindle” isn’t work in the project you asked it from.
- Only project folders in git count. Work in other folders isn’t used for suggestions, and several copies of the same git project count as one project.
How the time is divided
Spindle divides the time of one entry with three rules:
- Between two prompts to the same project, all the time goes to that project, however long it is.
- When you move to another project, the time after a prompt goes to that prompt’s project until the next prompt, for up to 15 minutes.
- Time with no prompts, such as a call or a meeting, stays on the project the timer is on.
Here are the rules at work on one entry. The timer ran on Acme API from 09:47 to 11:12, and nine prompts went to three projects.
Added up: Acme API 0:44, Acme Web 0:28 and Internal 0:13. Every project has at least two prompts and 10 minutes, so Spindle offers this split when the timer stops, and keeps it in the day’s review.
From promptsNo prompts, on the timer’s project
A few more rules keep suggestions useful:
- Parts under 10% of the entry are left out of the suggestion.
- An entry with less than 10 minutes of prompts gets no suggestion.
- One hour stays one hour. Three agents running at the same time don’t make three hours; they share the hour you spent on them.
Split at a time, or by share
How the split is offered depends on how the work moved:
- The work moved from one project to the next, once or twice. The desktop app offers to cut the entry where it moved, such as Split at 10:42, into separate entries.
- The work went back and forth. Spindle offers to share the one entry between the projects, such as Acme API 0:44, Acme Web 0:28 and Internal 0:13. The editor shows the same split as percentages, where you can change it.
Detours shorter than 10 minutes don’t count as a move.
Strong and weak suggestions
Spindle tells how firmly the prompts back a suggestion:
- Strong: the prompts account for at least 60% of the entry, and every part has at least two prompts and 10 minutes.
- Weak: anything else.
Only strong suggestions interrupt you, with the card when the timer stops and a ✦ beside the running timer in the menu bar. Weak ones wait beside the entry and in the day’s review, which says how much of the time the prompts cover.
Which folder belongs to which project
Spindle needs to know which project each folder is for. It decides in this order:
- A branch rule you set for that folder.
- The project you chose for that folder.
- A project learned from your entries where only that folder was active.
- A project with the same name as the folder.
A folder with no project yet shows up in the suggestion by its name, with Choose Project beside it. Your choice is remembered for your account, on every computer and on the web. Spindle only asks inside the app, never in a notification.
One folder, several projects
When one folder holds work for more than one project, such as maintenance and a new feature billed separately, open Different Projects by Branch… from the branch button beside a part of the suggestion, or from Settings › General › Linked repositories. Each rule is a branch name and the project, and optionally the task, its work goes to, such as acme/* for Acme Web. * stands for any characters, and case doesn’t matter. The folder’s own project takes the other branches.
The editor lists the folder’s recent branches and where each would go with the rules as written. A session that was on several branches goes to the folder’s own project, because the records don’t say which branch a prompt was on.
Folders that belong to no project
Choose No Project for a folder whose agent work you don’t want in suggestions, such as a side project you don’t track. Neither a learned project nor a matching name takes its work any more. Settings › General › Linked repositories lists every folder with its project; right-click one for Unlink. Each unlink can be undone.
Where suggestions appear
Nothing is saved until you click, and every one-click split says “Split saved” with Undo. Undo puts the entry back as it was. The Windows app uses the same words in sentence case, such as Keep as is.
When the timer stops
When the timer stops on an entry with a strong suggestion, a card offers the split with the prompts behind it: Split takes it, Review… opens the entry with the split to change it first, and Keep as Is leaves the entry on one project. When the work moved from one project to the next, the main button says where it cuts, such as Split at 10:42. When the app is in the background, a notification offers the same.
The card goes away after a while. Nothing is lost: it is also in the day’s review.
✦“Pagination API and pricing page review” went to more than one project
Acme API 44m · Acme Web 28m · Internal 13m
Also in today's review
While the timer runs
Only for a clear switch. If the timer is on Acme Web and for 15 minutes or more every prompt went to Internal, a notification asks whether you’re still on Acme Web. Switch to Internal moves the timer to Internal from the moment the work moved. Still on Acme Web only answers this question: the split can still be offered when the timer stops. Work that goes back and forth gets no notification.
Spindlenow
Still on Acme Web?
Your agents have been working in Internal since 14:32. Switch the timer to Internal from then?
While a split runs
A split you set, by hand or from a suggestion, is never judged against the prompts: you know where your time went better than the records do. Spindle only looks at what happens after you set it, and offers once to end the entry there and carry on in a new one:
- A project went quiet. One project of the split had no prompts for 30 minutes while the others went on. End Split at 11:05 ends the entry at 11:05 with its split, and continues on the other projects in a new entry.
- Another project joined. Agents worked for 15 minutes in a project outside the split. Add Northwind from 11:20 ends the entry at 11:20 and continues in a new one with Northwind added.
Spindlenow
Internal has been quiet since 11:05
End the split then and continue on Acme API and Acme Web?
The offer comes as a notification, a ✦ beside the timer, and a card in the menu bar. Not Now hides it until the split changes. If nobody answers it while the timer runs, it is offered when the timer stops, and waits in the day’s review.
On the entry
A suggestion waits beside the entry, in the list and in the calendar, with a ✦ and the hours it would give each project, such as ✦ 0:44 · 0:28 · 0:13, or ✦ Split at 10:42. Adding time by hand offers the same suggestion for the time you typed.
Keep as Is stops all suggestions for that entry, on every device.
When you pick a project
The project picker lists, under Agents now, the projects agents worked in during the last 15 minutes, the busiest first. Starting a timer where the work is takes one click.
Why a suggestion says what it says
Each suggestion shows the prompts it was built from, as a thin strip of the entry’s time: each prompt is a tick in its project’s colour, and the time with no prompts is hatched in the timer’s project’s colour. The strip is on the card when the timer stops, above the editor, and in the box that opens from a ✦ in the list, which also lists each part’s prompts and time. When the work moved, a line under it says when, such as “The work moved to Acme Web at 10:42”.
In the calendar, pointing at a block’s ✦ draws the suggestion on the block, hatched over it in each project’s colour, with the time of each part. A line under the block says what a click does, such as “Split Acme API 0:44 · Acme Web 0:28 · Internal 0:13 · Click ✦ to Apply”. The block stays as it is until you click.
Time nobody tracked
When agents worked and no entry covers that time, Spindle offers an entry for it. It offers only the stretches the prompts show, from a prompt to at most 15 minutes after it, never a guess at the rest of your day:
- Just after you start a timer, if agents were at work in the minutes before, a chip beside the timer asks ✦ Start at 9:12?. One click moves the start. It never reaches back past your previous entry.
- The reminder to track names the work when agents have been busy in one project for 15 minutes with nothing running: “Agents have been working in Acme API since 9:12”, with Start from 9:12. This uses Remind me to track my time and its working hours.
- In the calendar, past agent work with no entry shows as an outlined block, such as “✦ Acme API · 14:00–15:30”. A click opens a new entry for that time, with its project or split filled in. Right-click it for Dismiss.
- In the day’s review, each stretch is an item to add with one click.
Folders without a project never trigger the reminder.
What Spindle keeps
From each session, Spindle keeps the time of each prompt, the project folder, its branches and a short title of up to 80 characters. The text of your prompts, the agent’s answers and your code are never kept.
- It stays on your computer. Spindle syncs the entries you confirmed, the project you chose for each folder with its branch rules, and the suggestions you kept as they were. The activity itself stays where it was read.
- Admins never see it. Agent activity belongs to the person. It doesn’t show up in reports, and no one else in the workspace can see it.
- Turning suggestions off forgets it. Everything Spindle read is deleted from your computer.
Suggestions on the web
The web app can suggest splits too, if you turn on activity sync in your account. It is off by default.
With activity sync on, your computer sends when prompts were sent, when agents were busy, and each project’s name, git remote and branch names. Session titles are sent only if you turn on a second switch. The text of your prompts, the agent’s answers and folder paths are never sent.
The web then shows what the desktop app shows: the ✦ beside entries with hours, the prompts behind each suggestion, the suggestion drawn on a calendar block, the outlined blocks for agent work nobody tracked, the day’s review, and the projects agents worked in during the last 15 minutes at the top of the project picker. Nothing on the web interrupts you, so a weak suggestion is only quieter. The offers while the timer runs stay in the desktop app.
The synced activity is yours alone: admins and reports never see it. Turning activity sync off deletes it from the server, and deleting your account deletes all of it.
Turning suggestions on or off
The first time the desktop app finds Claude Code or Codex on your computer, it asks once whether to use their activity for suggestions. Turn On reads the last week at once and shows three steps:
- What the last 7 days found in the time you tracked: how much went to other projects than the one on the timer, the entries a split is offered for, and the agent time with no timer running.
- The folders agents worked in, each with the project Spindle guesses, to link.
- Review Last Week, which opens the review of those days.
Show What the Logs Found… in Settings › General opens the same steps later. You can change these any time there (on Windows, Settings › General › Parallel work):
| Setting | What it does |
|---|---|
| Suggest splits from agent activity | Turns suggestions on or off. Turning it off forgets everything Spindle read. |
| Claude Code, Codex | Chooses which agents’ activity is used. |
| Notify me when the work moves to another project | Turns the notifications on or off. The cards in the app stay. |
| Remind me to review the day | One notification after your working hours, when the day has something waiting. |
| Linked repositories | Each folder’s project and branch rules. |
Showing agent activity in the calendar is a separate setting. Hiding it from the calendar doesn’t forget anything.
What suggestions don’t do
- They don’t guess what happened between prompts. Calls, meetings and reading leave no prompts, so that time stays on the project the timer is on.
- They don’t fill in your day. Spindle offers entries only for the stretches the prompts show, never a guess at the rest of the day.
- They don’t second-guess your split. A split you set stays as it is; Spindle only offers to end it when the work changes later.
- They never change an entry on their own. Every split and every new entry waits for your click.
- They don’t watch your screen. Spindle never takes screenshots, logs keystrokes or records apps and windows.