Tracking time in a virtual machine or remote desktop on a Mac
· 6 min read
If you work inside a virtual machine or a remote desktop window, your Mac sees one app in front for hours and cannot see what is happening inside it. That is not a bug in any tracker; it is how the window works. You can still get an honest answer to “how long was I at work,” and with a few habits you can get a useful answer to “what was I doing.”
Why the Mac sees only one app
A virtual machine or a remote desktop session is a single app on your Mac. Everything inside it, the other operating system’s windows, its mail, its spreadsheets, is drawn as pixels in one window. From the outside, macOS knows that this one app is in front. It does not know which program is running inside, and it should not.
That has a practical meaning for any time record based on the front app. Eight hours in a remote session shows up as eight hours on one line, named after the app that hosts the session. The record is correct about the hosting app and silent about the contents.
This is also a privacy feature. A tool that could read the contents of that window would need permissions most people would rather not grant, and a work session often holds things that belong to an employer or a client.
Decide what you need to know
Before you try to extract more, ask what question you are answering.
- How long was I connected? The hosting app’s line answers this directly.
- How many hours did I work today? The same line, plus any native Mac apps you used around it, answers this.
- What did I spend the time on? The Mac cannot tell you. The system inside the window might keep its own history, and your employer or client may control it, so ask them before relying on it.
Most people who search for this are in the first or second group: a contractor who logs into a client’s desktop, a student in a remote lab, an employee on a company machine reached from a personal Mac. For them the host line is the number they need.
Read the host line as your session record
Open whatever you use to see time per app and look for the remote or virtual machine app. Three things to check:
- Walking away. If you leave the session window in front and your Mac stays awake, the hosting app stays in front and the time can look like work. If you switch to another app or the Mac sleeps, the record reflects it.
- Switching in and out. If you jump between the remote window and native apps, each stretch is its own piece of the day. Add them up for the full workday.
- The browser. If the remote session runs in a browser tab rather than a separate app, the host is the browser, and the time lands on the browser line.
For the third case there is a useful extra. Punchcard’s optional itemized browsing can print browser time as the sites you used, so a session in a web-based remote tool shows as that site’s name instead of just the browser. It works in Chrome, Brave, Edge and Vivaldi, never reads Private or Incognito windows, and keeps only the site name, never the full address or page title. It is off by default.
Add the context the Mac cannot see
If you need the “what,” supply it yourself, in a way that costs almost nothing.
- When you start a session, jot one line in a notes file with the date and the task.
- When you finish, add the end time and one more line about what got done.
- Match those notes against the host line’s totals at the end of the week.
The notes carry the meaning, and the tracked time carries the duration. Neither depends on the other being perfect, and the match catches the days you forgot to write something down.
If the remote system has its own login or session history, its owner can read it, and it may be the best source in a dispute. See Proving your hours when a client disputes an invoice for how to combine sources without guessing.
Where Punchcard fits, and where it does not
Punchcard sits in the menu bar, notices which app is in front, and at the closing time you set prints a paper receipt: the top five apps with time on each, the rest as MISC, and a day total. For a remote-desktop day, the receipt will show the hosting app near the top and the day total beside it. That is a clean record of how long you were at the desk.
It will not show anything about what ran inside the session. It records app names only, never window titles or screen contents, and it needs no Accessibility or Screen Recording permission. It has no per-project or per-client tracking and no manual timers. If you need hours divided among clients, you will need your own notes or the client’s log.
Tracking is free and does not expire, the first two receipts are free, and the CSV export works without a license. After the first two, printing receipts needs the license: $9 once.
For a quick way to see how long any app has been open, How to see how long an app has been open on a Mac covers the built-in tools. And if your remote work is mostly in a web page, Web apps vs desktop apps explains how the browser line behaves.
Questions
Can a Mac time tracker see what I do inside a virtual machine?
Not through the window. The Mac sees one app. Any record of what happens inside has to come from inside, from the system itself or from your own notes.
Does a remote session keep counting when I walk away?
If the remote window stays in front and your Mac stays awake, the hosting app stays in front. Let the Mac sleep when you leave, and the record reflects it. See Sleep, screensaver and lid close for how each one is handled.
Should I tell my client or employer I am tracking my own time?
If the session is on their system, check their policy. A personal record of app names on your own Mac is separate from anything on their machine, but good faith is cheap.